オートスケーリングと可用性設計

luagate/autoscaling-availability-intro可用性設計入門20クラウド・インフラ

上から下へ、全 20 枚そのまま並べています。

発表モードで開く

可用性設計入門

オートスケーリングと可用性設計

落ちない・無駄ない 〜負荷に応じて伸縮〜

1
1

目次

今日の流れ

1. スケールの復習

2. オートスケーリングとは

3. 高可用性の設計

4. 障害を想定した備え

5. まとめと振り返り

2
2
可用性設計入門 - イントロ

今日のゴール

この時間で身につけてほしいことです。

  • 負荷に応じて自動で増減できると分かる
  • コストと安定の両立をイメージできる
  • リージョンとAZによる冗長化を理解できる
  • 単一障害点をなくす考え方が分かる
  • 障害を想定した設計の大切さをおさえられる
10
3
可用性設計入門 - イントロ

復習 スケールアップとスケールアウト

以前学んだ2つの増やし方を思い出すと、性能を上げる方法は大きく2通りありました。

スケールアップとスケールアウト

スケールアップは1台の性能そのものを上げる方法、スケールアウトは台数を増やして全体でさばく方法。今日学ぶオートスケーリングは、このスケールアウトを自動で行う発想につながる。

スケールアップは1台を強くする

スケールアウトは台数を増やす

今日は台数を自動で増減する話

以前の学びがそのまま土台になる

11
4
可用性設計入門 - イントロ

オートスケーリング とは

アクセスの多い少ないに合わせて、サーバーの台数を自動で増やしたり減らしたりすることです。

オートスケーリング(Auto Scaling)

負荷の状況を見ながらサーバーやコンテナの台数を自動で増減させる仕組み。混んできたら自動で増やしてさばき、空いてきたら自動で減らして無駄を省く。

負荷を見て台数を自動調整

混んだら増やしてさばく

空いたら減らして節約する

人が張りつかなくてよい

12
5

可用性設計入門 - スケール

2

第2部 オートスケーリング

伸縮でコストと安定を両立

20
6
可用性設計入門 - スケール

自動で増減する流れ

負荷を見ながら台数を増やし、落ち着いたら戻すという一連の動きです。

1. 負荷を見張る

混み具合を常に観察する

2. 増やす

忙しくなったら台数を足す

3. さばく

増えた台数でアクセスを処理する

4. 減らす

落ち着いたら台数を戻す

21
7
可用性設計入門 - スケール

固定台数と自動増減の違い

いつも同じ台数で構える形から、必要なときだけ増やす形へ変わります。

固定台数

  • 常に多めの台数を構える
  • 空いていても費用がかかる
  • 急増にはあふれることがある
  • 調整は人が手で行う

自動で増減

  • 必要なときだけ増やす
  • 空いたら減らして節約
  • 急増にも自動で追従
  • 調整は自動で行われる
22
8
可用性設計入門 - スケール

時間帯ごとのアクセスと台数(イメージ)

アクセスの波に合わせて台数も伸び縮みします。あくまでイメージです。

10 サーバー台数86420
2サーバー台数
5サーバー台数
10サーバー台数
3サーバー台数
早朝
夜のピーク
深夜

出典: アクセスの波に応じた台数の傾向を示す概念図(概算)

23
9

可用性設計入門 - 可用性

3

第3部 高可用性の設計

落ちないための備え

30
10
可用性設計入門 - 可用性

リージョンとAZ とは

クラウドのサーバーが置かれている、地域とその中の建物のような単位です。

リージョンとAZ(Availability Zone)

リージョンは東京や大阪などの大きな地域の単位。AZはそのリージョンの中にある、電源や設備が分かれた建物のような単位。複数のAZに分けて置くと、片方が止まっても動き続けられる。

リージョンは大きな地域の単位

AZはその中の独立した区画

設備が別々に分かれている

分けて置けば片方が止まっても安心

31
11
可用性設計入門 - 可用性

多拠点で冗長化する

以前学んだ冗長化を思い出すと、同じものを複数用意して片方が壊れても止まらないようにする考え方でした。

  • 同じ構成を複数のAZに置く
  • 片方のAZが止まっても動き続ける
  • 以前学んだ冗長化の考え方そのもの
  • データのコピーも複数拠点に持つ
  • 地域全体の障害には複数リージョンで備える
32
12
可用性設計入門 - 可用性

単一障害点 とは

そこが壊れると全体が止まってしまう、たった一つの弱点のことです。

単一障害点(SPOF)

システムの中で、そこが壊れると全体が止まってしまう一点のこと。橋が一本しかない島のようなもので、その一点を二重三重にして弱点をなくすのが高可用性設計の基本になる。

そこが壊れると全体が止まる弱点

橋が一本しかない島のイメージ

二重三重にして弱点をなくす

設計でなるべく無くしていく

33
13

可用性設計入門 - 設計

4

第4部 障害を想定した設計

稼働率を守るために

40
14
可用性設計入門 - 設計

復習 稼働率とSLA

以前学んだ稼働率とSLAを思い出すと、どれだけ止まらず動けるかを表す約束ごとでした。

稼働率とSLA

稼働率はサービスが正常に動いている時間の割合。SLAは提供側が約束する品質の基準で、どれだけ止めないかの目標になる。高可用性設計は、この稼働率を高く保つための備えと言える。

稼働率は止まらず動けた割合

SLAは品質の約束ごと

高い稼働率を保つのが目標

今日の備えはそのための設計

41
15
可用性設計入門 - 設計

無駄が出る設計と落ちにくい設計

台数の構え方と拠点の分け方で、コストと安定が変わります。

無駄が出やすい
落ちにくく無駄ない

台数

常に多めで固定

負荷に応じて自動増減

拠点

1か所に集中

複数のAZに分散

弱点

単一障害点が残る

二重三重で備える

43
16
可用性設計入門 - まとめ
クイズ

振り返りクイズ

今日の内容を確認しましょう。

そこが壊れると全体が止まってしまう一点を表す言葉はどれ?

A
オートスケーリング
B
単一障害点
C
スケールアップ
D
ロードバランシング
50
17
可用性設計入門 - まとめ
答え

振り返りクイズ 解答

そこが壊れると全体が止まってしまう一点を表す言葉はどれ?

A
オートスケーリング
B
単一障害点
C
スケールアップ
D
ロードバランシング

単一障害点は、そこが壊れると全体が止まってしまうたった一つの弱点のことです。重要な部分を複数台や複数のAZに分けて、この弱点をなくすのが高可用性設計の基本になります。

51
18
可用性設計入門 - まとめ

質疑・次回予告

今日のまとめと、次に学ぶテーマです。質問があればここで受け付けます。

今日のおさらい
  • 負荷に応じて自動で台数を増減
  • 複数のAZで冗長化して落ちにくく
  • 単一障害点をなくして稼働率を守る
次回予告
  • マルチクラウドとハイブリッド 〜使い分ける〜
  • 複数の雲を組み合わせる考え方を学ぶ
52
19
"

オートスケーリングは負荷に応じて台数を伸縮させ、無駄なく安定をさばく。複数の拠点で冗長化し、単一障害点をなくせば、落ちないシステムに近づく。落ちない・無駄ないを両立する設計こそ、安心を支える土台です。

可用性設計入門

53
20