2 つの AZ のパブリックサブネットに簡易 Web サーバーを乗せた EC2 を起動し、Network Load Balancer (NLB) とターゲットグループを作成・登録して、レイヤー 4 (TCP) の負荷分散とヘルスチェックをコンソールだけで確認します。土台の VPC とサブネットは CloudFormation で事前構築されています。
このラボでは、レイヤー 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 つの役割の違い も体験します。
cloud_user ロールでサインイン済みであることclouddo-lab- で始まる)t3.micro(無料利用枠/最小構成)に限定されること