プライベート サービス アクセスの概要

このページでは、AlloyDB for PostgreSQL でプライベート サービス アクセスを使用して AlloyDB インスタンスとその動作に必要な内部リソース間のネットワーク接続を確立する方法について説明します。

AlloyDB でのネットワーク接続の仕組みの概要については、接続の概要をご覧ください。

クラスタと内部リソース間の接続

プライベート サービス アクセスを使用すると、AlloyDB クラスタがその動作に必要な内部リソースと通信できます。

インスタンスと内部リソース

Google Cloud プロジェクト内で作成される AlloyDB のクラスタとインスタンスは、動作のために低レベルの Google Cloud内部リソースを多数必要とします。これには、AlloyDB のノードやロードバランサとして機能する仮想マシン(VM)インスタンスと、データを保持するストレージ ボリュームが含まれます。クラスタに必要なこれらのリソースはすべて、Google が内部で管理するGoogle Cloud プロジェクト内で動作します。

通常、管理者がこのような内部リソースに直接接続することはありません。代わりに、Google Cloud コンソールまたは Google Cloud CLI を使用してクラスタとインスタンスを管理します。アプリケーションはプライベート IP アドレスを介して AlloyDB インスタンスに接続し、データのクエリや変更を行います。管理リクエストやデータクエリは、必要に応じて AlloyDB の内部 API によってクラスタのリソースに渡されます。

AlloyDB インスタンスは、この複雑な多数のパーツを論理的に抽象化したものとして機能します。AlloyDB は静的なプライベート IP アドレスと PostgreSQL 互換の一貫したデータベース インターフェースを備えているため、アクティブなインスタンスの内部ネットワーク ルートを自由に更新したり、内部リソースを再配置したりできます。これにより、スループットの最適化と、ダウンタイムや中断のない高可用性が実現します。

クラスタがプライベート サービス アクセスを使用する方法

プロジェクト内にある AlloyDB のクラスタとインスタンスは、プライベート サービス アクセス経由で内部リソースと通信します。プライベート サービス アクセスでは、プロジェクトの Virtual Private Cloud(VPC)ネットワークと、内部リソースをホストする Google 管理プロジェクトで使用される別の VPC の間で、永続的なピアリング接続が確立されます。この接続により、プロジェクト内にある AlloyDB のクラスタとインスタンスは、内部リソースが同じプロジェクトの VPC 内にあるかのように、プライベート IP アドレスを使用して内部リソースに接続できます。

Google Cloud の VPC ネットワークでプライベート サービス アクセスを構成するには、連続するプライベート IP アドレスのブロックを 1 つ以上予約する必要があります。プロジェクトの VPC とGoogle Cloud 内部プロジェクトの VPC の間でピアリング接続が確立された後、予約した IP ブロックに含まれるアドレスが、AlloyDB インスタンスに必要な低レベルのリソースに適用されます。これにより、クラスタのすべての動作パーツの間でプライベート ネットワーク接続が実現します。

AlloyDB クラスタを作成する際は、プライベート サービス アクセスが設定済みのプロジェクトの VPC ネットワークを指定する必要があります。プロジェクトで AlloyDB(または、プライベート サービス アクセスが必要な他の Google Cloud プロダクト)を使用したことがある場合は、適格な VPC ネットワークがすでに存在している可能性があります。プロジェクトでプライベート サービス アクセス用の VPC ネットワークが設定されていない場合は、AlloyDB クラスタを作成する前に適格な VPC ネットワークを構成する必要があります。

AlloyDB クラスタの作成後にそのクラスタのプライベート サービス アクセス構成を変更することはできません。

利用可能なプライベート サービス アクセス構成

AlloyDB のプライベート サービス アクセス構成では、AlloyDB と同じプロジェクト内にある VPC ネットワークか、他のプロジェクトにある VPC ネットワークを使用できます。

クラスタと同じプロジェクト内の VPC ネットワーク

AlloyDB クラスタと同じ Google Cloud プロジェクトにある VPC ネットワークを使用する AlloyDB 接続の構成方法は、その VPC ネットワークにプライベート サービス アクセス構成がすでに存在するかどうかによって異なります。

共有 VPC ネットワーク

AlloyDB クラスタを含む Google Cloud プロジェクトとは異なるプロジェクトにある VPC ネットワークを使用する AlloyDB 接続を構成するには、次の操作を行います。

  1. VPC ネットワークが存在するプロジェクトを共有 VPC 用に構成して、そのプロジェクトをホスト プロジェクトとし、AlloyDB が存在するプロジェクトをサービス プロジェクトとします。

  2. VPC ネットワークのプライベート サービス アクセス構成に AlloyDB 用の十分な IP アドレス空間があることを確認し、必要に応じてアドレス空間を増やします

  3. AlloyDB リソースを作成できるユーザーをサービス プロジェクト管理者として構成し、プライベート サービス アクセス構成で割り振られた適切な IP アドレス範囲へのアクセス権を付与します。

共有 VPC の詳細については、共有 VPC の概要共有 VPC のプロビジョニングをご覧ください。

IP アドレス範囲のサイズに関する考慮事項

プライベート サービス アクセスのアドレス範囲を選択する際は、AlloyDB のニーズに加え、同じアドレスプール内の IP アドレスを必要とするその他のGoogle Cloud サービスのニーズにも対応できる十分な広さの範囲を選ぶことが大切です。このプールのサイズはいつでも調整できます。

AlloyDB では、クラスタをデプロイする各リージョンでサイズ /24 のサブネットが使用されます。このため、プライベート サービス アクセスにはサブネット マスクが /16 の IP アドレス範囲を割り振ることをおすすめします。これにより、複数のリージョンでクラスタとインスタンスを作成し、他の Google Cloud サービスに使用できる IP アドレスを十分に残すことができます。この推奨事項の詳細については、IP アドレス範囲のサイズをご覧ください。

プライベートで使用されるパブリック IP 範囲

AlloyDB 用のプライベート サービス アクセスでは、プライベートで使用されるパブリック IP 範囲(PUPI)を使うことができません。PUPI 範囲を使用するワークロードから AlloyDB に接続するには、Private Service Connect を使用する必要があります。

次のステップ