Application Load Balancer
ALBの作成
Classic Load Balancerに代わるApplication Load Balancerの使用には、次のメリットがあります。
- パスベースのルーティングのサポート。
リクエスト内の URL に基づいてリクエストを転送するリスナーのルールを設定できます。
これにより、アプリケーションをより小さなサービスとして構成し、URL の内容に基づいて適切なサービスにリクエストをルーティングできます。 - 複数のポートを使用するインスタンスの登録による、単一の EC2 インスタンスの複数のサービスへのリクエストのルーティングのサポート。
- コンテナ化されたアプリケーションのサポート。
Amazon EC2 Container Service (Amazon ECS) は、タスクをスケジュールするときに未使用のポートを選択し、そのポートを使用するターゲットグループにタスクを登録できます。
これにより、クラスターを効率的に使用することができます。 - 各サービスの個別のヘルスステータスのモニタリングのサポート。
ヘルスチェックがターゲットグループレベルで定義され、多数の CloudWatch メトリクスがターゲットグループレベルで報告されます。
ターゲットグループを Auto Scaling グループにアタッチすることで、各サービスをオンデマンドで動的にスケールすることができます。 - アクセスログへの情報の追加と圧縮形式での保存。
- ロードバランサーのパフォーマンスの向上。
ロードバランサー名とIPアドレスタイプを指定
この名前は AWS アカウントに対して一意で、最大 32 文字の英数字またはハイフンのみを使用する必要があり、ハイフンで始まるか終わっていてはなりません。
サブネットで使用する IP アドレスとして、IPv4 (ipv4) または IPv4 および IPv6 (デュアルスタック)。
内部ロードバランサーは、IPv4 を使う必要があります。
リスナーの指定
VPCの指定
セキュリティ設定
SSLでの受付がある場合、証明書の選択
ここでは事前に作成しACMに登録したSSL証明書を選択している。
SSLプロトコルの暗号化ポリシーを選択
デフォルトは多くの端末をサポートしたポリシーとなっている
サイト要件に合わせて可能なら上位ポリシーを採用したほうがいい
セキュリティグループを設定
ターゲットグループ
ロードバランサーは、指定するプロトコルとポートを使用してこのターゲットグループのターゲットにリクエストをルーティングし、これらのヘルスチェック設定を使用してターゲットでヘルスチェックを実行します。
各ターゲットグループは 1 つのロードバランサーのみに関連付けることができることに注意してください。
- ターゲットグループ
ロードバランサーは、デフォルトでこのターゲットグループのターゲットにリクエストをルーティングします。
ロードバランサー VPC に使用していないターゲットグループがある場合は、それを選択できます。
それ以外の場合、このロードバランサーで使用する新しいターゲットグループを作成できます。 - 名前
ターゲットグループの名前には、最大 32 文字の英数字またはハイフンのみを使用でき、ハイフンで始まるか終わっていてはなりません。 - プロトコル
このターゲットグループのターゲットにトラフィックをルーティングするときにロードバランサーが使用するプロトコル。 - ポート
このターゲットグループのターゲットにトラフィックをルーティングするときにロードバランサーが使用するポート - ターゲットの種類
ターゲットタイプは、ターゲットがインスタンス ID またはプライベート IP アドレスのどちらを使用して登録されているかを示します。
ヘルスチェック
- プロトコル
このターゲットグループのターゲットでヘルスチェックを実行するときにロードバランサーが使用するプロトコル(HTTP/HTTPS)。 - パス
ヘルスチェックの配置先のパス。このパスは '/' 文字で始まり、最大文字数は 1024 文字までである必要があります。 - ポート
ターゲットでヘルスチェックを実行するときにロードバランサーが使用するポート。
デフォルトは、ロードバランサーから各ターゲットがトラフィックを受け取るポートですが、別のポートを指定することもできます。 - 正常の閾値
非正常なインスタンスが正常であると見なすまでに必要なヘルスチェックの連続成功回数 (2~10)。 - 非正常の閾値
非正常なインスタンスが非正常であると見なすまでに必要なヘルスチェックの連続失敗回数 (2~10)。 - タイムアウト
ヘルスチェックを失敗と見なす、レスポンスがない時間 (2~60 秒)。 - 間隔
個々のターゲットのヘルスチェックの概算間隔 (5~300秒)。 - 成功コード
ターゲットからの正常なレスポンスを確認するために使用する HTTP コード。
複数の値 (例: "200,202") または値の範囲 (例: "200-299") を指定できます。
ターゲットの登録
ターゲットグループにターゲットを登録します。
有効にしたアベイラビリティーゾーンでターゲットを登録する場合、登録処理が完了し、ターゲットが最初のヘルスチェックに合格するとすぐに、ロードバランサーはターゲットへのリクエストのルーティングを開始します。
追加のインスタンスを登録するには、1 つ以上の実行中のインスタンスを選択し、ポートを指定して、[追加] をクリックします。
デフォルトのポートは、ターゲットグループに対して指定されたポートです。
指定されたポートですでにインスタンスが登録されている場合は、別のポートを指定する必要があります。
ALBのステータスがactiveになり
ターゲットグループのヘルスチェックがhealthyになっていれば完了です。
詳細設定
ターゲットグループに対して設定します
- 登録解除の遅延
ターゲットの登録解除中に未処理のリクエストが完了するまで待つ時間。この時間中、ターゲットの状態はストリーミングになります。 - セッション維持方法
このターゲットグループに関連付けられている維持設定のタイプ。
有効にした場合、ロードバランサーはクライアントのセッションをターゲットグループ内の特定のインスタンスにバインドします。
セッション維持方法は「ロードバランサーによって生成された Cookie の維持を有効化」のみ。
維持設定の期間は1 秒から 7 日までの値を指定します。