

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

# VPC Lattice のターゲットグループ
<a name="target-groups"></a>

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

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

![リスナー 1 つ、リスナールール、ターゲットグループ 2 つを含むサービス。](http://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/images/service.png)


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

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

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

**Topics**
+ [ターゲットグループの作成](create-target-group.md)
+ [ターゲットの登録](register-targets.md)
+ [ヘルスチェックを設定する](target-group-health-checks.md)
+ [ルーティング設定](#target-group-routing-configuration)
+ [ルーティングアルゴリズム](#target-group-routing-algorithm)
+ [[Target type (ターゲットタイプ)]](#target-type)
+ [IP アドレスタイプ](#target-group-ip-address-type)
+ [HTTP ターゲット](http-targets.md)
+ [ターゲットとしての Lambda 関数](lambda-functions.md)
+ [ターゲットとしての Application Load Balancer](alb-target.md)
+ [プロトコルバージョン](#target-group-protocol-version)
+ [タグの更新](target-group-tags.md)
+ [ターゲットグループの削除](delete-target-group.md)

## ルーティング設定
<a name="target-group-routing-configuration"></a>

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

ターゲットグループでは、次のプロトコルとポートがサポートされています。
+ **プロトコル**: HTTP、HTTPS、TCP
+ **ポート**: 1 ～ 65535

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

TCP ターゲットグループは [TLS リスナー](tls-listeners.md)でのみサポートされます。

## ルーティングアルゴリズム
<a name="target-group-routing-algorithm"></a>

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

リクエストを受け取ると、VPC Lattice サービスは以下のプロセスを使用します。

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

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

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

VPC Lattice は、トラフィックをルーティングするためのアベイラビリティーゾーン (AZ) アフィニティをサポートしています。クライアントが VPC Lattice にリクエストを送信すると、VPC Lattice はクライアントと同じ AZ からのサービスまたはリソースの IP アドレスで応答します。その AZ が使用できない場合、VPC Lattice は他の AZs。VPC Lattice からターゲットへのルーティングはターゲットに対して行われ、AZs 間で分散される可能性があります。さらに、VPC Lattice では AZ 間のデータ転送料金は発生しません。

## [Target type (ターゲットタイプ)]
<a name="target-type"></a>

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

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

`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 を使用する](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-vpc-lattice.html)」を参照してください。 **

  または、Amazon ECS サービスの Application Load Balancer を、タイプ の VPC Lattice ターゲットグループに登録します`ALB`。詳細については、[「Amazon Elastic Container Service デベロッパーガイド」の「ロードバランシングを使用して Amazon ECS サービストラフィックを分散](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)する」を参照してください。 **
+ EKS ポッドをターゲットとして登録するには、Kubernetes サービスから IP アドレスを取得する [AWS ゲートウェイ API コントローラー](https://www.gateway-api-controller.eks.aws.dev/)を使用します。
+ ターゲットグループプロトコルが TCP の場合、サポートされているターゲットタイプは `INSTANCE`、`IP`、または のみです`ALB`。

## IP アドレスタイプ
<a name="target-group-ip-address-type"></a>

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

**考慮事項**
+ IP アドレスタイプ `IPv6` でターゲットグループを作成する場合、ターゲットグループに指定する VPC には IPv6 アドレス範囲が必要です。
+ ターゲットグループに登録する IP アドレスは、ターゲットグループの IP アドレスタイプと一致する必要があります。例えば、IP アドレスタイプが `IPv4` の場合、IPv6 アドレスをターゲットグループに登録できません。
+ ターゲットグループに登録する IP アドレスは、ターゲットグループに指定した VPC の IP アドレスの範囲内にある必要があります。

## プロトコルバージョン
<a name="target-group-protocol-version"></a>

デフォルトでは、サービスは 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` のみです。
+ サービスは、クライアントからのストリーミングをサポートします。サービスは、ターゲットへのストリーミングをサポートしていません。