ユーザー登録済みの Private Service Connect 接続を使用して複数の VPC ネットワークを設定する

このページでは、複数の Virtual Private Cloud(VPC)ネットワークと新しい Memorystore for Valkey インスタンスの接続を設定する方法について説明します。手順は次のとおりです。

  • コンシューマ ネットワークに Private Service Connect エンドポイントを作成する。

  • Memorystore インスタンスのサービス アタッチメントをターゲットにします。

  • コンポーネントをインスタンスに登録します。

自動登録された Private Service Connect 接続がすでにあるインスタンスに複数の VPC ネットワーキングを設定する方法については、自動登録された接続でプロビジョニングされたインスタンスに複数の VPC ネットワークを設定するをご覧ください。

複数の VPC ネットワークの設定の詳細については、複数の VPC ネットワークについてをご覧ください。

マルチ VPC ネットワーキング アーキテクチャ。2 つのプロジェクトにまたがる 2 つのカスタマー VPC ネットワークが Private Service Connect 接続に接続されており、この接続は Memorystore サービス アタッチメントに接続されています。

主要なステップのまとめ

このセクションでは、このチュートリアルで説明する Private Service Connect 接続の設定手順の概要について説明します。まず、始める前にの手順を完了します。

重要なステップ

  1. ステップ 1: インスタンスを作成する
  2. ステップ 2: サービス アタッチメントのパスをメモする
  3. ステップ 3: 最初の VPC ネットワークの Private Service Connect 接続を設定して登録する
  4. ステップ 4: 2 番目の VPC ネットワークの Private Service Connect 接続を設定して登録する
  5. ステップ 5: クライアント接続を設定する

また、次のこともできます。

始める前に

始める前に、次の IAM ロールと Google Cloud リソースがあることを確認します。

必要な IAM のロール

リソース ID の例 リソースの種類
roles/memorystore.admin Memorystore for Valkey インスタンスを完全に制御し、インスタンスのライフサイクルを制御します。
roles/servicedirectory.editor Service Directory リソースを編集する権限を付与します。このロールは、Private Service Connect エンドポイントの作成に必要です。
roles/compute.networkAdmin Memorystore インスタンスへの接続を開始する VPC ネットワークを完全に制御できる権限を付与します。IP アドレス、ファイアウォール ルール、Private Service Connect エンドポイントを作成して管理できます。このロールは、Private Service Connect エンドポイントの作成に必要です。

Private Service Connect を使用して複数の VPC ネットワークから Memorystore インスタンスに接続する場合、各ネットワークに独自の管理者が存在する場合があります。

前提条件となるリソース

このチュートリアルを開始する前に、次のリソースを作成する必要があります。次の ID とロケーションを使用してリソースを作成することをおすすめしますが、独自の ID とロケーションを選択することもできます。このチュートリアルでは、次のリソースを使用して、VPC ネットワーク 1 に 2 つの Private Service Connect 接続を設定します。

リソース ID の例 リソースの種類 フルパスの例 説明
my-project-1 Google Cloud プロジェクト なし Memorystore インスタンスがこのプロジェクト内にある
my-network-1 VPC ネットワーク projects/my-project-1/global/networks/my-network-1 このチュートリアルでは、このネットワークに 2 つの Private Service Connect 接続を設定します。
my-subnet-1 VPC サブネット projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 このチュートリアルでは、このサブネットで 2 つの IP アドレスを予約します。

このチュートリアルでは、次のリソースを使用して、VPC ネットワーク 2 に 2 つの Private Service Connect 接続を作成します。

リソース ID の例 リソースの種類 フルパスの例 説明
my-project-2 Google Cloud プロジェクト なし このチュートリアルでは、2 番目のネットワークと 2 番目のサブネットワークを作成するプロジェクトです。ただし、2 番目のネットワークとサブネットは、必要に応じて最初のネットワークと同じプロジェクトに配置できます。
my-network-2 VPC ネットワーク projects/my-project-2/global/networks/my-network-2 このチュートリアルでは、このネットワークに 2 つの Private Service Connect エンドポイントを作成します。
my-subnet-2 VPC サブネット projects/my-project-2/regions/us-central1/subnetworks/my-subnet-2 このチュートリアルでは、このサブネットで 2 つの IP アドレスを予約します。

API を有効にする

Compute Engine ネットワーキング、Memorystore for Valkey、Private Service Connect リソースの管理に必要な次の API を有効にします。

gcloud

プロジェクト 1 とプロジェクト 2 の両方で API を有効にするには、次のコマンドを実行します。

gcloud services enable --project=PROJECT_1_ID compute.googleapis.com
gcloud services enable --project=PROJECT_2_ID compute.googleapis.com
gcloud services enable --project=PROJECT_1_ID memorystore.googleapis.com
gcloud services enable --project=PROJECT_2_ID memorystore.googleapis.com
gcloud services enable --project=PROJECT_1_ID servicedirectory.googleapis.com
gcloud services enable --project=PROJECT_2_ID servicedirectory.googleapis.com

ステップ 1: インスタンスを作成する

このガイドでは、自動的に登録された Private Service Connect 接続がない Memorystore インスタンスの接続を設定する方法について説明します。サービス接続ポリシーを使用できますが、ユーザーが Private Service Connect 接続を登録するプロセスでは、サービス接続ポリシーは必要ありません。

Private Service Connect 接続を自動的に作成して登録しないようにするには、次の例に示すように、ネットワークを指定しないで create コマンドを実行します。

gcloud

Private Service Connect 接続を自動作成せずにインスタンスを作成するには、--network パラメータまたは --endpoints パラメータを使用せずに、次のコマンドを実行します。gcloud memorystore instances create

gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--replica-count=REPLICA_COUNT \
--shard-count=SHARD_COUNT

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

  • INSTANCE_ID は、作成する Memorystore for Valkey インスタンスの ID です。インスタンス ID は 1〜63 文字にする必要があり、小文字、数字、ハイフンのみ使用できます。先頭は英小文字に、末尾は英小文字または数字にする必要があります。

  • REGION_ID は、インスタンスを配置するリージョンです。

  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。

  • REPLICA_COUNT は、選択したレプリカ数(シャードあたり)です。指定できる値は 012 です。

  • SHARD_COUNT によってインスタンス内のシャードの数が決定されます。シャード数によって、インスタンス データを保存するための合計メモリ容量が決定されます。インスタンス仕様の詳細については、インスタンスとノードの仕様をご覧ください。

次に例を示します。

gcloud memorystore instances create my-instance \
--location=us-central1 \
--replica-count=2 \
--shard-count=8

ステップ 2: サービス アタッチメントのパスをメモする

Memorystore インスタンスを作成したら、Memorystore インスタンスの 2 つのサービス アタッチメント URI をメモします。これらのサービス アタッチメント URI を使用して、Private Service Connect 接続を設定します。

gcloud

Private Service Connect が有効になっているインスタンスの概要情報を表示するには、pscServiceAttachments フィールドを探します。このフィールドには、インスタンスのサービス アタッチメントを指す 2 つの URI が表示されます。この情報を表示するには、gcloud memorystore instances describe コマンドを使用します。

gcloud memorystore instances describe INSTANCE_ID --project=PROJECT_1_ID --location=REGION_ID

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

  • INSTANCE_ID は、Memorystore インスタンスの名前です。
  • PROJECT_1_ID は、Memorystore インスタンスを含むプロジェクト 1 の ID です。
  • REGION_ID は、インスタンスが配置されているリージョンの ID です。

このコマンドの出力例を次に示します。

gcloud memorystore instances describe my-instance \
--project=my-project-1 --location=us-central1

...

pscAttachmentDetails:
- connectionType: CONNECTION_TYPE_DISCOVERY
  serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
- serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2

ステップ 3: 最初の VPC ネットワークの接続を設定して登録する

このセクションでは、最初の VPC ネットワークに必要な 2 つの Private Service Connect 接続を設定する方法について説明します。接続を設定する VPC ごとに、このプロセスを繰り返す必要があります。たとえば、このチュートリアルの後半では、2 つ目の VPC ネットワークに必要な新しい接続について、これらの手順を繰り返します。

ネットワーク 1 の Private Service Connect エンドポイントを作成する

このセクションでは、ネットワーク 1 に 2 つの Private Service Connect エンドポイントを作成するために必要な操作について説明します。

ネットワーク 1 の IP アドレスを予約する

次に、ネットワーク 1 で 2 つの IP アドレスを予約します。

IP アドレス 1 を予約する

gcloud

IP アドレス 1 を予約するには、gcloud compute addresses create コマンドを実行します。

gcloud compute addresses create IP_ADDRESS_1_ID \
--project=PROJECT_1_ID \
--addresses=IP_ADDRESS_1 \
--region=REGION_ID \
--subnet=projects/PROJECT_1_ID/regions/REGION_ID/subnetworks/SUBNET_1_ID \
--purpose=GCE_ENDPOINT

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

  • IP_ADDRESS_1_ID は、IP アドレスに指定する ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
  • IP_ADDRESS_1 は、前提条件リソースの一部として予約した SUBNET_1_ID 範囲内の任意の IP アドレスです。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SUBNET_1_ID は、前提条件リソースの一部としてプロジェクト 1 のネットワーク 1 で予約したサブネットワークの ID です。

次に例を示します。

gcloud compute addresses create my-ip-address-1 \
--project=my-project-1 \
--addresses=10.2.5.9 \
--region=us-central1 \
--subnet=projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 \
--purpose=GCE_ENDPOINT
IP アドレス 2 を予約する

gcloud

IP アドレス 2 を予約するには、gcloud compute addresses create コマンドを実行します。

gcloud compute addresses create IP_ADDRESS_2_ID \
--project=PROJECT_1_ID \
--addresses=IP_ADDRESS_2 \
--region=REGION_ID \
--subnet=projects/PROJECT_1_ID/regions/REGION_ID/subnetworks/SUBNET_1_ID \
--purpose=GCE_ENDPOINT

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

  • IP_ADDRESS_2_ID は、IP アドレスに指定する ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
  • IP_ADDRESS_2 は、前提条件リソースの一部として予約した SUBNET_1_ID 範囲内の任意の IP アドレスです。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SUBNET_1_ID は、前提条件リソースの一部としてプロジェクト 1 のネットワーク 1 で予約したサブネットの ID です。

ネットワーク 1 の転送ルールを追加する

次に、IP アドレスを Memorystore インスタンスのサービス アタッチメントに接続する転送ルールを作成します。

IP 1 の転送ルール 1 を追加する

gcloud

IP 1 の転送ルールを追加するには、gcloud compute forwarding-rules create コマンドを実行します。

gcloud compute forwarding-rules create FORWARDING_RULE_1_NAME \
--address=IP_ADDRESS_1_ID \
--network=projects/PROJECT_1_ID/global/networks/NETWORK_1_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_1 \
--project=PROJECT_1_ID \
--allow-psc-global-access

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

  • FORWARDING_RULE_1_NAME は、作成する転送ルールに付ける名前です。
  • IP_ADDRESS_1_ID は、[IP アドレスを予約する] セクションで予約した IP アドレスの ID です。
  • NETWORK_1_ID は、最初のネットワークの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SERVICE_ATTACHMENT_1 は、サービス アタッチメントのパスをメモするCONNECTION_TYPE_DISCOVERY フィールドの後に記載したサービス アタッチメントです。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。

次に例を示します。

gcloud compute forwarding-rules create my-forwarding-rule-1 \
--address=my-ip-address-1 \
--network=projects/my-project-1/global/networks/my-network-1 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa \
--project=my-project-1 \
--allow-psc-global-access
IP 2 の転送ルール 2 を追加する

gcloud

IP 2 の転送ルールを追加するには、gcloud compute forwarding-rules create コマンドを実行します。

gcloud compute forwarding-rules create FORWARDING_RULE_2_NAME \
--address=IP_ADDRESS_2_ID \
--network=projects/PROJECT_1_ID/global/networks/NETWORK_1_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_2 \
--project=PROJECT_1_ID \
--allow-psc-global-access

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

  • FORWARDING_RULE_2_NAME は、作成する転送ルールに付ける名前です。
  • IP_ADDRESS_2_ID は、[IP アドレスを予約する] セクションで予約した IP アドレスの ID です。
  • NETWORK_1_ID は、最初のネットワークの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SERVICE_ATTACHMENT_2 は、サービス アタッチメントのパスをメモするでメモした 2 番目のサービス アタッチメントです。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。

次に例を示します。

gcloud compute forwarding-rules create my-forwarding-rule-2 \
--address=my-ip-address-2 \
--network=projects/my-project-1/global/networks/my-network-1 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa-2 \
--project=my-project-1 \
--allow-psc-global-access

ネットワーク 1 の Memorystore インスタンスに Private Service Connect 接続を登録する

このセクションでは、Private Service Connect 接続を Memorystore インスタンスに登録する手順について説明します。まず、転送ルールの接続 ID とプロジェクト ID を取得する必要があります。

次に、Private Service Connect 接続情報を Memorystore インスタンスに登録して接続を有効にします。

ネットワーク 1 の転送ルールの接続 ID とプロジェクト ID を取得する

次に、各転送ルールの pscConnectionId 値を取得します。値をメモします。

Private Service Connect 接続 ID 1 を取得する

gcloud

pscConnectionId 値とその他の転送ルールの概要情報を表示するには、gcloud compute forwarding-rules describe コマンドを実行します。

gcloud compute forwarding-rules describe FORWARDING_RULE_1_NAME \
--project=PROJECT_1_ID \
--region=REGION_ID

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

  • FORWARDING_RULE_1_NAME は、最初の転送ルールの名前です。
  • PROJECT_1_ID は、転送ルールを含む Google Cloud プロジェクトの ID です。

次の例は、このコマンドの出力例を示しています。

gcloud compute forwarding-rules describe my-forwarding-rule-1 \
--project=my-project-1 \
--region=us-central1

...

pscConnectionId: '415109836469698'
Private Service Connect 接続 ID 2 を取得する

gcloud

pscConnectionId 値とその他の転送ルールの概要情報を表示するには、gcloud compute forwarding-rules describe コマンドを実行します。

gcloud compute forwarding-rules describe FORWARDING_RULE_2_NAME \
--project=PROJECT_1_ID \
--region=REGION_ID

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

  • FORWARDING_RULE_2_NAME は、2 番目の転送ルールの名前です。
  • PROJECT_1_ID は、転送ルールを含む Google Cloud プロジェクトの ID です。

VPC ネットワーク 1 の接続情報を登録する

gcloud

各 Private Service Connect 接続を登録するには、Private Service Connect 接続 ID、IP アドレス、ネットワーク パス、転送ルールのパス/URI、ターゲット サービス アタッチメントを指定します。これを行うには、gcloud memorystore instances update --add-endpoints コマンドを実行します。

  gcloud memorystore instances update INSTANCE_ID \
   --location=REGION_ID \
   --project=PROJECT_1_ID \
   --add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_1_ID","ipAddress":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_2_ID","ipAddress":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'
  

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

  • INSTANCE_ID は、Memorystore for Valkey インスタンスの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
  • PSC_CONNECTION_1_ID は、転送ルールの接続 ID の取得時にメモした最初の Private Service Connect 接続 ID です。
  • IP_ADDRESS_1 は、最初に予約した IP アドレスのアドレスです。
  • NETWORK_1_ID はネットワーク 1 の ID です。
  • FORWARDING_RULE_1_NAME は、最初に作成した転送ルールの名前です。
  • SERVICE_ATTACHMENT_1 は、FORWARDING RULE_1_NAME が接続されている最初のサービス アタッチメントです。
  • PSC_CONNECTION_2_ID は、転送ルールの接続 ID の取得時にメモした 2 番目の Private Service Connect 接続 ID です。
  • IP_ADDRESS_2 は、予約した 2 番目の IP アドレスのアドレスです。
  • FORWARDING_RULE_2_NAME は、作成した 2 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_2 は、FORWARDING_RULE_2_NAME が接続されている 2 番目のサービス アタッチメントです。

    次に例を示します。

    gcloud memorystore instances update my-instance \
    --location=us-central-1 \
    --project=my-project-1 \
    --add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"41510983646969883","ipAddress":"10.2.5.9","network":"projects/my-project-1/global/networks/my-network-1","forwardingRule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-1","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"}}, {"pscConnection":{"pscConnectionId":"41510983646969234","ipAddress":"10.2.5.11","network":"projects/my-project-1/global/networks/my-network-1","forwardingRule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}}]}]'
    

ステップ 4: 2 番目の VPC ネットワークの接続を設定して登録する

このセクションでは、2 番目の VPC ネットワークに必要な 2 つの限定公開サービス接続を設定する方法について説明します。

ネットワーク 2 の Private Service Connect エンドポイントを作成する

このセクションでは、ネットワーク 2 に 2 つの Private Service Connect エンドポイントを作成するために必要な操作について説明します。

ネットワーク 2 の IP アドレスを予約する

次に、ネットワーク 2 で 2 つの IP アドレスを予約します。

IP アドレス 3 を予約する

gcloud

IP アドレス 3 を予約するには、gcloud compute addresses create コマンドを実行します。

gcloud compute addresses create IP_ADDRESS_3_ID \
--project=PROJECT_2_ID \
--addresses=IP_ADDRESS_3 \
--region=REGION_ID \
--subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \
--purpose=GCE_ENDPOINT

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

  • IP_ADDRESS_3_ID は、IP アドレスに指定する ID です。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。
  • IP_ADDRESS_3 は、前提条件リソースの一部として予約した SUBNET_2_ID 範囲内の任意の IP アドレスです。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SUBNET_2_ID は、前提条件リソースの一部としてプロジェクト 2 のネットワーク 2 で予約したサブネットワークの ID です。
IP アドレス 4 を予約する

gcloud

IP アドレス 4 を予約するには、gcloud compute addresses create コマンドを実行します。

gcloud compute addresses create IP_ADDRESS_4_ID \
--project=PROJECT_2_ID \
--addresses=IP_ADDRESS_4 \
--region=REGION_ID \
--subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \
--purpose=GCE_ENDPOINT

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

  • IP_ADDRESS_4_ID は、IP アドレスに指定する ID です。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。
  • IP_ADDRESS_4 は、前提条件リソースの一部として予約した SUBNET_2_ID 範囲内の任意の IP アドレスです。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SUBNET_2_ID は、前提条件リソースの一部としてプロジェクト 2 のネットワーク 2 で予約したサブネットワークの ID です。

ネットワーク 2 の転送ルールを追加する

次に、IP アドレスを Memorystore インスタンスのサービス アタッチメントに接続する転送ルールを作成します。

IP 3 の転送ルール 3 を追加する

gcloud

IP 3 の転送ルールを追加するには、gcloud compute forwarding-rules create コマンドを実行します。

gcloud compute forwarding-rules create FORWARDING_RULE_3_NAME \
--address=IP_ADDRESS_3_ID \
--network=projects/PROJECT_2_ID/global/networks/NETWORK_2_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_1 \
--project=PROJECT_2_ID \
--allow-psc-global-access

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

  • FORWARDING_RULE_3_NAME は、作成する転送ルールに付ける名前です。
  • IP_ADDRESS_3_ID は、[IP アドレスを予約する] セクションで予約した IP アドレスの ID です。
  • NETWORK_2_ID は、2 つ目のネットワークの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SERVICE_ATTACHMENT_1 は、サービス アタッチメントのパスをメモするでメモした最初のサービス アタッチメントです。
  • PROJECT_2_ID は 2 つ目のプロジェクトです。

次に例を示します。

gcloud compute forwarding-rules create my-forwarding-rule-3 \
--address=my-ip-address-3 \
--network=projects/my-project-2/global/networks/my-network-2 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa \
--project=my-project-2 \
--allow-psc-global-access
IP 4 の転送ルール 4 を追加する

gcloud

IP 4 の転送ルールを追加するには、gcloud compute forwarding-rules create コマンドを実行します。

gcloud compute forwarding-rules create FORWARDING_RULE_4_NAME \
--address=IP_ADDRESS_4_ID \
--network=projects/PROJECT_2_ID/global/networks/NETWORK_2_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_2 \
--project=PROJECT_2_ID \
--allow-psc-global-access

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

  • FORWARDING_RULE_4_NAME は、作成する転送ルールに付ける名前です。
  • IP_ADDRESS_4_ID は、[IP アドレスを予約する] セクションで予約した IP アドレスの ID です。
  • NETWORK_2_ID は、2 つ目のネットワークの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンです。
  • SERVICE_ATTACHMENT_2 は、サービス アタッチメントのパスをメモするでメモした 2 番目のサービス アタッチメントです。
  • PROJECT_2_ID は 2 つ目のプロジェクトです。

次に例を示します。

gcloud compute forwarding-rules create my-forwarding-rule-4 \
--address=my-ip-address-4 \
--network=projects/my-project-2/global/networks/my-network-2 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa-2 \
--project=my-project-2 \
--allow-psc-global-access

ネットワーク 2 の Memorystore インスタンスに Private Service Connect 接続を登録する

このセクションでは、Private Service Connect 接続を Memorystore インスタンスに登録する手順について説明します。まず、転送ルールの接続 ID とプロジェクト ID を取得する必要があります。

ネットワーク 2 の転送ルールの接続 ID とプロジェクト ID を取得する

次に、各転送ルールの pscConnectionId 値を取得します。値をメモします。

Private Service Connect 接続 ID 3 を取得する

gcloud

pscConnectionId 値とその他の転送ルールの概要情報を表示するには、gcloud compute forwarding-rules describe コマンドを実行します。

gcloud compute forwarding-rules describe FORWARDING_RULE_3_NAME \
--project=PROJECT_2_ID \
--region=REGION_ID

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

  • FORWARDING_RULE_3_NAME は、3 番目の転送ルールの名前です。
  • PROJECT_2_ID は、転送ルールを含む Google Cloud プロジェクトの ID です。

次の例は、このコマンドの出力例を示しています。

gcloud compute forwarding-rules describe my-forwarding-rule-3 \
--project=my-project-2 \
--region=us-central1

...

pscConnectionId: '94710983646969729'
Private Service Connect 接続 ID 4 を取得する

gcloud

pscConnectionId 値とその他の転送ルールの概要情報を表示するには、gcloud compute forwarding-rules describe コマンドを実行します。

gcloud compute forwarding-rules describe FORWARDING_RULE_4_NAME \
--project=PROJECT_2_ID \
--region=REGION_ID

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

  • FORWARDING_RULE_4_NAME は、4 番目の転送ルールの名前です。
  • PROJECT_2_ID は、転送ルールを含む Google Cloud プロジェクトの ID です。

VPC ネットワーク 2 の Private Service Connect 接続情報を登録する

gcloud

各 Private Service Connect 接続を登録するには、Private Service Connect 接続 ID、IP アドレス、ネットワーク パス、転送ルールのパス/URI、ターゲット サービス アタッチメントを指定します。これを行うには、gcloud memorystore instances update --add-endpoints コマンドを実行します。

gcloud memorystore instances update INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_3_ID","ipAddress":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_4_ID","ipAddress":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'

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

  • INSTANCE_ID は、Memorystore for Valkey インスタンスの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。
  • PSC_CONNECTION_3_ID は、ネットワーク 2 の転送ルール接続 ID の取得でメモした Private Service Connect 接続 3 です。
  • IP_ADDRESS_3 は、予約した 3 番目の IP アドレスのアドレスです。
  • NETWORK_2_ID はネットワーク 2 の ID です。
  • FORWARDING_RULE_3_NAME は、作成した 3 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_1 は、FORWARDING RULE_3_NAME が接続されている最初のサービス アタッチメントです。
  • PSC_CONNECTION_4_ID は、ネットワーク 2 の転送ルール接続 ID の取得でメモした Private Service Connect 接続 4 です。
  • IP_ADDRESS_4 は、予約した 4 番目の IP アドレスのアドレスです。
  • FORWARDING_RULE_4_NAME は、作成した 4 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_2 は、FORWARDING_RULE_4_NAME が接続されている 2 番目のサービス アタッチメントです。

次に例を示します。

gcloud memorystore instances my-instance \
--location=us-central-1 \
--project=my-project-1 \
--add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"94710983646969729","ipAddress":"10.142.0.10","network":"projects/my-project-2/global/networks/my-network-2","forwardingRule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"}}, {"pscConnection":{"pscConnectionId":"86510983646969993","ipAddress":"10.142.0.12","network":"projects/my-project-2/global/networks/my-network-2","forwardingRule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}}]}]'

ステップ 5: クライアント接続を設定する

このセクションでは、このガイドのネットワークの接続用にクライアントを構成する方法について説明します。

Private Service Connect 接続エンドポイント情報をメモする

次に、このチュートリアルで設定したネットワークごとに 1 つずつ、2 つの IP アドレスをメモします。Memorystore 用に設定する各ネットワークには、検出接続エンドポイントがあります。

gcloud

ネットワークの Private Service Connect 接続エンドポイント情報を表示するには、gcloud memorystore instances describe コマンドを実行します。

gcloud memorystore instances describe INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID

出力には Endpoints のリストが含まれます。Endpoint ごとに、ユーザー登録された 2 つの Private Service Connect 接続があります。

CONNECTION_TYPE_DISCOVERY タイプの Private Service Connect 接続に対応する IP アドレスをメモします。このチュートリアルでは、設定した 2 つのネットワークごとに 1 つあります。

たとえば、以下は、メモしておく必要がある IP アドレスを含む gcloud memorystore instances describe コマンドの出力例です。

Endpoints:
- connections:
  - pscConnection:
      connectionType: CONNECTION_TYPE_DISCOVERY
      forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-1
      ipAddress: 10.2.5.9
      network: projects/my-project-1/global/networks/my-network-1
      projectId: my-network-1
      pscConnectionId: '41510983646969883'
      pscConnectionStatus: ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
  - pscConnection:
      forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2
      ipAddress: 10.2.5.11
      network: projects/my-project-1/global/networks/my-network-1
      projectId: my-project-1
      pscConnectionId: '41510983646969234'
      pscConnectionStatus: ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2
- connections:
  - pscConnection:
      connectionType: CONNECTION_TYPE_DISCOVERY
      forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3
      ipAddress: 10.142.0.10        
      network: projects/my-project-2/global/networks/my-network-2
      projectId: my-network-2
      pscConnectionId: '94710983646969729'
      pscConnectionStatus: ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
  - pscConnection:
      forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4
      ipAddress: 10.142.0.12
      network: projects/my-project-2/global/networks/my-network-2
      projectId: my-project-2
      pscConnectionId: '86510983646969993'
      pscConnectionStatus: ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2

上記の出力で、メモしておく必要がある検出用 Private Service Connect 接続の IP アドレスの値は 10.2.5.910.142.0.10 です。

クライアントを構成する

次に、クライアントを次のように構成します。

  • ネットワーク 1 のディスカバリー IP を使用して、ネットワーク 1 のクライアント接続を構成します。これは、前の手順でメモした IP アドレスです。このチュートリアルの例では、値は 10.2.5.9 です。

  • ネットワーク 2 のディスカバリー IP を使用して、ネットワーク 2 のクライアント接続を構成します。これは、前の手順でメモした IP アドレスです。このチュートリアルの例では、値は 10.142.0.10 です。

Memorystore インスタンスに接続する手順については、valkey-cli を使用して Compute Engine VM から接続するをご覧ください。

Private Service Connect 接続を削除する

Memorystore インスタンスを削除する前に、インスタンスに関連付けられているすべての Private Service Connect 接続を削除する必要があります。これを行うには、このチュートリアルで設定した転送ルールを削除し、エンドポイントの登録を解除する必要があります。このセクションでは、まずすべての転送ルールを削除してから、エンドポイントの登録を解除する手順について説明します。ただし、必要に応じて、転送ルールを削除し、一度に 1 つのネットワークのエンドポイントの登録を解除できます。

また、必要に応じて、予約済みの IP アドレスを削除して、将来の使用のために解放することもできます。

転送ルールの削除

このセクションでは、このチュートリアルで作成した転送ルールを削除する手順について説明します。

転送ルール 1 を削除する

gcloud

転送ルールを削除するには、gcloud compute forwarding-rules delete コマンドを実行します。

gcloud compute forwarding-rules delete FORWARDING_RULE_1_NAME \
--region=REGION_ID \
--project=PROJECT_1_ID

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

  • FORWARDING_RULE_1_NAME は、最初の転送ルールの名前です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。

転送ルール 2 を削除する

gcloud

転送ルールを削除するには、gcloud compute forwarding-rules delete コマンドを実行します。

gcloud compute forwarding-rules delete FORWARDING_RULE_2_NAME \
--region=REGION_ID \
--project=PROJECT_1_ID

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

  • FORWARDING_RULE_2_NAME は、2 番目の転送ルールの名前です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。

転送ルール 3 を削除する

gcloud

転送ルールを削除するには、gcloud compute forwarding-rules delete コマンドを実行します。

gcloud compute forwarding-rules delete FORWARDING_RULE_3_NAME \
--region=REGION_ID \
--project=PROJECT_2_ID

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

  • FORWARDING_RULE_3_NAME は、3 番目の転送ルールの名前です。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。

転送ルール 4 を削除する

gcloud

転送ルールを削除するには、gcloud compute forwarding-rules delete コマンドを実行します。

gcloud compute forwarding-rules delete FORWARDING_RULE_4_NAME \
--region=REGION_ID \
--project=PROJECT_2_ID

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

  • FORWARDING_RULE_4_NAME は、4 番目の転送ルールの名前です。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。

Private Service Connect エンドポイントの登録を解除する

このセクションでは、このチュートリアルの前半で登録した Private Service Connect エンドポイントの登録を解除する手順について説明します。

VPC ネットワーク 1 と 2 のエンドポイントを登録解除する

gcloud

Memorystore インスタンスでエンドポイント情報を登録解除するには、gcloud memorystore instances update --remove-endpoints コマンドを実行します。

gcloud memorystore instances update INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--remove-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_1_ID","ipAddress":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_2_ID","ipAddress":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}, {"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_3_ID","ipAddress":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_4_ID","ipAddress":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'

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

  • INSTANCE_ID は、エンドポイントの登録を解除するインスタンスの ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
  • PSC_CONNECTION_1_ID は、転送ルールの接続 ID の取得時にメモした最初の Private Service Connect 接続 ID です。
  • IP_ADDRESS_1 は、最初に予約した IP アドレスのアドレスです。
  • NETWORK_1_ID はネットワーク 1 の ID です。
  • FORWARDING_RULE_1_NAME は、最初に作成した転送ルールの名前です。
  • SERVICE_ATTACHMENT_1 は、FORWARDING RULE_1_NAME が接続されている最初のサービス アタッチメントです。
  • PSC_CONNECTION_2_ID は、転送ルールの接続 ID の取得時にメモした 2 番目の Private Service Connect 接続 ID です。
  • IP_ADDRESS_2 は、予約した 2 番目の IP アドレスのアドレスです。
  • FORWARDING_RULE_2_NAME は、作成した 2 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_2 は、FORWARDING_RULE_2_NAME が接続されている 2 番目のサービス アタッチメントです。
  • PROJECT_2_ID はプロジェクト 2 の ID です。これは、2 番目の VPC ネットワークとサブネットワークを作成するプロジェクトです。
  • PSC_CONNECTION_3_ID は、ネットワーク 2 の転送ルール接続 ID の取得でメモした Private Service Connect 接続 3 です。
  • IP_ADDRESS_3 は、予約した 3 番目の IP アドレスのアドレスです。
  • NETWORK_2_ID はネットワーク 2 の ID です。
  • FORWARDING_RULE_3_NAME は、作成した 3 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_1 は、FORWARDING RULE_3_NAME が接続されている最初のサービス アタッチメントです。
  • PSC_CONNECTION_4_ID は、ネットワーク 2 の転送ルール接続 ID の取得でメモした Private Service Connect 接続 4 です。
  • IP_ADDRESS_4 は、予約した 4 番目の IP アドレスのアドレスです。
  • FORWARDING_RULE_4_NAME は、作成した 4 番目の転送ルールの名前です。
  • SERVICE_ATTACHMENT_2 は、FORWARDING_RULE_4_NAME が接続されている 2 番目のサービス アタッチメントです。

上記のコマンドは、このチュートリアルで作成したすべての接続を登録解除します。接続の登録を解除する接続を 1 つだけ指定する場合は、削除する接続の接続 ID のみを指定します。

Memorystore for Valkey インスタンスを削除する

Memorystore インスタンスを削除する前に、Private Service Connect エンドポイントの登録を解除する必要があります。

gcloud

Memorystore for Valkey インスタンスを削除するには、gcloud memorystore instances delete コマンドを実行します。

gcloud memorystore instances delete INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID

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

  • INSTANCE_ID は、インスタンスの ID です。
  • REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
  • PROJECT_1_ID はプロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。