翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
VPC Lattice のターゲットグループ
VPC Lattice ターゲットグループは、アプリケーションまたはサービスを実行するターゲット、つまりコンピューティングリソースのコレクションです。サポートされているターゲットタイプには、EC2 インスタンス、IP アドレス、Lambda 関数、Application Load Balancer、Amazon ECS タスク、Kubernetes ポッドなどがあります。ターゲットグループには既存のサービスをアタッチすることもできます。VPC Lattice での Kubernetes の使用の詳細については、「AWS ゲートウェイ API コントローラのユーザーガイド
各ターゲットグループは、1 つ以上の登録されているターゲットにリクエストをルーティングするために使用されます。リスナーのルールを作成するときに、ターゲットグループと条件を指定します。ルールの条件が満たされると、トラフィックが該当するターゲットグループに転送されます。さまざまなタイプのリクエストに応じて別のターゲットグループを作成できます。例えば、一般的なリクエスト用にターゲットグループを作成し、パスやヘッダー値など、特定のルール条件を含むリクエスト用に別のターゲットグループを作成できます。

サービスのヘルスチェック設定は、ターゲットグループ単位で定義します。各ターゲットグループはデフォルトのヘルスチェック設定を使用します。ただし、ターゲットグループを作成したときや、後で変更したときに上書きした場合を除きます。リスナーのルールでターゲットグループを指定すると、サービスは、ターゲットグループに登録されたすべてのターゲットの状態を継続的にモニタリングします。サービスは、正常な登録済みターゲットにリクエストをルーティングします。
ターゲットグループをサービスリスナーのルールで指定するには、サービスと同じアカウントにそのターゲットグループがある必要があります。
VPC Lattice ターゲットグループは Elastic Load Balancing が提供するターゲットグループと似ていますが、これらには互換性はありません。
内容
ルーティング設定
デフォルトでは、サービスはターゲットグループの作成時に指定したプロトコルとポート番号を使用して、リクエストをターゲットにルーティングします。または、ターゲットグループへの登録時にターゲットへのトラフィックのルーティングに使用されるポートを上書きすることもできます。
ターゲットグループでは、次のプロトコルとポートがサポートされています。
-
プロトコル: HTTP、HTTPS、TCP
-
ポート: 1 ~ 65535
ターゲットグループが HTTPS プロトコルで設定されている場合、または HTTPS ヘルスチェックを使用している場合、ターゲットへの TLS 接続はリスナーのセキュリティポリシーを使用します。VPC Lattice は、ターゲットにインストールした証明書を使用して、ターゲットとの TLS 接続を確立します。VPC Lattice はこれらの証明書を検証しません。したがって、自己署名証明書または期限切れの証明書を使用できます。VPC Lattice とターゲット間のトラフィックはパケットレベルで認証されるため、ターゲットの証明書が有効でなくてもman-in-the-middle攻撃やスプーフィングのリスクはありません。
TCP ターゲットグループは TLS リスナーでのみサポートされます。
ルーティングアルゴリズム
デフォルトでは、ラウンドロビンルーティングアルゴリズムが正常なターゲットへのリクエストのルーティングに使用されます。
リクエストを受け取ると、VPC Lattice サービスは以下のプロセスを使用します。
-
リスナールールを優先度順に評価して、適用するルールを決定します。
-
デフォルトのラウンドロビンアルゴリズムを使用して、ルールアクションのターゲットグループからターゲットを選択します。それぞれのターゲットグループでルーティングは個別に実行され、複数のターゲットグループに登録されているターゲットの場合も同じです。
ターゲットグループに異常なターゲットのみが含まれている場合、そのヘルスステータスにかかわらず、リクエストはすべてのターゲットにルーティングされます。つまり、すべてのターゲットが同時にヘルスチェックに失敗すると、VPC Lattice サービスがオープンに失敗します。フェイルオープンの効果は、ヘルスステータスにかかわらず、ラウンドロビンアルゴリズムに基づいて、すべてのターゲットへのトラフィックを許可することです。
[Target type (ターゲットタイプ)]
ターゲットグループを作成するときは、そのターゲットの種類を指定します。それにより、このターゲットグループ内でターゲットを登録するときに指定するターゲットの種類が決定されます。ターゲットグループを作成した後で、ターゲットタイプを変更することはできません。
可能なターゲットの種類は次のとおりです。
INSTANCE
-
インスタンス ID で指定されたターゲット。
IP
-
ターゲットは IP アドレスです。
LAMBDA
-
ターゲットは Lambda 関数です。
ALB
-
ターゲットは Application Load Balancer です。
考慮事項
-
ターゲットタイプが
IP
である場合、ターゲットグループの VPC のサブネットの IP アドレスを指定する必要があります。この VPC 外部の IP アドレスを登録する必要がある場合は、ALB
タイプのターゲットグループを作成し、その IP アドレスを Application Load Balancer に登録します。 -
ターゲットタイプが
IP
である場合、VPC エンドポイントやパブリックにルーティング可能な IP アドレスは登録できません。 -
ターゲットタイプが
LAMBDA
である場合、1 つの Lambda 関数を登録できます。サービスが Lambda 関数のリクエストを受け取ると、Lambda 関数を呼び出します。1 つのサービスに複数の Lambda 関数を登録するには、複数のターゲットグループを使用する必要があります。 -
ターゲットタイプが の場合
ALB
、単一の内部 Application Load Balancer を最大 2 つの VPC Lattice サービスのターゲットとして登録できます。その場合、Application Load Balancer を 2 つの異なるターゲットグループに登録します。これは 2 つの異なる VPC Lattice サービスによって使用されます。また、ターゲットの Application Load Balancer には、ターゲットグループポートと一致するポートを持つリスナーが 1 つ以上必要です。 -
起動時に ECS タスクを VPC Lattice ターゲットグループに自動的に登録できます。ターゲットグループは、
IP
のターゲットタイプを持つ必要があります。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「Amazon ECS サービスで VPC Lattice を使用する」を参照してください。または、タイプ の VPC Lattice ターゲットグループに Amazon ECS サービスの Application Load Balancer を登録します
ALB
。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「ロードバランシングを使用して Amazon ECS サービストラフィックを分散する」を参照してください。 -
EKS ポッドをターゲットとして登録するには、Kubernetes サービスから IP アドレスを取得する AWS ゲートウェイ API コントローラー
を使用します。 -
ターゲットグループプロトコルが TCP の場合、サポートされているターゲットタイプは
INSTANCE
と のみですIP
。
IP アドレスタイプ
ターゲットタイプ IP
のターゲットグループを作成すると、ターゲットグループの IP アドレスタイプを指定できます。これにより、ターゲットにリクエストやヘルスチェックを送信するためにロードバランサーが使用するアドレスの種類が指定されます。指定できる値は IPv4
および IPv6
です。デフォルト: IPV4
。
考慮事項
-
IP アドレスタイプ
IPv6
でターゲットグループを作成する場合、ターゲットグループに指定する VPC には IPv6 アドレス範囲が必要です。 -
ターゲットグループに登録する IP アドレスは、ターゲットグループの IP アドレスタイプと一致する必要があります。例えば、IP アドレスタイプが
IPv4
の場合、IPv6 アドレスをターゲットグループに登録できません。 -
ターゲットグループに登録する IP アドレスは、ターゲットグループに指定した VPC の IP アドレスの範囲内にある必要があります。
プロトコルバージョン
デフォルトでは、サービスは HTTP/1.1 を使用してターゲットにリクエストを送信します。プロトコルバージョンを使用して、HTTP/2 または grPC を使用するターゲットにリクエストを送信できます。
次の表は、リクエストプロトコルとターゲットグループのプロトコルバージョンの組み合わせの結果をまとめたものです。
リクエストプロトコル | プロトコルバージョン | 結果 |
---|---|---|
HTTP/1.1 | HTTP/1.1 | 成功 |
HTTP/2 | HTTP/1.1 | 成功 |
gRPC | HTTP/1.1 | エラー |
HTTP/1.1 | HTTP/2 | エラー |
HTTP/2 | HTTP/2 | 成功 |
gRPC | HTTP/2 | ターゲットが grPC をサポートしている場合は成功 |
HTTP/1.1 | gRPC | エラー |
HTTP/2 | gRPC | POST リクエストの場合は成功 |
gRPC | gRPC | 成功 |
gRPC プロトコルバージョンの考慮事項
-
サポートされているリスナープロトコルは HTTPS だけです。
-
サポートされているターゲットタイプは、
INSTANCE
とIP
のみです。 -
サービスは、gRPC リクエストを解析し、パッケージ、サービス、メソッドに基づいて、適切なターゲットグループに gRPC 呼び出しをルーティングします。
-
Lambda 関数をターゲットとして使用することはできません。
HTTP/2 プロトコルバージョンの考慮事項
-
サポートされているリスナープロトコルは HTTPS だけです。ターゲットグループのプロトコルには、HTTP または HTTPS を選択できます。
-
サポートされているリスナールールは、転送と固定レスポンスのみです。
-
サポートされているターゲットタイプは、
INSTANCE
とIP
のみです。 -
サービスは、クライアントからのストリーミングをサポートします。サービスは、ターゲットへのストリーミングをサポートしていません。