ALBとは?
ChatGPTに質問しました。
Q:ALBに関して5行程度で教えてください。
A:
AWSのALB(Application Load Balancer)は、アプリケーション層(レイヤー7)で動作する負荷分散サービスです。
リクエストの内容に基づいてトラフィックを振り分けるため、パスベースやホストベースのルーティングが可能です。
例えば、特定のURLやHTTPヘッダーに応じて異なるサーバー群に振り分けることで、柔軟なトラフィック管理ができます。
また、複数のAZ(アベイラビリティゾーン)にまたがる高可用性も備えており、HTTPSなどのセキュアな接続もサポートします。
EC2編で少し言及したELBの一種です。
今回はHTTPS対応しますが、SSL/TLSサーバー証明書の取得手順は別の記事に記載します。
作業内容
ロードバランサーを作成
EC2>ロードバランシング>ロードバランサーと進み、[ロードバランサーの作成]を押す
「ロードバランサータイプ」でALBの[作成]を押す
「ロードバランサー名」を入力する
※本記事ではproject-dev-alb
「ネットワークマッピング」で下記入力
- 「VPC」でproject-dev-vpcを選択
- 「アベイラビリティーゾーン」でap-northeast-1a, ap-northeast-1cにチェックを入れる
- サブネットがそれぞれpublicを選択していることを確認
「セキュリティグループ」でproject-dev-alb-sgを選択
[ターゲットグループの作成]を押す
- 「ターゲットタイプの選択」でインスタンスが選択されていることを確認
- 「ターゲットグループ名」にproject-dev-tgを入力
「VPC」でproject-dev-vpcを選択
[次へ]を押す
project-dev-ec2にチェックを入れて、[保留中として以下を含める]を押す
「ターゲット」に追加されていることを確認して[ターゲットグループの作成]を押す
- 先ほどのロードバランサーの作成画面に戻り、更新ボタンを押して、project-dev-tgを選択する
- 「プロトコル」をHTTPSにする
[ロードバランサーの作成]を押す
※余談
この段階で、EC2>ターゲットグループ>project-dev-tgと開くと、ヘルスチェックに失敗しているが、
Nginxをインスタンスに設定すれば解消するはずなので問題なし。