ピアリング ベースのサービスから Private Service Connect への移行について

多くのマネージド サービス プロデューサーは、VPC ネットワーク ピアリングを使用して、別の Virtual Private Cloud(VPC)ネットワーク内のサービス コンシューマへの接続を提供します。別の解決策として、Private Service Connect を使用する方法もあります。

このドキュメントでは、サービス プロデューサーがピアリング ベースのサービスを Private Service Connect に移行し、サービスへのアクセスに使用される IP アドレスを保持する方法の概要について説明します。この移行プロセスでは、特定のサブネットに接続されているすべてのリソースを同時に移行する必要があります。

各サービス プロデューサーは、Private Service Connect に移行するかどうかと移行するタイミングを決定します。サービス プロデューサーが VPC ネットワーク ピアリングから Private Service Connect に移行しているかどうかを確認するには、サービスのドキュメントを確認するか、サービス プロデューサーにお問い合わせください。

ピアリング ベースのサービスの移行

このピアリング ベースのサービス例では、クライアント vm1 は、プロデューサー VPC ネットワーク内のサービスのロードバランサ 10.10.10.10 にトラフィックを送信します。ネットワークは VPC ネットワーク ピアリングを介して接続されているため、コンシューマ ネットワークにはプロデューサー サブネットのピアリング サブネット ルートがあります。

図 1: ピアリング ベースのサービスでは、コンシューマ VPC ネットワークとプロデューサー VPC ネットワークは VPC ネットワーク ピアリングを介して相互にアクセスできます(クリックして拡大)。

移行中、次のタスクが完了します。

  • プロデューサーは、新しい VPC ネットワークの新しいサブネット producer-subnet-2 にサービスをデプロイし、Private Service Connect を介してサービスを公開します。
  • プロデューサーは、プロデューサー サブネットの CIDR 範囲 10.10.10.0/24 を予約する内部範囲を作成します。
  • プロデューサーは、元のサブネット producer-subnet-1 とその中のすべてのリソースを削除します。
  • コンシューマ VPC ネットワークに移行サブネット consumer-subnet-2 が作成され、プロデューサー サブネットと同じ CIDR 範囲で構成されます。
  • 移行サブネットに Private Service Connect エンドポイントが作成され、プロデューサー ロードバランサの転送ルールで以前に使用されていた IP アドレスで構成されます。

移行が完了しても、クライアント vm110.10.10.10 のサービスに到達できますが、この IP アドレスはコンシューマ VPC ネットワーク内の Private Service Connect エンドポイントに関連付けられます。

図 2. 移行後、コンシューマ VPC ネットワーク内のクライアントは Private Service Connect エンドポイントにリクエストを送信します。このエンドポイントは、プロデューサー VPC ネットワークにトラフィックを転送します(クリックして拡大)。

移行のタスク

移行には、プロデューサー VPC ネットワークとコンシューマ VPC ネットワークの両方で実行されるタスクが含まれます。プロデューサーはコンシューマと連携して移行を実行できます。Google マネージド サービスの場合、サービス プロデューサーはサービス エージェントを介してコンシューマ タスクを自動化できます。

タスク プロデューサー コンシューマー
Private Service Connect サービスをデプロイする
プロデューサー プロジェクトの新しい VPC ネットワークの新しいサブネットにサービスをデプロイし、Private Service Connect を使用して公開する プロデューサーによる実行
ピアリング ベースのサービスをシャットダウンする
プロデューサー プロジェクトに内部範囲を作成して、プロデューサー サブネットの CIDR 範囲を予約する プロデューサーによる実行 コンシューマは、移行ターゲットに使用するサブネット名を提供します。
プロデューサー サブネット内のすべてのリソースを削除してから、サブネットを削除します プロデューサーによる実行 コンシューマがサービスにアクセスできなくなった
コンシューマ ネットワークに Private Service Connect エンドポイントを作成する
コンシューマ ネットワークに移行サブネットを作成する コンシューマがサブネット名を選択しなかった場合、プロデューサーはコンシューマにサブネット名を提供します。 コンシューマ(またはサービス エージェントを介したプロデューサー)によって実行されます。
コンシューマ ネットワークに Private Service Connect エンドポイントを作成する プロデューサーがコンシューマにサービス アタッチメント URI を提供する

コンシューマ(またはサービス エージェントを介したプロデューサー)が実行

コンシューマがサービスにアクセスできる

Private Service Connect エンドポイントを介したアクセスを検証する コンシューマによる実行
移行を完了する
内部範囲を削除する プロデューサーによる実行
コンシューマの移行サブネットを更新して通常のサブネットに変換する コンシューマ(またはサービス エージェントを介したプロデューサー)が実行
他のサービスで必要ない場合は、プロデューサー ネットワークとコンシューマ ネットワークのピアリング接続を削除します。 プロデューサーによる実行 コンシューマ(またはサービス エージェントを介したプロデューサー)が実行

考慮事項

ピアリング ベースのサービスを Private Service Connect に移行するサービス プロデューサーは、次の点を考慮してください。

  • サービスの Private Service Connect 実装は、ピアリング ベースのサービスと同じ機能を提供する必要があります。
  • 移行中に、サービス インスタンスを含むサブネット内のすべてのリソースを削除できる必要があります。複数のサービス インスタンスが同じサブネットを使用する場合は、すべてのインスタンスを同時に移行する必要があります。
  • コンシューマの Private Service Connect エンドポイントとプロデューサーのサービス アタッチメントと転送ルールはすべて同じリージョンに存在する必要があります。

    任意のリージョンからエンドポイントにアクセスできるようにするには、エンドポイントでグローバル アクセスを有効にします。

  • サービスが状態を保存する場合は、状態を新しい Service インスタンスに移行する方法が必要です。

  • プロデューサー VPC ネットワーク内のすべてのサービス インスタンスが移行されるまで、ピアリング接続を削除することはできません。

  • 移行中はサービスが停止します。

  • Private Service Connect に移行すると、プロデューサーとコンシューマの両方に料金上の影響があります。移行する前に、この変更についてコンシューマに知らせてください。

  • Private Service Connect は、クライアントの送信元 IP アドレスを NAT サブネット内の IP アドレスに変換します。サービスでクライアントの IP アドレス情報が必要になる場合は、PROXY プロトコルを使用してクライアントの IP アドレスを取得し、バックエンド VM とアプリケーション間でパケットを適切に処理する必要があります。

移行の内部範囲

内部範囲は、プロデューサー サブネットで使用される CIDR 範囲を予約するために使用されます。これにより、プロデューサー サブネットが削除されたときに、CIDR 範囲を別の目的に使用できなくなります。

ピア移行用の内部範囲を作成する場合は、使用状況を FOR_MIGRATION に設定し、ソース サブネットとターゲット サブネットを指定します。ソース サブネットはプロデューサー サブネットで、ターゲット サブネットは、後でコンシューマ ネットワークに作成される新しいピア移行サブネットです。

内部範囲を作成すると、ターゲット サブネット名と CIDR 範囲の両方に一致するサブネットが作成されなくなります。ただし、異なる CIDR 範囲を使用する場合は、コンシューマ ネットワークに同じ名前のサブネットを作成できます。その場合、一致する名前のコンシューマ サブネットが削除されるか、内部範囲が削除されるまで、移行を進めることはできません。

ピア移行サブネット

移行用にコンシューマ ネットワークに作成されたサブネットの目的は PEER_MIGRATION に設定されています。ピア移行サブネットには、IP アドレスと Private Service Connect エンドポイントのみを含めることができます。

移行が完了して検証されたら、サブネットは目的を PRIVATE に設定して通常のサブネットになるように更新され、サブネットに他のリソースを作成できます。通常のサブネットをピア移行サブネットに戻すことはできません。

ピア移行サブネットを作成または使用するには、compute.subnetworks.usePeerMigration Identity and Access Management(IAM)権限が必要です。この権限は事前定義ロールに含まれていないため、使用するにはカスタムロールを作成する必要があります。

次の操作を行えるのは、compute.subnetworks.usePeerMigration 権限を持つプリンシパルのみです。

  • ピア移行サブネットで IP アドレス リソースを作成および削除します。
  • ピア移行サブネットで Private Service Connect エンドポイント(転送ルール)を作成および削除します。

Compute ネットワーク管理者ロール(roles/compute.networkAdmin)は持っているが compute.subnetworks.usePeerMigration 権限がないプリンシパルは、上記のタスクを実行できませんが、次のことができます。

  • 目的を PEER_MIGRATION に設定してサブネットを作成します。
  • サブネットを更新します。たとえば、CIDR 範囲を拡張したり、限定公開の Google アクセスを有効にしたりします。
  • サブネットの目的を PRIVATE に更新します。
  • サブネットを削除します。

料金

料金については、以下をご覧ください。

次のステップ