CLF / ドメイン3 クラウドテクノロジーとサービス

重要な内容

Elastic Load BalancingとEC2 Auto Scaling

(ELB)とは、クラウドのとを実現する2つの中核機能です。 ELBは複数のインスタンスへ通信を分散し、EC2 Auto Scalingは需要に応じてインスタンスの台数を自動調整します。

CLFでは、「分散するのはELB、台数を調整するのはAuto Scaling」という役割の違いと、2つを組み合わせた定番構成を判断できることが重要です。

Point
  • ELB = Elastic Load Balancing の略です。
  • Load Balancer(ロードバランサー) は「負荷分散装置」の意味で、通信を複数の宛先へ振り分ける仕組みです。
  • Elasticity(弾力性) は、需要に合わせてリソースを増減できる性質です。クラウドの重要な利点として試験に登場します。
  • 和訳

概要

では、ピーク時の需要に合わせてサーバーを事前に用意する必要がありました。 クラウドでは、通信を分散すると、台数を自動調整するを組み合わせることで、需要の変化に合わせた構成を維持できます。

概要の図 利用者 Elastic Load Balancing通信を分散 EC2 EC2 EC2 EC2 Auto Scaling台数を自動調整

⚠️ 頻出: 「トラフィックを複数のインスタンスへ分散する」のはELB、「需要に応じてインスタンス数を自動的に増減する」のはEC2 Auto Scalingです。この2つの役割を入れ替えた選択肢が誤答としてよく出ます。


主要技術

①水平スケーリングと垂直スケーリング ⚠️ 頻出

スケーリングとは、アプリケーションの処理能力を増減させることです。 方法には、1台の性能を変えると、台数を変えるがあります。

方式方法判断ポイント問題文のキーワード
垂直スケーリングインスタンス1台の性能を上げ下げします(スケールアップ/スケールダウン)。変更時に停止を伴いやすく、1台の性能には上限があります。サーバーを大きくする、より高性能なへ変更
水平スケーリングインスタンスの台数を増減します(スケールアウト/スケールイン)。台数で対応するため上限に達しにくく、障害にも強い構成にできます。台数を増やす、インスタンスを追加する

が自動化するのは水平スケーリングです。 クラウドのを活かす基本は、複数の小さなインスタンスを並べて台数で調整する考え方です。

Point
  • Scale Up(スケールアップ) = 1台を大きくする、Scale Down(スケールダウン) = 1台を小さくする。垂直(Vertical)方向の変化です。
  • Scale Out(スケールアウト) = 台数を増やす、Scale In(スケールイン) = 台数を減らす。水平(Horizontal)方向の変化です。
  • 「Up/Downは性能、Out/Inは台数」と覚えます。
  • 和訳

②ELBの役割とロードバランサーの種類

は、インスタンス、、などのターゲットへ、受信した通信を自動的に分散します。 ターゲットのを行い、正常なターゲットにだけ通信を送るため、一部のインスタンスに障害が起きてもサービスを継続しやすくなります。

現行世代のには3つの種類があります。 CLFでは細かな機能よりも、どの層で動き、どんな用途に向くかを区別します。

種類動作する層主なプロトコル用途・判断ポイント
Application Load Balancer()アプリケーション層(層)HTTP、Webアプリケーション向けです。リクエストの内容(URLパスなど)に応じた振り分けができます。
Network Load Balancer()トランスポート層(層)TCP、、高い性能と低い遅延が必要な通信や、静的IPアドレスが必要な場合に使います。
Gateway Load Balancer()ネットワーク層IPパケットファイアウォールなどサードパーティー製の仮想アプライアンスへ通信を分散します。

なお、Classic Load Balancerは旧世代のロードバランサーで、現行世代への移行が推奨されています。

Point
  • ALB = Application Load Balancer、NLB = Network Load Balancer、GWLB = Gateway Load Balancer の略です。
  • 覚え方
    • ALBはApplication=HTTPのやり取りを理解して振り分けます。
    • NLBはNetwork=TCP/UDPを高速に振り分けます。
    • GWLBはGateway=セキュリティ製品などへの入り口になります。
  • 「Webサイト・HTTPならALB、高性能TCP/UDPならNLB」がCLFでの基本の判断です。

③EC2 Auto Scalingの仕組み

では、複数のインスタンスをAuto Scalingグループというまとまりで管理します。 グループには3つのキャパシティ設定があり、この範囲内で台数が自動調整されます。

設定値意味判断ポイント
最小キャパシティこの台数を下回らないように維持します。サービス維持に最低限必要な台数を設定します。
希望キャパシティ現在維持しようとする台数です。スケーリングによってこの値が増減します。
最大キャパシティこの台数を超えないように制限します。増えすぎによるコストの上振れを防ぎます。

需要の変化はの(使用率など)で検知します。 がしきい値を超えると、スケーリングポリシーに従ってインスタンスが追加または削除されます。

③EC2 Auto Scalingの仕組みの図 しきい値を超過 需要増 需要減 CloudWatchメトリクスCPU使用率など CloudWatchアラーム スケーリングポリシー Auto Scalingグループ インスタンス追加スケールアウト インスタンス削除スケールイン

Auto Scalingグループはインスタンスの状態も監視し、異常なインスタンスを終了して新しいインスタンスに置き換え、希望キャパシティを維持します。 つまり、需要への追従だけでなく、常に一定の台数を保つ用途にも使えます。


④スケーリングポリシーの種類

台数をいつ、どのように増減させるかは、スケーリングの方式で決まります。

方式内容用途・判断ポイント
手動スケーリング人が希望キャパシティを変更します。一時的な調整や検証に使います。
動的スケーリングに応じて自動で増減します。需要の変動が事前に読めない場合に使います。使用率を一定に保つターゲット追跡が代表例です。
スケジュールスケーリング指定した日時に増減します。営業時間の開始や月末処理など、需要の変化があらかじめ分かっている場合に使います。
予測スケーリング過去の利用パターンから将来の需要を予測し、事前に増減します。毎日・毎週のような周期的なパターンがあるワークロードに使います。

CLFでは、「需要が読めないなら動的」「時間が決まっているならスケジュール」「周期パターンから先回りするなら予測」と判断できれば十分です。

Point
  • 動的スケーリングの代表である Target Tracking(ターゲット追跡) は、「CPU使用率50%を維持する」のように目標値を決めると、AWSが自動で台数を調整する方式です。
  • Predictive(予測的な) スケーリングは、過去のデータから需要を予測して先にスケールします。
  • 和訳

⑤ELB+Auto Scaling+マルチAZの定番構成 ⚠️ 頻出

が求められるシステムでは、とを組み合わせ、複数の(AZ)へインスタンスを配置する構成が定番です。

⑤ELB+Auto Scaling+マルチAZの定番構成 ⚠️ 頻出の図 アベイラビリティーゾーン A アベイラビリティーゾーン B 利用者 Elastic Load Balancing EC2 Auto Scalingグループ EC2 EC2

この構成では、2つの機能が自動的に連携します。

  • Auto Scalingが起動したインスタンスは、自動的にELBへ登録されます。終了したインスタンスは自動的に登録解除されます。
  • Auto Scalingグループに複数のAZを指定すると、インスタンスはAZ間でバランスよく配置されます。
  • ELBはにより、正常なインスタンスにだけ通信を送ります。

1つのAZに障害が発生しても、別のAZのインスタンスが通信を受け続け、Auto Scalingが必要な台数を回復します。

⚠️ 頻出: 「をなくす」「1つのAZの障害でもサービスを継続する」という問題文では、ELB+Auto Scaling+の組み合わせを考えます。


⑥コストへの効果

この組み合わせは可用性だけでなく、コストの最適化にも役立ちます。

  • 需要が減ったときはスケールインで台数を減らし、使っていないインスタンスの料金を削減できます。
  • ピークに合わせた台数を常時確保する必要がなく、過剰なを避けられます。
  • 自体に追加料金はなく、起動したインスタンスなどのリソース分だけを支払います。
  • は使った分だけ支払うです。

「必要なときに必要な分だけ使い、使った分だけ支払う」というクラウドの料金の考え方を、コンピューティング容量で実現する仕組みと言えます。


試験対策

問題文のキーワードから、どの機能・方式を選ぶかを整理します。

問題文のキーワード選ぶもの理由
トラフィックを複数のインスタンスへ分散通信の振り分けはELBの役割です。
需要に応じてインスタンス数を自動的に増減台数の自動調整はAuto Scalingの役割です。
サーバーをより高性能なものに変更1台の性能を上げる方法です。
インスタンスの台数を増やして対応台数で処理能力を増やす方法です。
/のWebアプリケーションへ振り分けApplication Load BalancerHTTP層で動作し、リクエスト内容に応じて振り分けます。
高性能な/通信、静的Network Load BalancerTCP層で動作する高性能なです。
決まった時刻に台数を増やすスケジュールスケーリング需要の変化が事前に分かる場合の方式です。
周期的なパターンを予測して事前にスケール予測スケーリング過去のパターンから需要を予測します。
1つのの障害でもサービスを継続ELB+Auto Scaling+定番の構成です。
需要減少時にコストを削減EC2 Auto Scaling(スケールイン)不要な台数を減らして支払いを抑えます。

よくある誤答は、ELBとAuto Scalingの役割の入れ替えです。 ELBは通信を分散しますが、インスタンスの台数を増やすことはできません。逆に、Auto Scalingは台数を増減しますが、通信を振り分けることはできません。両方の効果が必要な場面では、2つを組み合わせます。

また、スケールアウト(台数を増やす)とスケールアップ(性能を上げる)の混同にも注意します。 「Auto Scalingでインスタンスを自動的に大きくする」という選択肢は誤りで、Auto Scalingが調整するのは台数です。


参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください