Cloud Service Mesh API リソースについて
Gateway API と Istio API を使用して GKE でサービス メッシュを構成すると、GKE で管理していた KRM ベースの API リソースが、一連の Google Cloud API リソースに自動的に変換されます。
- 追加の請求は発生しません。
- これらは、マネージド Cloud Service Mesh インフラストラクチャによってのみ管理されます(GKE クラスタで作成した API リソースに基づきます)。これらの Google Cloud API リソースは変更または削除できません。KRM API を変更すると、対応する Google Cloud API リソースの更新または削除がトリガーされます。Cloud Service Mesh サービス メッシュのプロビジョニングを解除すると、Google Cloud API リソースは自動的に削除されます。
- 機能的には、GKE で管理していた API リソースと同等です。Cloud Service Mesh インフラストラクチャは、これらの API リソースに基づいて GKE クラスタのデータプレーンをプログラムします。 Google Cloud
- 標準の Google Cloud API 割り当て制御が適用されます。現在の割り当て使用量は、 Google Cloud プロジェクトで確認できます。 Google Cloud リソース割り当てを超えると、データプレーンへの構成の伝播が停止します。 Google Cloud はプロジェクト レベルでリソース割り当てを適用し、これらの Google Cloud API リソースは、ユーザーが管理する同じタイプの Google Cloud API リソースと割り当てを共有します。
次の図は、GKE の API リソースが API リソースにマッピングされる方法の概要を示しています。 Google Cloud ほとんどの場合、GKE でサービス メッシュを使用するには API マッピングを理解する必要はありません。GKE でサービス メッシュを管理するのは Gateway API または Istio API を使用するためです。一方、API マッピングを大まかに理解しておくと、サービス メッシュのスケーリングに応じてGoogle Cloud API 割り当てをより効率的に計画、管理できます。
マネージド Cloud Service Mesh を使用した Istio API
GKE で管理する API リソースは、データプレーン内のトラフィックの動作のさまざまな側面を制御する一連の API リソースにマッピングされます。 Google Cloud これらのリソースには割り当てアラートを設定することをおすすめします。
項目 | Istio API リソース | Google Cloud API リソース | スコープ | 割り当てと上限 | 上限 |
---|---|---|---|---|---|
トラフィック ルーティング | VirtualService |
HTTPRoute TCPRoute TLSRoute |
グローバル |
HTTPRoute 割り当て TCPRoute 割り当て TLSRoute 割り当て |
サービスポートごとに 1 つ、Istio VirtualService HTTPRoute、TCPRoute、TLSRoute ごとに 1 つ。 |
サービス表現(ルート / ポリシー アタッチメント用) |
Service ServiceEntry |
BackendService | グローバル | BackendService の割り当て | サービスポートごとに 1 つ(Istio ServiceEntry を含む)。 |
ワークロードのプロパティ(IP:port、ローカリティなど) |
Service ServiceEntry |
NetworkEndpointGroup | ゾーン | NetworkEndpointGroup の割り当て | (サービスポート、ゾーン)あたり 1 つ。リージョン GKE クラスタでは、クラスタに少なくとも 1 つのノードがあるすべてのゾーンに、特定のサービスポートの NetworkEndpointGroup が作成されます。 |
ワークロードの健全性のモニタリング | サービス | HealthCheck | ゾーン | HealthCheck の割り当て | GKE クラスタごとに 1 つ。 |
ワークロード ポリシーの接続ポイント |
PeerAuthentication AuthorizationPolicy RequestAuthentication EnvoyFilter |
EndpointPolicy | グローバル | EndpointPolicy の割り当て | サービスポートとワークロード ポリシーごとに 1 つ。 |
認証 | PeerAuthentication |
ClientTlsPolicy ServerTlsPolicy |
グローバル |
ClientTlsPolicy の割り当て ServerTlsPolicy の割り当て |
サービスポートごとに 1 つの ClientTlsPolicy。TLS Gateway ごとに 1 つの ServerTlsPolicy。 |
承認 | AuthorizationPolicy | HttpFilter | グローバル | HttpFilter の割り当て | Istio AuthorizationPolicy ごとに 1 つ |
ゲートウェイ | Gateway | Gateway | グローバル | Gateway の割り当て | Istio Gateway サーバーポートごとに 1 つ |
トラフィック分散ポリシー | GCPTrafficDistributionPolicy 1 | ServiceLbPolicy | グローバル | ServiceLbPolicy の割り当て | GCPTrafficDistributionPolicy ごとに 1 つ |
サービス メッシュが異なるプロジェクトの複数のクラスタにまたがっている場合、すべてのGoogle Cloud リソースはフリート プロジェクトに作成されます。
1GCPTrafficDistributionPolicy は Istio API ではありません。Istio API を拡張して、高度なトラフィック管理を提供します。