Lattice VPC のターゲットグループ - Amazon VPC Lattice

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lattice VPC のターゲットグループ

Lattice VPC ターゲットグループは、アプリケーションまたはサービスを実行するターゲットまたはコンピューティングリソースのコレクションです。ターゲットには、EC2インスタンス、IP アドレス、Lambda 関数、Application Load Balancer、Kubernetes Pod などがあります。ターゲットグループには既存のサービスをアタッチすることもできます。Lattice での Kubernetes VPC の使用の詳細については、AWS 「ゲートウェイAPIコントローラーユーザーガイド」を参照してください。

ターゲットグループは、1 つ以上の登録されているターゲットにリクエストをルーティングするために使用されます。リスナーのルールを作成するときに、ターゲットグループと条件を指定します。ルールの条件が満たされると、トラフィックが該当するターゲットグループに転送されます。さまざまなタイプのリクエストに応じて別のターゲットグループを作成できます。例えば、一般的なリクエスト用にターゲットグループを作成し、パスやヘッダー値など、特定のルール条件を含むリクエスト用に別のターゲットグループを作成できます。

リスナー 1 つ、リスナールール、ターゲットグループ 2 つを含むサービス。

サービスのヘルスチェック設定は、ターゲットグループ単位で定義します。各ターゲットグループはデフォルトのヘルスチェック設定を使用します。ただし、ターゲットグループを作成したときや、後で変更したときに上書きした場合を除きます。リスナーのルールでターゲットグループを指定すると、サービスは、ターゲットグループに登録されたすべてのターゲットの状態を継続的にモニタリングします。サービスは、正常な登録済みターゲットにリクエストをルーティングします。

ターゲットグループをサービスリスナーのルールで指定するには、サービスと同じアカウントにそのターゲットグループがある必要があります。

VPC 格子ターゲットグループは、Elastic Load Balancing が提供するターゲットグループと似ていますが、互換性はありません。

ルーティング設定

デフォルトでは、サービスはターゲットグループの作成時に指定したプロトコルとポート番号を使用して、リクエストをターゲットにルーティングします。または、ターゲットグループへの登録時にターゲットへのトラフィックのルーティングに使用されるポートを上書きすることもできます。

ターゲットグループでは、次のプロトコルとポートがサポートされています。

  • プロトコル: HTTP、HTTPS、 TCP

  • ポート: 1 ~ 65535

ターゲットグループがHTTPSプロトコルで設定されている場合、またはHTTPSヘルスチェックを使用している場合、ターゲットTLSへの接続はリスナーのセキュリティポリシーを使用します。VPC Lattice は、ターゲットにインストールした証明書を使用して、ターゲットとTLSの接続を確立します。VPC Lattice はこれらの証明書を検証しません。したがって、自己署名証明書または期限切れの証明書を使用できます。VPC Lattice とターゲット間のトラフィックはパケットレベルで認証されるため、ターゲットの証明書が有効でなくても、 man-in-the-middle攻撃やなりすましのリスクはありません。

TCP ターゲットグループはTLS、リスナー でのみサポートされます。

ルーティングアルゴリズム

デフォルトでは、ラウンドロビンルーティングアルゴリズムが正常なターゲットへのリクエストのルーティングに使用されます。

Lattice VPC サービスがリクエストを受信すると、次のプロセスが使用されます。

  1. リスナールールを優先度順に評価して、適用するルールを決定します。

  2. デフォルトのラウンドロビンアルゴリズムを使用して、ルールアクションのターゲットグループからターゲットを選択します。それぞれのターゲットグループでルーティングは個別に実行され、複数のターゲットグループに登録されているターゲットの場合も同じです。

ターゲットグループに異常なターゲットのみが含まれている場合、そのヘルスステータスにかかわらず、リクエストはすべてのターゲットにルーティングされます。つまり、すべてのターゲットが同時にヘルスチェックに失敗すると、Lattice VPC サービスはオープンに失敗します。フェイルオープンの効果は、ヘルスステータスにかかわらず、ラウンドロビンアルゴリズムに基づいて、すべてのターゲットへのトラフィックを許可することです。

[Target type (ターゲットタイプ)]

ターゲットグループを作成するときは、そのターゲットの種類を指定します。それにより、このターゲットグループ内でターゲットを登録するときに指定するターゲットの種類が決定されます。ターゲットグループを作成した後で、ターゲットタイプを変更することはできません。

可能なターゲットの種類は次のとおりです。

INSTANCE

インスタンス ID で指定されたターゲット。

IP

ターゲットは IP アドレスです。

LAMBDA

ターゲットは Lambda 関数です。

ALB

ターゲットは Application Load Balancer です。

考慮事項
  • ターゲットタイプが の場合IP、VPCターゲットグループの のサブネットから IP アドレスを指定する必要があります。この の外部から IP アドレスを登録する必要がある場合はVPC、タイプのターゲットグループを作成し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 つの異なる Lattice VPC サービスで使用される 2 つの異なるターゲットグループに登録します。また、ターゲットの Application Load Balancer には、ターゲットグループポートと一致するポートを持つリスナーが 1 つ以上必要です。

  • ECS タスクをターゲットとして登録するには、ALBターゲットタイプを使用し、Amazon ECSサービスの Application Load Balancer を登録します。詳細については、Amazon Elastic Container Service デベロッパーガイドService load balancing を参照してください。

  • EKS ポッドをターゲットとして登録するには、Kubernetes サービスから IP アドレスを取得する AWS Gateway API Controller を使用します。

  • ターゲットグループプロトコルが の場合TCP、サポートされているターゲットタイプは INSTANCEと のみですIP

IP アドレスタイプ

ターゲットタイプ IP のターゲットグループを作成すると、ターゲットグループの IP アドレスタイプを指定できます。これにより、ターゲットにリクエストやヘルスチェックを送信するためにロードバランサーが使用するアドレスの種類が指定されます。指定できる値は IPv4 および IPv6 です。デフォルト: IPV4

考慮事項
  • IP アドレスタイプが のターゲットグループを作成する場合IPv6、ターゲットグループにVPC指定する にはIPv6アドレス範囲が必要です。

  • ターゲットグループに登録する IP アドレスは、ターゲットグループの IP アドレスタイプと一致する必要があります。例えば、IP IPv6 アドレスタイプが の場合、ターゲットグループにアドレスを登録することはできませんIPv4

  • ターゲットグループに登録する IP アドレスは、ターゲットグループにVPC指定した の IP アドレス範囲内である必要があります。

プロトコルバージョン

デフォルトでは、 サービスは HTTP/1.1 を使用してターゲットにリクエストを送信します。プロトコルバージョンを使用して、HTTP/2 または g を使用してターゲットにリクエストを送信できますRPC。

次の表は、リクエストプロトコルとターゲットグループのプロトコルバージョンの組み合わせの結果をまとめたものです。

リクエストプロトコル プロトコルバージョン 結果
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 ターゲットが g をサポートしている場合の成功RPC
HTTP/1.1 gRPC エラー
HTTP/2 gRPC POST リクエストが成功した場合
gRPC gRPC 成功
G RPCプロトコルバージョンの考慮事項
  • サポートされているリスナープロトコルは のみですHTTPS。

  • サポートされているターゲットタイプは、INSTANCEIP のみです。

  • サービスは gRPC リクエストを解析し、パッケージ、サービス、メソッドに基づいて gRPC コールを適切なターゲットグループにルーティングします。

  • Lambda 関数をターゲットとして使用することはできません。

HTTP/2 プロトコルバージョンの考慮事項
  • サポートされているリスナープロトコルは のみですHTTPS。ターゲットグループプロトコルHTTPSには、 HTTPまたは を選択できます。

  • サポートされているリスナールールは、転送と固定レスポンスのみです。

  • サポートされているターゲットタイプは、INSTANCEIP のみです。

  • サービスは、クライアントからのストリーミングをサポートします。サービスは、ターゲットへのストリーミングをサポートしていません。