Network Load Balancer を作成して TCP 負荷分散を構成する

2 つの AZ のパブリックサブネットに簡易 Web サーバーを乗せた EC2 を起動し、Network Load Balancer (NLB) とターゲットグループを作成・登録して、レイヤー 4 (TCP) の負荷分散とヘルスチェックをコンソールだけで確認します。土台の VPC とサブネットは CloudFormation で事前構築されています。

中級45Azure 実環境

ラボ概要

このラボでは、レイヤー 4 (TCP) で動作する Network Load Balancer (NLB) をゼロから構築します。2 つの異なるアベイラビリティーゾーン(AZ)のパブリックサブネットに、簡単な HTTP サービスを動かす t3.micro の EC2 を 1 台ずつ起動し、ターゲットグループに登録します。その上で TCP リスナーを持つインターネット向け NLB を作成し、クロスゾーン負荷分散を有効化したうえで、TCP 負荷分散とヘルスチェックによる不健全ターゲットの自動切り離しを確認します。

NLB は、HTTP/HTTPS を解釈する Application Load Balancer (ALB) と異なり、TCP/UDP のレイヤー 4 で超低レイテンシー・高スループットにトラフィックを振り分けます。本ラボでは確認をわかりやすくするため、バックエンドに HTTP サービス(TCP/80)を使います。土台となる VPC・パブリックサブネット(2 AZ)・インターネットゲートウェイは、ラボ開始時に CloudFormation で自動構築済みです。

なお現在の NLB は、クライアントからのアクセスを制御するセキュリティグループを NLB 自身にも 付与できます(2023 年 8 月以降)。本ラボでは、NLB 用のセキュリティグループ(クライアント → NLB の通信を許可)と、ターゲット EC2 用のセキュリティグループ(NLB・ヘルスチェック → EC2 の通信を許可)の 2 つの役割の違い も体験します。

学習目標

  • NLB(レイヤー 4 / TCP)と ALB(レイヤー 7 / HTTP)の違いを理解する
  • 2 つの AZ にまたがって EC2 バックエンドを配置し、可用性を高める
  • TCP プロトコルのターゲットグループを作成し、インスタンスを登録する
  • NLB のクロスゾーン負荷分散を理解し、ターゲットグループ属性で有効化する
  • インターネット向け NLB に TCP リスナーを設定して負荷分散を構成する
  • NLB 自身のセキュリティグループ(クライアント → NLB)と、ターゲット側セキュリティグループ(NLB → EC2)の役割の違いを理解する
  • ヘルスチェックの動作と、不健全ターゲットが自動で切り離される様子を確認する

前提

  • フェデレーテッドコンソールに cloud_user ロールでサインイン済みであること
  • すべての操作を 東京リージョン(ap-northeast-1) で行うこと
  • 土台の VPC・サブネット・インターネットゲートウェイは CloudFormation で自動作成済み(名前はすべて clouddo-lab- で始まる)
  • 使用するインスタンスは t3.micro(無料利用枠/最小構成)に限定されること
  • SSH キーペアは不要(インスタンスはユーザーデータで自動構成される)

ラボの構成

  1. 1事前作成された VPC とサブネットを確認する
  2. 2セキュリティグループを 2 つ作成する
  3. 3バックエンド用の EC2 インスタンスを 2 台起動する
  4. 4ターゲットグループを作成する
  5. 5ターゲットグループでクロスゾーン負荷分散を有効化する
  6. 6Network Load Balancer を作成する
  7. 7動作確認
  8. 8完了チェックリスト
  9. 9後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

SAA-C03AWS Solutions Architect – Associate練習テスト 4 回・全 200ANS-C01AWS Advanced Networking – Specialty練習テスト 4 回・全 200