サービス接続ポリシーについて
このページでは、サービス接続ポリシーの概要について説明します。
サービス ユーザーは、有効なマネージド サービス インスタンスのデプロイと接続を自動化するサービス接続ポリシーを作成できます。このプロセスは、Private Service Connect サービス接続の自動化と呼ばれます。
たとえば、データベースをデプロイし、そのデータベースに到達するように Private Service Connect を構成するデータベース管理者がコンシューマー サービス管理者になっている場合があります。ただし、データベース管理者は、Identity and Access Management(IAM)の認証情報や、ネットワーキング リソースのデプロイ方法に関する知識を持っていないこともあります。サービス接続ポリシーが存在し、プロデューサー サービスがサービス自動化用に構成されていれば、データベース管理者は、サービス接続性の自動化を介してプロデューサー サービスのインスタンスをデプロイし、ネットワークに接続するようにリクエストできます。
サービス接続ポリシーは次のようなロールで役に立ちます。
- コンシューマー サービス管理者。マネージド サービスのインスタンスをデプロイして、プロデューサー サービスの管理 API または UI を介して接続性を構成できます。Private Service Connect を構成する追加の手順はありません。
- ネットワーク管理者。接続性に使用されるサービスとサブネットを制御する 1 つのポリシーセットを作成できます。
- サービス プロデューサー。サービス アタッチメントを共有し、接続性のデプロイを介してコンシューマを導くプロセスを簡素化できます。サービス接続ポリシーを使用するコンシューマは、プロデューサーの管理 API または UI を使用してプロデューサー サービスを構成できます。
サービス インスタンスのデプロイ
サービス接続ポリシーを使用してマネージド サービスのインスタンスをデプロイするには、次の操作を行います(図 1 を参照)。
コンシューマー ネットワーク管理者は、VPC ネットワークのサービス接続ポリシーを作成します。このネットワークは、必要に応じて共有 VPC ネットワークにできます。
サービス接続ポリシーにより、Google はコンシューマー サービス管理者に代わって Private Service Connect エンドポイントを自動的にデプロイできます。サービス接続ポリシーは、サービスクラス(特定のプロデューサー サービスを識別するグローバルに一意のリソース)を参照します。1 つのサービス接続ポリシーは、1 つのサービスクラスと 1 つのコンシューマー VPC ネットワークをスコープとし、そのスコープ内で接続性を構成する機能を委任します。
コンシューマー サービス管理者は、マネージド サービス インスタンスをデプロイし、サービスの管理 API または UI を使用してそのインスタンスへの接続性を構成します。
共有 VPC ネットワークにサービス接続ポリシーを作成した場合は、接続されたサービス プロジェクトにマネージド サービス インスタンスをデプロイできます。
プロデューサーは、コンシューマーの接続性構成を受け取り、この情報をサービス接続マップに渡します。
Network Connectivity サービス アカウントは、コンシューマー VPC ネットワークにエンドポイントを作成します。このエンドポイントがプロデューサー VPC ネットワーク内のサービス アタッチメントに接続します。
サポート対象のサービス
マネージド サービスがサービス接続ポリシーに対応しているかどうかを確認するには、サービス プロバイダにお問い合わせください。サービスがサービス接続ポリシーをサポートしている場合、サービス プロバイダは関連するサービスクラスを提供できます。
プロデューサーがコンシューマーに代わってサービスを自動化できるようにするサービスクラスは、制限付きプレビュー機能としてプロデューサーに提供されています。サービスクラスを使用して独自のマネージド サービスの接続性を自動化する方法については、Google Cloud の営業担当者にお問い合わせください。
サービス接続ポリシー
サービス接続ポリシーは Google Cloud のリージョン リソースです。これにより、ネットワーク管理者は、サービス接続性の自動化を介してデプロイして接続できるプロデューサー サービスを指定できます。マネージド サービスにサービス接続ポリシーが存在する場合、コンシューマー サービス管理者はそのサービスをデプロイできます。
サービス接続ポリシーには次のフィールドがあります。
- サービスクラス: ポリシーの対象となるマネージド サービスのタイプを指定します。サービス接続ポリシーをサポートする各プロデューサーには独自のグローバル サービスクラスがあります。
- VPC ネットワーク: ポリシーのスコープとなる VPC ネットワークを指定します。
- サブネット: Private Service Connect エンドポイントの IP アドレスの割り当て元となるサブネットを指定します。
- 接続数上限: プロデューサーがポリシーの VPC ネットワークとリージョンで作成できる Private Service Connect 接続の最大数を指定します。
仕様
サービス接続ポリシーの仕様は次のとおりです。
- ネットワーク、リージョン、サービスクラスの組み合わせごとに、単一のサービス接続ポリシーを作成できます。これにより、1 つのポリシーのみが、Private Service Connect エンドポイントの作成に適用されるようになります。
- 特定のサービスクラスにサービス接続ポリシーが存在する場合、コンシューマー サービス管理者は、サービスの管理 API または UI を使用して、そのサービスをデプロイし、サービス接続性の自動化を使用して接続性を構成できます。
- サービス接続ポリシーの構成に含まれるサブネットは、Private Service Connect エンドポイントに割り当てる IP アドレスを指定します。これらのサブネットは通常のサブネットである必要があり、サービス接続ポリシーと同じリージョンに存在する必要があります。通常のサブネットは Private Service Connect のサブネットとは異なります。
- ベスト プラクティスとして、サービス接続ポリシーが設定された専用のサブネットを使用することをおすすめします。これにより、サブネットの IP アドレスが別のリソースに再利用されなくなります。
- サービス接続ポリシーは、ポリシーが適用される VPC ネットワークと同じプロジェクトでのみ作成できます。
- 同じプロジェクト内の複数の VPC ネットワークに対して Private Service Connect サービスの自動化を使用する場合は、ネットワークごとにサービス接続ポリシーを作成します。
- サービス接続ポリシーは共有 VPC で使用できます。
プロデューサーの構成
以降のセクションでは、サービス プロデューサーがサービス接続性の自動化を構成するために使用するリソースについて説明します。
サービス接続マップ
サービス接続マップは、サービス アタッチメントと Private Service Connect エンドポイントのマッピングをプロデューサーが指定できるプロデューサー側のリソースです。このマップには、サービス アタッチメントのリストにマッピングできる VPC ネットワークとプロジェクトの組み合わせのリストが含まれています。
プロデューサーは、サービス接続マップを使用して、サービスの自動化によってエンドポイントが作成されるときに使用するコンシューマー プロジェクトと Private Service Connect ネットワークを定義します。
コンシューマー サービス管理者がサービス接続性の自動化を介してサービス インスタンスのデプロイをリクエストすると、管理者は VPC ネットワークを指定します。マネージド サービスは、この情報を使用して対応するサービス接続マップを更新し、コンシューマーを接続するサービス アタッチメントを指定します。
サービスクラス
サービスクラスは、マネージド サービスタイプのグローバルに一意な表現です。各プロデューサーは、自身のサービスクラスを排他的に所有しています。コンシューマは、サービス接続ポリシーでサービスクラスを参照し、デプロイを承認してプロデューサーへの接続性を委任します。
Google が公開するサービス、サードパーティ サービス、自己ホスト型の内部マネージド サービス用のサービスクラスがあります。サービス接続ポリシーは、サービスクラスを持つサービスに対してのみ作成できます。
認可モデル
サービス接続ポリシーを使用すると、コンシューマは接続性のデプロイをプロデューサーに委任できます。プロデューサーには、コンシューマー プロジェクトに対する直接アクセス権や IAM 権限がありません。代わりに、プロデューサーは自身のプロジェクトでサービス接続マップを構成します。これにより、プロデューサーは、エンドポイントをデプロイするコンシューマー プロジェクトと VPC ネットワークを指定できます。
プロデューサーによってサービス プロデューサー マップが作成または更新されると、Google Cloud は認可チェックで次のことを確認します。
- 接続マップを作成または更新するプロデューサー ユーザーに、関連するサービスクラスの IAM 所有権がある。このチェックにより、公開サービスクラスの誤った記述を防ぐことができます。
- コンシューマー ネットワークに、サービス接続マップで指定された VPC ネットワーク、リージョン、サービスクラスを認可する有効なサービス接続ポリシーがある。このチェックにより、VPC ネットワークに対する IAM 権限を持つ管理者が、指定したサービスタイプの Private Service Connect エンドポイントを作成する権限を明示的に委任できます。
- コンシューマーがマネージド サービスの UI または API で接続性に指定したプロジェクトが、マネージド サービス インスタンスに関連付けられている。このチェックは、マネージド サービスのなりすましや、未承認プロジェクトの接続性を不正に作成することを防止するのに役立ちます。
各条件が満たされると、リクエストされたエンドポイントが Network Connectivity サービス アカウントによってコンシューマー ネットワーク内に作成されます。Network Connectivity サービス アカウントは、サービス エージェントです。
制限事項
- サービス接続ポリシーは、コンシューマー VPC ネットワーク内の Private Service Connect エンドポイントの自動化のみをサポートします。Private Service Connect バックエンドまたはサービス アタッチメントはサポートされていません。
- サービス接続の自動化によって作成された Private Service Connect エンドポイントを直接削除することはできません。これらのエンドポイントの削除をトリガーするには、サービス接続性を廃止します。
- サービス接続ポリシーのサブネットと接続数上限のみを更新できます。他のフィールドを更新する場合は、ポリシーを削除して、新しいポリシーを作成します。
- サービス接続ポリシーは、IPv4 アドレスを持つエンドポイントの作成をサポートしています。IPv6 アドレスを持つエンドポイントの作成はサポートされていません。
料金
Private Service Connect の料金については、VPC の料金ページをご覧ください。