Application Load Balancer の加重ターゲットグループを設定する方法を教えてください。

所要時間2分
0

Application Load Balancer の加重ターゲットグループを登録しようと考えています。

解決方法

以下の手順を実行してターゲットグループをロードバランサーに登録し、ターゲットグループに加重を設定します。

ターゲットグループの作成

1.    Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。

2.    Amazon EC2 インスタンスが配置されている AWS リージョンを選択します。

3.    ナビゲーションペインの [ロードバランシング] で、[ターゲットグループ] を選択します。

4.    最初のターゲットグループを作成します。     
[ターゲットグループの作成] を選択します。
[ターゲットグループ名] で、ターゲットグループの名前を指定します。
ターゲットグループのプロトコル、ポート、仮想プライベートクラウド (VPC) を設定します。
[作成] を選択します。
[インスタンス] では、1 つ以上のインスタンスを選択します。
インスタンスのポートを指定します。
[登録済みに追加] を選択し、[保存] を選択します。

5.    ステップ 4 を繰り返して 2 つ目のターゲットグループを作成します。

Application Load Balancer の作成

**注:**すでに Application Load Balancer をお持ちの場合は、次のセクションに進んでください。

1.    ナビゲーションペインの [ロードバランシング] で、[ロードバランサー] を選択します。

2.    [ロードバランサーの作成] を選択します。

3.    [ロードバランサータイプの選択][Application Load Balancer] を選択します。

4.    [続行] を選択します。

5.    「Application Load Balancer の作成」の手順を完了します。

6.    「ルーティングの設定」の手順を完了します。
[ターゲットグループ] では、[既存のターゲット] を選択します。
[名前] では、最初に作成したターゲットグループを選択します。
[次へ] を選択します。 ターゲットを登録します

7.    [登録済みターゲット] ページでは、ターゲットグループに登録されたインスタンスが [登録済みインスタンス] の下に表示されます。ここでは登録済みのターゲットを変更することはできません。

8.    [レビュー] ページで、[作成] を選択します。

9.    ロードバランサーが作成されたことを通知されたら、[閉じる] を選択します。

10.    ロードバランサーを選択します。

リスナールールを構成し、ターゲットグループに加重を追加する

1.    [リスナー] タブで、[ルールの表示/編集] を選択します。

2.    [ルールの編集] (鉛筆アイコン) を選択します。

3.    [転送先] オプションの横にある [編集] を選択します。

4.    他のターゲットグループを追加します。

5.    ターゲットグループのウェイト値を入力します。これらの値は 0 から 999 までの数値である必要があります。

6.    [チェックマーク] を選択し、[更新] を選択します。

7.    (オプション) ターゲットグループがスティッキーの場合、[グループレベルの維持設定] を設定します。この設定を構成すると、ルーティングされたリクエストはセッションの間、ターゲットグループに残ります。デフォルトの値は 1 時間です。セッションの期間が終了すると、リクエストはターゲットグループのウェイトに基づいて分散されます。

注: アプリケーションロードバランサーは、ターゲットグループへのトラフィックをウェイトに基づいて分散します。ターゲットグループのすべてのターゲットがヘルスチェックに失敗した場合、アプリケーションロードバランサーはリクエストを別のターゲットグループにルーティングまたはフェイルオーバーしません。ターゲットグループに健康ではない登録済みターゲットのみが存在する場合、ロードバランサーノードは健康ではないターゲットにリクエストをルーティングします。ターゲットグループのすべてのターゲットが健康ではない場合、フェイルオーバーのメカニズムとしてウェイト付きターゲットグループを使用しないでください。

例えば、最初のターゲットのウェイトが 70% で、2 番目のターゲットが 30% の場合、ほとんどのリクエストは最初のターゲットグループからのものです。

$ for X in `seq 6`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done

<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>

2 番目のターゲットのウェイトを 70%、最初のターゲットを 30% に設定すると、ほとんどのリクエストは 2 番目のターゲットグループからのものです。

$ for X in `seq 7`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done

<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>If all targets in a target group fail health checks, then the Application Load Balancer doesn't automatically route or failover the requests to another target group