翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Gateway Load Balancer のターゲットグループ
各ターゲットグループは、1 つ以上の登録されているターゲットにリクエストをルーティングするために使用されます。リスナーを作成するときは、デフォルトアクションのターゲットグループを指定します。トラフィックは、リスナールールで指定されたターゲットグループに転送されます。さまざまなタイプのリクエストに応じて別のターゲットグループを作成できます。
Gateway Load Balancer のヘルスチェック設定は、ターゲットグループ単位で定義します。各ターゲットグループはデフォルトのヘルスチェック設定を使用します。ただし、ターゲットグループを作成したときや、後で変更したときに上書きした場合を除きます。リスナールールでターゲットグループを指定すると、Gateway Load Balancer は、Gateway Load Balancer で有効なアベイラビリティーゾーンにある、ターゲットグループに登録されたすべてのターゲットの状態を継続的にモニタリングします。Gateway Load Balancer は、正常な登録済みターゲットにリクエストをルーティングします。詳細については、「ターゲットグループのヘルスチェック」を参照してください。
目次
ルーティング設定
Gateway Load Balancer のターゲットグループは、次のプロトコルとポートをサポートします。
-
プロトコル: GENEVE
-
ポート: 6081
[Target type (ターゲットタイプ)]
ターゲットグループを作成するときは、そのターゲットの種類を指定します。ターゲットの種類は、ターゲットの指定方法を決定します。ターゲットグループを作成した後で、ターゲットの種類を変更することはできません。
可能なターゲットの種類は次のとおりです。
instance
-
インスタンス ID で指定されたターゲット。
ip
-
IP アドレスで指定されたターゲット。
ターゲットの種類が ip
の場合、次のいずれかの CIDR ブロックから IP アドレスを指定できます。
重要
パブリックにルーティング可能な IP アドレスは指定できません。
登録済みターゲット
Gateway Load Balancer は、クライアントにとって単一の通信先として機能し、正常な登録済みターゲットに受信トラフィックを分散します。各ターゲットグループでは、Gateway Load Balancer が有効になっている各アベイラビリティーゾーンで少なくとも 1 つのターゲットが登録されている必要があります。各ターゲットは、1 つ以上のターゲットグループに登録できます。
需要が高まった場合、需要に対処するため、1 つまたは複数のターゲット グループに追加のターゲットを登録できます。Gateway Load Balancer は、登録プロセスが完了するとすぐに、新しく登録したターゲットへのトラフィックのルーティングを開始します。
需要が低下した場合や、ターゲットを保守する必要がある場合、ターゲットグループからターゲットを登録解除することができます。ターゲットを登録解除するとターゲットグループから削除されますが、ターゲットにそれ以外の影響は及びません。登録解除するとすぐに、Gateway Load Balancer はターゲットへのトラフィックのルーティングを停止します。ターゲットは、未処理のリクエストが完了するまで draining
状態になります。トラフィックの受信を再開する準備ができると、ターゲットをターゲットグループに再度登録することができます。
ターゲットグループの属性
ターゲットグループでは次の属性を使用できます。
deregistration_delay.timeout_seconds
-
登録解除するターゲットの状態が
draining
からunused
に変わるのを Elastic Load Balancing が待機する時間。範囲は 0 ~ 3600 秒です。デフォルト値は 300 秒です。 stickiness.enabled
-
設定可能なフローの維持がターゲットグループで有効化されているかどうかを示します。使用できる値は、
true
またはfalse
です。デフォルトは [False] (偽) です。属性がfalse
に設定されている場合、5_tuple が使用されます。 stickiness.type
-
フローの維持設定タイプを示します。Gateway Load Balancers に関連付けられているターゲットグループに指定できる値は次のとおりです。
-
source_ip_dest_ip
-
source_ip_dest_ip_proto
-
target_failover.on_deregistration
-
ターゲットの登録が解除されたときに、Gateway Load Balancer が既存のフローをどのように処理するかを示します。指定できる値は
rebalance
およびno_rebalance
です。デフォルトはno_rebalance
です。2 つの属性 (target_failover.on_deregistration
とtarget_failover.on_unhealthy
) を個別に設定することはできません。両方の属性に設定する値は同じである必要があります。
target_failover.on_unhealthy
-
ターゲットに異常がある場合に、Gateway Load Balancer が既存のフローをどのように処理するかを示します。指定できる値は
rebalance
およびno_rebalance
です。デフォルトはno_rebalance
です。2 つの属性 (target_failover.on_deregistration
とtarget_failover.on_unhealthy
) を個別に設定することはできません。両方の属性に設定する値は同じである必要があります。
登録解除の遅延
ターゲットの登録を解除すると、Gateway Load Balancer は、そのターゲットへのフローを次のように管理します。
- 新しいフロー
-
Gateway Load Balancer は、新しいフローの送信を停止します。
- 既存のフロー
-
Gateway Load Balancer は、プロトコルに基づいて既存のフローを処理します。
-
TCP: 350 秒以上アイドル状態の場合、既存のフローは閉じられます。
-
その他のプロトコル: 120 秒以上アイドル状態の場合、既存のフローは閉じられます。
-
既存のフローをドレインするために、ターゲットグループのフロー再分散を有効にすることができます。詳細については、「ターゲットフェイルオーバー」を参照してください。
登録解除されたターゲットは、タイムアウトが期限切れになるまで、draining
状態であることを示します。登録解除遅延のタイムアウトの期限が切れると、ターゲットは unused
状態に移行します。
コンソールを使用して登録解除の遅延値を更新するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインの [ Load Balancing (ロードバランシング) ] で [ Target Groups (ターゲットグループ) ] を選択します。
-
ターゲットグループの名前を選択して、その詳細ページを開きます。
-
[グループの詳細] ページの [属性] セクションで、[編集] を選択します。
-
[属性の編集] ページで、必要に応じて [登録解除の遅延] の値を変更します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用して登録解除の遅延値を更新するには
modify-target-group-attributes コマンドを使用します。
ターゲットフェイルオーバー
ターゲットフェイルオーバーでは、ターゲットに異常が発生したとき、またはターゲットの登録が解除されたときに、Gateway Load Balancer が既存のトラフィックフローをどのように処理するかを指定します。デフォルトでは、Gateway Load Balancer は、ターゲットに障害が発生した場合や登録が解除された場合でも既存のフローを同じターゲットに引き続き送信します。これらのフローは、再ハッシュする (rebalance
) か、デフォルト状態のままにする (no_rebalance
) ことで管理できます。
- 再分散なし:
-
Gateway Load Balancer は、障害が発生したターゲットまたはドレインされたターゲットに既存のフローを引き続き送信します。ただし、新しいフローは正常なターゲットに送信されます。これがデフォルトの動作です。
- 再分散:
-
Gateway Load Balancer は既存のフローを再ハッシュし、登録解除遅延タイムアウト後に正常なターゲットに送信します。
登録解除されたターゲットの場合、フェイルオーバーまでの最小時間は登録解除の遅延に応じて異なります。ターゲットは、登録解除の遅延が完了するまで登録解除済みとしてマークされません。
異常のあるターゲットの場合、フェイルオーバーまでの最小時間は、ターゲットグループのヘルスチェック設定 (間隔時間のしきい値) に応じて異なります。これは、ターゲットが異常としてフラグが設定されるまでの最小時間です。この時間が過ぎると、Gateway Load Balancer が正常なターゲットに新しいフローを再ルーティングするまでに、追加の伝播時間と TCP 再送信バックオフのために数分かかる場合があります。
新しい EC2 エクスペリエンスを使用してターゲットのフェイルオーバー値を更新するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインの [LOAD BALANCING] で [ターゲットグループ] を選択します。
-
ターゲットグループの名前を選択して、その詳細ページを開きます。
-
[グループの詳細] ページの [属性] セクションで、[編集] を選択します。
-
[属性の編集] ページで [ターゲットフェイルオーバー] の値を変更します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してターゲットのフェイルオーバー値を更新するには
次のキーと値のペアで modify-target-group-attributes コマンドを使用します。
-
キー =
target_failover.on_deregistration
および値 =no_rebalance
(デフォルト) またはrebalance
-
キー =
target_failover.on_unhealthy
および値 =no_rebalance
(デフォルト) またはrebalance
注記
両方の属性 (target_failover.on_deregistration
と target_failover.on_unhealthy
) は同じ値である必要があります。
フローの維持設定
デフォルトでは、Gateway Load Balancer は 5 タプルを使用して、特定のターゲットアプライアンスへのフローの持続性を維持します(TCP/UDP フローの場合)。5 タプルには、送信元 IP、送信元ポート、送信先 IP、送信先ポート、およびトランスポートプロトコルが含まれます。維持の種類属性を使用してデフォルト (5 タプル) を変更し、3 タプル (送信元 IP、送信先 IP、トランスポートプロトコル)または 2 タプル (送信元 IP と送信先 IP) を選択できます。
フローの維持設定に関する考慮事項
-
フローの維持設定はターゲットグループレベルで設定および適用され、ターゲットグループに送信されるすべてのトラフィックに適用されます。
-
2 タプルおよび 3 タプルのフローの維持は、AWS Transit Gateway アプライアンスモードが有効な場合はサポートされません。AWS Transit Gateway でアプライアンスモードを使用するには、Gateway Load Balancer で 5 タプルのフローの維持設定を使用してください。
-
フローの維持設定では接続とフローの分散が不均一になり、ターゲットの可用性に影響することがあります。ターゲットグループの維持タイプを変更する前に、既存のすべてのフローを終了またはドレインすることをお勧めします。
コンソールを使用してフローの維持設定を更新するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインの [ Load Balancing (ロードバランシング) ] で [ Target Groups (ターゲットグループ) ] を選択します。
-
ターゲットグループの名前を選択して、その詳細ページを開きます。
-
[グループの詳細] ページの [属性] セクションで、[編集] を選択します。
-
[属性の編集] ページで [維持設定] の値を変更します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してフローの維持設定を有効化または変更するには
stickiness.enabled
および stickiness.type
のターゲットグループ属性を指定して modify-target-group-attributes コマンドを使用します。