サービス接続ポリシーについて
このドキュメントでは、ネットワーク管理者がサービス接続ポリシーを使用して、サービス接続の自動化を介してサポート対象のマネージド サービス インスタンスに接続する方法について説明します。このドキュメントを読む前に、サービス接続の自動化についてで説明されているコンセプトを理解しておいてください。
仕様
サービス接続ポリシーの仕様は次のとおりです。
ネットワーク、リージョン、サービスクラスの組み合わせごとに作成できるサービス接続ポリシーは 1 つだけです。たとえば、
google-cloud-sql
のus-central1
にvpc1
のサービス接続ポリシーを 1 つだけ設定できます。この検証により、特定の Private Service Connect エンドポイントを管理するサービス接続ポリシーは 1 つだけになります。サービス インスタンス管理者は、サービスの管理 API または UI を使用して、そのサービスをデプロイし、サービス接続性の自動化を使用して接続性を構成できます。
サービス接続の自動化によるエンドポイントの作成または削除がブロックされると、ブロックの問題が解決されるまで、自動プロセスによりオペレーションが定期的に再試行されます。
サービス接続ポリシーの構成に含まれるサブネットは、Private Service Connect エンドポイントに割り当てる IP アドレスを指定します。これらの IP アドレスは自動的に割り振られ、マネージド サービス インスタンスの作成と削除に応じてサブネットのプールに返されます。
このサブネットは通常のサブネットである必要があり、サービス接続ポリシーと同じリージョンに存在する必要があります。通常のサブネットは Private Service Connect のサブネットとは異なります。
ベスト プラクティスとして、他のリソースにサブネットを使用しないことをおすすめします。他のリソースがサブネットから IP アドレスを使用している場合、エンドポイントに割り当てる IP アドレスが不足する可能性があります。
サービス接続ポリシーを使用するマネージド サービスは、IPv4 エンドポイント、IPv6 エンドポイント、またはその両方を使用してサービス インスタンスに接続することをサポートしている場合があります。サービスが IPv4 と IPv6 の両方をサポートしている場合、サービス インスタンス管理者はサービス インスタンスのデプロイ時に IP バージョンを選択できます。
デフォルトでは、サービス インスタンスとサービス インスタンスに接続するエンドポイントは同じプロジェクト内にある必要があります(共有 VPC の場合は、接続されたプロジェクト内)。
サポートされている Google サービスでは、カスタム サービス インスタンス スコープを構成できます。
サービス接続の自動化によって作成されたエンドポイントには、サービス プロデューサーによってラベルが適用されている場合があります。ラベルの詳細については、ラベルを使用してリソースを整理するをご覧ください。
同じプロジェクト内の複数の VPC ネットワークに対して Private Service Connect サービスの自動化を使用する場合は、ネットワークごとにサービス接続ポリシーを作成します。
必要に応じて、接続数の上限を構成して、特定のサービス プロデューサーがポリシーの VPC ネットワークとリージョンで作成できる Private Service Connect 接続の最大数を指定できます。
サービス接続ポリシーを介して作成されたエンドポイントは、接続の伝播を介して他の VPC ネットワークで使用できます。
認可
サービス接続ポリシーを使用すると、コンシューマーは接続性のデプロイをマネージド サービスに委任できます。サービス プロデューサーには、コンシューマー プロジェクトに対する直接アクセス権や IAM 権限がありません。代わりに、プロデューサーは自身のプロジェクトでサービス接続マップを構成します。
サービス接続マップが作成または更新されると(通常は、コンシューマー サービス管理者によるマネージド サービスの管理 API または UI へのリクエストに応じて)、サービス接続の自動化が一連の認可チェックを実行します。すべてのチェックに合格すると、リクエストで指定されたとおりに Private Service Connect エンドポイントが作成されます。
認可については、認可モデルをご覧ください。
共有 VPC ネットワークの接続ポリシー
サービス接続ポリシーを使用すると、ホスト プロジェクトまたは接続されたサービス プロジェクトにあるサービス インスタンスへの接続を自動化できます。
共有 VPC を使用している場合は、ホスト プロジェクトでサービス接続ポリシーを作成する必要があります。エンドポイントは、サービス インスタンス構成で指定されたプロジェクトに作成されます。
共有 VPC ネットワークにサービス接続ポリシーを作成し、サービス プロジェクトにサービス インスタンスをデプロイすると、サービス プロジェクトの Network Connectivity サービス アカウントを更新することで、サービス接続ポリシーに関連付けられているサブネットがサービス接続の自動化で共有されます。このサービス アカウントには、共有サブネットでの Compute ネットワーク ユーザーロール(roles/compute.networkUser
)が付与されます。
デプロイの例については、共有 VPC をご覧ください。
カスタム サービス インスタンス スコープを含む接続ポリシー
デフォルトでは、サービス接続の自動化により、同じGoogle Cloud プロジェクト(共有 VPC の場合は接続されたプロジェクト)にあるサービス インスタンスとそれに関連するサービス接続ポリシーのエンドポイントが作成されます。サポートされている Google サービスの場合、サービス インスタンスと接続エンドポイントは、異なるプロジェクトまたは組織に存在していてもかまいません。
すべての Google サービスがカスタム サービス インスタンス スコープの構成をサポートしているわけではありません。サービスがカスタム サービス インスタンス スコープをサポートしているかどうかを確認するには、特定のサービスのドキュメントをご覧ください。
サービス インスタンス スコープ(--producer-instance-location
)設定を使用して、他の Resource Manager ノード(プロジェクト、フォルダ、組織)にあるサービス インスタンスへの接続を構成します。
no_producer_instance_location
に設定されている場合、エンドポイントは同じプロジェクトにのみ作成されます。これがデフォルト値です。custom_resource_hierarchy_levels
に設定されている場合は、--allowed-google-producers-resource-hierarchy-level
フィールドで Resource Manager ノードのリストを指定します。
サービス接続ポリシーのサービス インスタンス スコープを更新しても、既存のエンドポイントは影響を受けません。
デプロイの例については、カスタム サービス インスタンス スコープの Google サービスをご覧ください。
エンドポイントの IP バージョン
サービス インスタンスに接続するエンドポイントの IP バージョン(IPv4、IPv6、または両方)は、サービス接続の自動化ではなく、サービス プロデューサーによって決定されます。サービスが IPv4 と IPv6 の両方をサポートしている場合、サービス インスタンス管理者は、サービスの管理 API を介してインスタンスをデプロイするときに IP バージョンを選択できます。サービスのサポートされている IP バージョンについては、サービスのドキュメントをご覧ください。
サービス インスタンス管理者が IP バージョンを選択すると、サービス接続性の自動化はサービス接続ポリシーをチェックして、エンドポイント IP アドレスの作成に使用する互換性のあるサブネットを確認します。
- IPv4 専用のサブネットは IPv4 エンドポイントをサポートします。
- デュアルスタック サブネットは、IPv4 エンドポイントと IPv6 エンドポイントの両方をサポートします。
- IPv6 専用のサブネットは IPv6 のエンドポイントをサポートします。
互換性のあるサブネットがサービス接続ポリシーにない場合、リクエストは失敗し、エンドポイントは作成されません。
また、エンドポイントの IP バージョンは、関連付けられたサービス アタッチメントの転送ルールによって決定されるサービス インスタンスの IP バージョンと互換性がある必要があります。Private Service Connect は、次の IP バージョンの組み合わせをサポートしています。
- IPv4 エンドポイントから IPv4 サービスへのアタッチメント
- IPv6 エンドポイントから IPv6 サービスへのアタッチメント
IPv6 エンドポイントから IPv4 サービスへのアタッチメント
この構成では、Private Service Connect が 2 つの IP バージョン間で自動的に変換を行います。
IPv4 エンドポイントを IPv6 サービス アタッチメントに接続することはできません。
IPv4 クライアントと IPv6 クライアントの両方がマネージド サービス インスタンスにアクセスできるようにするには、同じサービスに接続する個別の IPv4 エンドポイントと IPv6 エンドポイントの接続を構成します。
制限事項
- サービス接続ポリシーは、Private Service Connect エンドポイントの作成の自動化のみをサポートします。Private Service Connect バックエンドまたはサービス アタッチメントの作成はサポートされていません。
- サービス接続の自動化によって作成された Private Service Connect エンドポイントを直接削除することはできません。これらのエンドポイントの削除をトリガーするには、サービス接続性を廃止します。
- サービス接続ポリシーのサブネットと接続数上限のみを更新できます。他のフィールドを更新する場合は、ポリシーを削除して、新しいポリシーを作成します。
料金
Private Service Connect の料金については、VPC の料金ページをご覧ください。