SAA / ドメイン2 レジリエントなアーキテクチャの設計

重要な内容

Elastic Load Balancing (ELB)

は、複数のターゲットに受信トラフィックを分散するマネージドなサービスです。 インスタンス、、 アドレス、 関数などへリクエストを分散し、で正常なターゲットだけにトラフィックを送ります。

SAA では、ELB を単に「負荷分散するサービス」として覚えるだけでは不十分です。 Application Load Balancer、Network Load Balancer、Gateway Load Balancer、Classic Load Balancer の違いを理解し、 ルーティング、低、固定 IP、 終端、 連携、可用性設計を判断できることが重要です。

Point
  • ELB = Elastic Load Balancing の略です。
  • Elastic は「伸縮する」、Load は「負荷」、Balancing は「均等化」という意味です。
  • つまり ELB は「アクセス負荷を複数の処理先へ分散するサービス」と覚えます。
  • 和訳

概要

は、利用者からのアクセスを受け取り、背後にある複数のサーバーやサービスへ振り分ける入口です。 1 台の インスタンスに直接アクセスさせる構成では、そのインスタンスが停止するとアプリケーション全体が使えなくなります。 ELB を使うと、複数 に配置したターゲットへトラフィックを分散し、障害時には正常なターゲットへ迂回できます。

概要の図 利用者 Elastic Load Balancing AZ-a のターゲット AZ-b のターゲット AZ-c のターゲット ヘルスチェック

SAA では、まずの種類を選びます。 / のパスやホスト名で振り分けるなら 、/ の高性能処理や固定 が必要なら 、ファイアウォールなどの仮想アプライアンスを透過的に挟むなら 、旧世代の単純な負荷分散なら と判断します。

見るポイント代表的な判断
HTTP のパスやホスト名で振り分けたいかApplication Load Balancer を選びます。
TCP/UDP、低、高、固定 IP が必要かNetwork Load Balancer を選びます。
IDS/IPS やファイアウォールアプライアンスを挟みたいかGateway Load Balancer を選びます。
古い EC2-Classic 世代の構成かClassic Load Balancer は移行対象として考えます。
障害に強くしたいか複数 AZ、、 連携を確認します。

主要技術

①ロードバランサーの種類

には複数の種類があります。 SAA では、問題文のプロトコル、ルーティング条件、性能要件、固定 要件、セキュリティ機器要件から選びます。

種類主なレイヤー主な用途判断ポイント
Application Load BalancerLayer 7/、Web アプリ、パスベース、ホストベース、HTTP ヘッダー、 ターゲット、 連携で選びます。
Network Load BalancerLayer 4//、高性能、固定 IP低、大量接続、静的 IP、送信元 IP 保持で選びます。
Gateway Load BalancerLayer 3/4ファイアウォール、IDS/IPS、ネットワークアプライアンストラフィックを透過的に検査機器へ流したい場合に選びます。
Classic Load BalancerLayer 4/7 の旧世代既存の古い構成新規設計では基本的に または へ移行します。
①ロードバランサーの種類の図 はい いいえ はい いいえ はい いいえ ロードバランサー選定 HTTP/HTTPS の内容で振り分けますか? Application Load Balancer TCP/UDP・固定IP・高性能が必要ですか? Network Load Balancer セキュリティアプライアンスを挟みますか? Gateway Load Balancer 既存なら CLB / 新規なら ALB または NLB を再検討
Point
  • ALB = Application Load Balancer の略です。
  • NLB = Network Load Balancer の略です。
  • GWLB = Gateway Load Balancer の略です。
  • CLB = Classic Load Balancer の略です。
  • 試験では、ALB は HTTP の中身を見る、NLB はネットワーク接続を高速にさばく、GWLB は検査機器を挟む、と整理します。

⚠️ 頻出: 「パス /api と /images で別ターゲットへ振り分ける」は ALB、「固定 IP が必要」は NLB、「仮想ファイアウォール群へ透過的に流す」は です。


②Application Load Balancer

はアプリケーション層、つまり / の内容を見てルーティングするです。 Web アプリケーション、、、 連携でよく使います。

ALB の中心要素は、、ルール、です。 リスナーはポートとプロトコルで接続を待ち受けます。 ルールは条件に応じてどのターゲットグループへ転送するかを決めます。 ターゲットグループは実際の転送先をまとめる単位です。

②Application Load Balancerの図 Host: api.example.com Path: /images/* Default 利用者 HTTPS Listener :443 Listener Rule API Target Group Image Target Group Default Target Group EC2 / ECS / IP EC2 / ECS / IP Lambda
ALB の機能用途試験での判断ポイント
パスベースルーティング/api、/static などで振り分けマイクロサービス分割で頻出です。
ホストベースルーティングapi.example.com、admin.example.com で振り分け複数ドメインを 1 つの ALB で扱えます。
HTTP ヘッダー・クエリ条件リクエスト内容で詳細に制御高度なアプリケーションルーティングで使います。
HTTPS 終端 証明書で を終端バックエンドの暗号化負荷を減らせます。
Lambda ターゲットLambda 関数を直接呼び出し Web で使えます。
連携Web 攻撃対策や悪意あるリクエストの防御で検討します。

ALB は 、HTTP/2、gRPC などにも対応します。 ただし、 をそのまま通したい場合や、TLS をバックエンドで復号したい場合は、 の TCP リスナーを検討します。

ターゲットグループのルーティングアルゴリズムは、既定のラウンドロビンのほか、最小未処理リクエスト(Least outstanding requests)と加重ランダムから選べます。リクエストごとに処理の重さが大きく異なる場合は、処理中のリクエストが最も少ないターゲットへ送る最小未処理リクエストにすると、特定のターゲットへの偏りを抑えられます。最小未処理リクエストと加重ランダムは、スロースタートと併用できません。

⚠️ 頻出: 「HTTP リクエストのパス、ホスト名、ヘッダーで振り分ける」は ALB です。NLB は HTTP の中身を見た柔軟なルーティングには向きません。


③Network Load Balancer

はトランスポート層のです。 、、 などの接続を高性能に処理し、大量の接続や低が必要なワークロードに向きます。 また、ロードバランサーに固定 が必要な場合にも候補になります。

NLB の特徴用途判断ポイント
Layer 4 負荷分散TCP/UDP/TLS 以外のプロトコルや低レイテンシ通信で使います。
固定 IP / 許可リスト登録、固定宛先クライアント側で IP 固定が必要な場合に選びます。
送信元 IP の保持クライアント IP をターゲットで確認アプリ側で送信元 IP が必要な場合に有効です。
高大量接続、急増するトラフィック高性能な ロードバランサーとして使います。
TLS TLS 終端証明書管理と復号を NLB 側へ寄せられます。
ターゲットNLB の背後に ALB を置く構成固定 IP と HTTP ルーティングを組み合わせたい場合に検討します。

NLB は ごとにロードバランサーノードを作ります。 クロスゾーン負荷分散を有効にすると、各ノードがすべての有効 AZ のターゲットへ分散できます。 NLB ではクロスゾーン負荷分散が既定で無効で、無効な場合は基本的に同じ AZ 内のターゲットへ分散するため、AZ ごとのターゲット数の偏りに注意します。ALB では既定で有効です。

③Network Load Balancerの図 クライアント Network Load Balancer AZ-a の NLB ノード AZ-b の NLB ノード AZ-a のターゲット AZ-b のターゲット

⚠️ 頻出: 「TCP/UDP の高性能ロードバランシング」「静的 IP」「Elastic IP を割り当てたい」「送信元 IP を保持したい」は NLB を選びます。


④Gateway Load Balancer と Classic Load Balancer

は、サードパーティや自作のネットワーク仮想アプライアンスをスケールさせるためのです。 ファイアウォール、侵入検知、侵入防止、パケット検査などの機器を複数台並べ、トラフィックを透過的に流す用途で使います。

④Gateway Load Balancer と Classic Load Balancerの図 アプリケーション VPC GWLB Endpoint Gateway Load Balancer Firewall / IDS 1 Firewall / IDS 2 外部ネットワーク
種類試験での位置づけ注意点
Gateway Load Balancerセキュリティアプライアンスの透過的なスケール通常の Web アプリ振り分けではなく、ネットワーク検査用途です。
Classic Load Balancer旧世代のロードバランサー新規設計では または を優先します。

は以前からある旧世代のロードバランサーです。 / と / の基本的な負荷分散に対応しますが、パスベースやホストベースの柔軟なルーティング、中心の設計では ALB/NLB が優先されます。 試験で CLB が出る場合は、既存システムや移行文脈として捉えます。

⚠️ 頻出: 「仮想アプライアンスを水平スケールさせてトラフィック検査」は GWLB です。「新規の Web アプリに CLB」は基本的に選びません。


⑤ヘルスチェック、ターゲットグループ、Auto Scaling

はでターゲットの状態を確認し、正常なターゲットへだけトラフィックを送ります。 と では単位でヘルスチェックを設定します。 グループとターゲットグループを連携すると、起動したインスタンスを自動登録し、終了したインスタンスを自動登録解除できます。

要素役割試験での判断ポイント
クライアントからの接続を受けるプロトコルとポートを設定します。
ルール条件に応じて転送先を決めるALB ではパスやホスト名で振り分けます。
ターゲットグループ転送先ターゲットのまとまりヘルスチェック、ポート、プロトコルを管理します。
ヘルスチェック正常なターゲットを判定する異常なターゲットには送らない設計にします。
Deregistration delay登録解除時の待機処理中リクエストを安全に完了させます。
Auto Scalingターゲット数を自動調整ELB と組み合わせて可用性と性能を確保します。
⑤ヘルスチェック、ターゲットグループ、Auto Scalingの図 インスタンス起動 ターゲットとして登録 ヘルスチェック Healthy トラフィック転送 スケールイン時に登録解除 Deregistration delay 中は既存処理を待機 Auto Scaling Group EC2 Instance Target Group Load Balancer

ターゲットタイプには、インスタンス、 アドレス、 などがあります。 IP ターゲットを使うと、 内の IP、ピアリング先、 や 経由のリソースなどを登録できる場合があります。 では、同じ 上の複数タスクを異なるポートで登録できるため、ALB と の組み合わせがよく使われます。

⚠️ 頻出: 「Auto Scaling で増えた EC2 に自動でトラフィックを流したい」は、Auto Scaling グループを ELB のターゲットグループに連携します。


⑥セキュリティ、TLS、監視、DNS

インターネット向けはパブリックに公開され、内部ロードバランサーは 内からのみ利用します。 、、ルート、NACL、ターゲット側の許可設定を合わせて確認します。 にはセキュリティグループを関連付け、ターゲット側では ALB のセキュリティグループからの通信だけを許可する設計が基本です。

ALB 自身のセキュリティグループは、インバウンドとアウトバウンドを分けて考えます。 インターネット向け ALB のインバウンドは、のポートに対して 0.0.0.0/0 からの通信を許可します。 利用者の を事前に絞れないため、ここを狭めると正規の利用者を止めてしまいます。 ターゲットのセキュリティグループを送信元に指定したインバウンドルールは向きが逆で、ALB へ入る通信の許可にはなりません。

アウトバウンドは、ターゲットのセキュリティグループを宛先として、必要なポートだけを許可します。 見落としやすいのがです。 のヘルスチェックポートがリスナーの転送先ポートと違う場合、その両方へのアウトバウンドが必要です。 転送先のポートだけを許可すると、ヘルスチェックだけが失敗し、ターゲットが unhealthy のままトラフィックが流れません。

ルールの向き送信元または宛先ポート目的
インバウンド0.0.0.0/0リスナーのポートインターネットからのリクエストを受けます。
アウトバウンドターゲットのセキュリティグループ転送先のポートターゲットへリクエストを転送します。
アウトバウンドターゲットのセキュリティグループヘルスチェックのポートターゲットの状態を確認します。

送信元や宛先には、 の代わりにセキュリティグループの ID を指定できます。 ALB やターゲットの IP が変わっても書き換えが要らないため、を保ちやすくなります。 セキュリティグループはなので、応答を通すための戻り方向のルールは不要です。

⚠️ 頻出: 「ALB のセキュリティグループに最小権限で付けるルール」は、インバウンドがリスナーのポートのみ、アウトバウンドが転送先のポートとヘルスチェックのポートの 2 つ、と数えます。

観点関連機能判断ポイント
終端 + HTTPS リスナー証明書管理と 終端をロードバランサー側に寄せます。
エンドツーエンド暗号化HTTPS ターゲット / パススルーバックエンドまで暗号化したい場合に考えます。
Web 攻撃対策 + ALB のリクエスト制御に使います。
Alias の DNS 名へ独自ドメインを向けます。
監視 5xx、ターゲット応答時間、HealthyHostCount などを見ます。
ログアクセスログ、接続ログトラブルシューティングや監査に使います。

ALB で HTTPS リスナーを使うと、ACM の証明書で TLS を終端できます。 ロードバランサーで復号し、ターゲットへ で送る構成もありますが、バックエンドまで暗号化が必要な場合はターゲット側も HTTPS にします。 暗号化された通信をロードバランサーで復号せずに通したい場合は、NLB の TCP リスナーを検討します。 ALB はターゲットの証明書を検証しないため、ターゲット側の HTTPS には自己署名証明書も使えます。 HTTPS リスナーがクライアントと交渉する TLS のバージョンと暗号スイートは、リスナーのセキュリティポリシーで決まります。CLI や で作ったリスナーの既定のポリシー (ELBSecurityPolicy-2016-08) は TLS 1.0 と 1.1 も受け付けるため、TLS 1.2 以上に限りたい場合は、既存のリスナーのセキュリティポリシーを TLS 1.2 以上だけを許可するものへ変更します。

⑥セキュリティ、TLS、監視、DNSの図 HTTPS HTTP または HTTPS Client ALB + ACM 証明書 Target Group Route 53 Alias AWS WAF CloudWatch / Access Logs

⚠️ 頻出: 「独自ドメインで ELB に向ける」は Route 53 Alias レコードを使います。「ALB で Web 攻撃対策」は AWS WAF 連携を選びます。


試験対策

SAA の 問題は、最初に種別を選ぶと整理しやすいです。 / の内容で振り分けるなら 、/ や固定 なら 、セキュリティアプライアンスを透過的に挟むなら 、旧世代の既存構成なら と判断します。

次に、可用性を確認します。 複数 にロードバランサーを配置し、各 AZ にターゲットを用意し、で異常ターゲットを外す設計が基本です。 と連携すると、負荷に応じてターゲットを増減できます。

問題文のキーワード優先して考える機能理由
パスやホスト名で振り分けALBHTTP/HTTPS の内容に基づく ルーティングができます。
gRPC、、HTTP/2ALBアプリケーション層のプロトコル対応で検討します。
TCP/UDP、高性能、低NLB の高性能ロードバランシングに向きます。
固定 IP、NLBロードバランサーの IP 固定要件に対応できます。
ファイアウォール群へ透過的に流すGWLBネットワークアプライアンスのスケールに使います。
Web 攻撃対策ALB + L7 のリクエスト検査ができます。
HTTPS 証明書を簡単に管理 + HTTPS 終端をロードバランサー側で扱えます。
Auto Scaling と連携起動・終了する を自動登録できます。
独自ドメインで ELB に向ける AliasELB の 名へ安定してルーティングできます。
試験対策の図 はい いいえ はい いいえ はい いいえ ELB 試験問題 HTTP/HTTPS の内容で判断しますか? ALB 固定 IP・TCP/UDP・高性能ですか? NLB ネットワーク検査機器ですか? GWLB CLB は旧世代。ALB/NLB を再検討 複数 AZ + ヘルスチェック Auto Scaling 連携 CloudWatch / Access Logs

よくある誤答は、ALB と NLB の境界を混同することです。 ALB は HTTP の中身に基づく判断が得意です。 NLB は TCP/UDP の接続処理、固定 IP、低レイテンシ、高が得意です。 「HTTPS だから必ず ALB」ではなく、TLS を終端するのか、暗号化された TCP をそのまま通すのかを確認します。

コスト面では、ロードバランサーの稼働時間、処理したトラフィック量、LCU/NLCU、クロスゾーン通信、ログ保存、WAF 連携などが影響します。 ALB は、稼働している時間ごとの料金と、使用した LCU(新しい接続数、アクティブな接続数、処理したバイト数、ルール評価のうち最も多い指標)に課金されます。時間料金はロードバランサーごとにかかるため、トラフィックの少ないサービスごとに ALB を分けると時間料金が台数分重なります。ホストベースルーティングで複数のドメインを 1 つの ALB にまとめ、サービスごとのターゲットグループへ振り分けると、時間料金を 1 台分にできます。ルールが 10 個を超えると、ルール評価が LCU の計算に入ります。 ロードバランサーが使うパブリック IPv4 アドレスにも、通常のアドレス料金がかかります。 SAA では料金の数値暗記より、ALB/NLB/GWLB の選定、可用性、セキュリティ、運用負荷のトレードオフを重視します。


参考文献

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

検索

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