Private Service Connect インターフェースを構成する

Datastream では、Private Service Connect インターフェースを使用すると、ネットワーク トラフィックをGoogle Cloud内に完全に維持しながら、データを非公開で複製できます。Private Service Connect インターフェースは、プロデューサーの Virtual Private Cloud(VPC)ネットワークをコンシューマー VPC ネットワーク内のネットワーク アタッチメントに接続します。プロデューサー ネットワークとコンシューマ ネットワークは、異なるプロジェクトや組織に属していてもかまいません。

図 1. Private Service Connect インターフェースを使用すると、サービス プロデューサーはサービス ユーザーへの接続を開始できます。

Private Service Connect を構成する前に、主な用語、前提条件、料金、必要なロールと権限を確認してください。詳細については、VPC ドキュメントの Private Service Connect をご覧ください。

主な用語

このセクションでは、Private Service Connect に適用される主な用語とコンセプトの概要について説明します。

  • プロデューサー: コンシューマー ネットワークへの接続を開始するエンティティ。通常は VPC ネットワーク内のサービスまたは VM です。プロデューサーはサービスを提供します。Datastream のコンテキストでは、データを取得して宛先に複製します。

  • コンシューマー: プロデューサーからの接続を受信するエンティティ(通常は VPC ネットワーク内の VM)。コンシューマーが接続を受け入れると、Google Cloud は、ネットワーク アタッチメントで指定されたコンシューマー VPC ネットワーク内のサブネットの IP アドレスを Private Service Connect インターフェースに割り振ります。Private Service Connect インターフェースの VM には、プロデューサーの VPC ネットワークに接続する 2 つ目のネットワーク インターフェースがあります。

  • ネットワーク アタッチメント: プロデューサー VPC ネットワークが Private Service Connect インターフェースを介してコンシューマー VPC ネットワークへの接続を開始できるようにするリージョン リソース。コンシューマー VPC ネットワークでは、ネットワーク アタッチメントは、プロデューサー ネットワーク内の Private Service Connect インターフェースからの接続の指定されたエントリ ポイントとして機能します。ネットワーク アタッチメントに Private Service Connect インターフェースが確立されると、プロデューサー VM にはネットワーク アタッチメントのサブネットから IP が割り当てられます。Private Service Connect インターフェースの仮想マシン インスタンスには、プロデューサー サブネットに接続する通常のネットワーク インターフェースが 1 つ以上あります。詳細については、ネットワーク アタッチメントについてをご覧ください。

  • プロデューサー プロジェクト: Datastream を実行する仮想マシン(VM)がホストされている Google 所有のプロジェクト。お客様の VPC 内のリソースにアクセスするために、Datastream VM は、Private Service Connect ネットワーク インターフェースがサブネットから割り当てる IP アドレスを使用します。

Private Service Connect の前提条件

Private Service Connect インターフェースを使用してプライベート接続の構成を作成する前に、次の手順を実施して Datastream がプロジェクトへの接続を確立できるようにする必要があります。

  • Datastream のプライベート ネットワークに接続できる VPC ネットワークがある。VPC ネットワークの作成の詳細については、VPC ネットワークの作成と管理をご覧ください。

  • VPC プロジェクトにネットワーク アタッチメントを作成する。

  • ネットワーク アタッチメントに関連付けられたサブネットワークと、Datastream と通信する VPC ネットワーク内のリソース(NAT VM、内部ロードバランサ、ソース データベース、宛先データベースなど)が、Datastream で予約されている IP アドレス範囲(10.1.0.0/16 と 10.2.2.0/24)を使用していないことを確認してください。これらの予約範囲を使用すると、Datastream の内部インフラストラクチャとのルーティングの競合が発生し、予期しない接続エラーが発生する可能性があります。

  • Google Cloud とオンプレミス ファイアウォールで、ネットワーク アタッチメントの IP アドレス範囲から、データのストリーミング元となるソース データベースへのトラフィックが許可されていることを確認する。ファイアウォール ルールの作成方法については、VPC ファイアウォール ルールを使用するをご覧ください。

料金

Private Service Connect を介したデータの上り(内向き)と下り(外向き)には料金が発生します。詳細については、Private Service Connect の料金をご覧ください。

必要なロールと権限

ネットワーク アタッチメントの作成に必要な権限を取得するには、プロジェクトに対して次の Identity and Access Management(IAM)ロールを付与するように管理者に依頼してください。

  • ネットワーク アタッチメントの作成、表示、削除: Compute Network 管理者(roles/compute.networkAdmin)

ネットワーク アタッチメントまたはその基盤となるサブネットワークが Datastream とは異なるプロジェクトにある場合(共有 VPC ホスト プロジェクトを使用している場合など)、service-DATASTREAM-PROJECT-NUMBER@gcp-sa-datastream. サービス アカウントに次のロールを付与する必要があります。

  • ネットワーキング リソースに対する読み取り専用アクセス権: Compute ネットワーク閲覧者(roles/compute.networkViewer)

    ネットワーク アタッチメントまたはそのサブネットワークが存在するプロジェクトにロールを付与し、DATASTREAM-PROJECT-NUMBER を Datastream がデプロイされているプロジェクトの番号に置き換えます。

ロールの付与の詳細については、アクセスの管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Datastream のアクセス制御オプションの詳細については、IAM によるアクセス制御をご覧ください。

Private Service Connect を構成する

Datastream が Private Service Connect インターフェースを使用してネットワークへのアウトバウンド接続を確立できるようにするには:

  1. プロジェクトにネットワーク アタッチメントを作成する。
  2. プライベート接続構成を作成します。

ネットワーク アタッチメントを作成する

Datastream で Private Service Connect を構成するには、まずネットワーク アタッチメントを作成する必要があります。

コンソール

  1. Google Cloud コンソールで、[ネットワーク アタッチメント] ページに移動します。

    [ネットワーク アタッチメント] に移動

  2. [ネットワーク アタッチメントの作成] をクリックします。

  3. [名前] フィールドに、ネットワーク アタッチメントの名前を入力します。

  4. [ネットワーク] リストで VPC または共有 VPC ネットワークを選択します。

  5. [リージョン] リストで Google Cloud リージョンを選択します。このリージョンは、Datastream プライベート ネットワークにピアリングされた VPC ネットワークのサブネットに使用されるリージョンと同じである必要があります。詳細については、Private Service Connect の前提条件をご覧ください。

  6. [サブネットワーク] リストでサブネットワークの範囲を選択します。

  7. [接続の設定] で、[選択したプロジェクトの接続を受け入れる] を選択します。

    Datastream のプライベート接続リソースを作成すると、Datastream によってプロデューサー プロジェクトが [承認済みプロジェクト] リストに自動的に追加されます。

  8. [承認済みプロジェクト] や [不承認となったプロジェクト] は追加しないでください。

  9. [ネットワーク アタッチメントの作成] をクリックします。

gcloud

  1. 1 つ以上のサブネットワークを作成します。次に例を示します。

    gcloud compute networks subnets create subnet-1 --network=network-0 --range=10.10.1.0/24 --region=REGION
    

    ネットワーク アタッチメントは、後続のステップでこれらのサブネットワークを使用します。サブネットワーク範囲が、Datastream によって予約されている内部 IP 範囲(10.1.0.0/16 と 10.2.2.0/24)と重複しないようにしてください。

  2. Datastream プロジェクトと同じリージョンに、connection-preference プロパティを ACCEPT_MANUAL に設定して、ネットワーク アタッチメント リソースを作成します。

    gcloud compute network-attachments create NAME
    --region=REGION
    --connection-preference=ACCEPT_MANUAL
    --subnets=SUBNET
    

    次のように置き換えます。

    • NAME: ネットワーク アタッチメントの名前。
    • REGION: Google Cloud リージョンの名前。このリージョンは、Datastream プライベート ネットワークと同じにする必要があります。
    • SUBNET: サブネットの名前。

    このコマンドの出力は、次の形式のネットワーク アタッチメント URL です。

    projects/PROJECT/locations/REGION/network-attachments/NETWORK_ATTACHMENT_ID。

    Datastream の接続に必要になるため、この URL をメモしておきます。 Google Cloudを使用して Private Service Connect インターフェースのプライベート接続構成を作成する方法については、プライベート接続構成を管理するをご覧ください。

プライベート接続構成の作成

Google Cloud プロジェクトにネットワーク アタッチメントを作成したら、Private Service Connect インターフェースを使用してプライベート接続構成を設定する必要があります。構成を作成するときに、Private Service Connect インターフェースをホストするプロジェクトを許可リストに登録します。次に、Private Service Connect リソースの一部として、ネットワーク アタッチメント URL を Datastream に提供します。

詳細については、プライベート接続構成を作成するをご覧ください。

次のステップ