このページでは、複数の Virtual Private Cloud(VPC)ネットワークと新しい Memorystore for Redis Cluster インスタンスの接続を設定する方法について説明します。手順は次のとおりです。
コンシューマー ネットワークに Private Service Connect エンドポイントを作成します。
Memorystore インスタンスのサービス アタッチメントをターゲットにします。
コンポーネントをインスタンスに登録します。
これらのタスクを完了したら、作成した Private Service Connect 接続を介してクライアントをインスタンスに接続します。
すでに自動登録された Private Service Connect 接続があるインスタンスに複数の VPC ネットワーキングを設定する手順については、自動登録された接続でプロビジョニングされたインスタンスに複数の VPC ネットワークを設定するをご覧ください。
複数の VPC ネットワークの設定の詳細については、複数の VPC ネットワークについてをご覧ください。
主要なステップのまとめ
このセクションでは、このチュートリアルで説明する Private Service Connect 接続の設定手順の概要を説明します。まず、始める前にセクションの手順を完了して、このチュートリアルを進める準備をします。
重要なステップ
- ステップ 1: インスタンスを作成する
- ステップ 2: サービス アタッチメントのパスをメモする
- ステップ 3: 最初の VPC ネットワークの Private Service Connect 接続を設定して登録する
- ステップ 4: 2 番目の VPC ネットワークの Private Service Connect 接続を設定して登録する
- ステップ 5: クライアント接続を設定する
また、次のこともできます。
始める前に
始める前に、次の IAM ロールと Google Cloud リソースがあることを確認してください。
必要な IAM のロール
リソース ID の例 | リソースの種類 |
---|---|
roles/redis.admin
|
Memorystore for Redis Cluster インスタンスを完全に制御し、インスタンスのライフサイクルを制御します。 |
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 Redis Cluster、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 redis.googleapis.com gcloud services enable --project=PROJECT_2_ID redis.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 接続が自動的に作成されて登録されないようにするには、次の例に示すように、ネットワークを指定せずに作成コマンドを実行します。
gcloud
Private Service Connect 接続を自動作成せずにインスタンスを作成するには、--network
パラメータを使用せずに gcloud redis cluster create
コマンドを次のように実行します。
gcloud redis clusters create INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT
次のように置き換えます。
INSTANCE_ID は、作成する Memorystore for Redis Cluster インスタンスの ID です。インスタンス ID は 1〜63 文字にする必要があり、小文字、数字、ハイフンのみ使用できます。先頭は英小文字に、末尾は英小文字または数字にする必要があります。
REGION_ID は、インスタンスを配置するリージョンです。
PROJECT_1_ID は、プロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
REPLICA_COUNT は、選択したレプリカ数(シャードあたり)です。指定できる値は
0
、1
、2
です。NODE_TYPE は、選択したノードタイプです。次の値が利用できます。
redis-shared-core-nano
redis-standard-small
redis-highmem-medium
redis-highmem-xlarge
SHARD_COUNT によってインスタンス内のシャードの数が決定されます。シャード数は、クラスタデータを保存するための合計メモリ容量を決定します。クラスタ仕様の詳細については、クラスタとノードの仕様をご覧ください。
次に例を示します。
gcloud redis clusters create my-instance \ --region=us-central1 \ --replica-count=2 \ --node-type=redis-highmem-medium \ --shard-count=8
ステップ 2: サービス アタッチメントのパスをメモする
Memorystore インスタンスを作成したら、Memorystore インスタンスの 2 つのサービス アタッチメント URI をメモしておきます。これらのサービス アタッチメント URI を使用して、Private Service Connect 接続を設定します。
gcloud
Private Service Connect が有効になっているインスタンスの概要情報を表示するには、pscServiceAttachments
フィールドを探します。このフィールドには、インスタンスのサービス アタッチメントを指し示す 2 つの URI が表示されます。この情報を表示するには、gcloud redis clusters describe
コマンドを使用します。
gcloud redis clusters describe INSTANCE_ID --project=PROJECT_1_ID --region=REGION_ID
次のように置き換えます。
- INSTANCE_ID は、Memorystore インスタンスの名前です。
- PROJECT_1_ID は、プロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
- REGION_ID は、インスタンスが配置されているリージョンの ID です。
このコマンドの出力例を次に示します。
gcloud redis clusters describe my-instance \ --project=my-project-1 --region=us-central1 ... pscServiceAttachments: - 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 ネットワークの Private Service Connect 接続を設定して登録する
このセクションでは、最初の VPC ネットワークに必要な 2 つの接続を設定する方法について説明します。接続を設定する 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
次のように置き換えます。
ネットワーク 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 接続を登録する
このセクションでは、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 の Private Service Connect 接続情報を登録する
gcloud
各接続を登録するには、Private Service Connect 接続 ID、IP アドレス、ネットワーク パス、転送ルール パス/URI、ターゲット サービス アタッチメントを指定します。これを行うには、gcloud redis clusters add-cluster-endpoints
コマンドを実行します。
gcloud redis clusters add-cluster-endpoints INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID \ --cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_1_ID","address":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwarding-rule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","service-attachment":"SERVICE_ATTACHMENT_1"},{"psc-connection-id":"PSC_CONNECTION_2_ID","address":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwarding-rule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","service-attachment":"SERVICE_ATTACHMENT_2"}]]'
次のように置き換えます。
- INSTANCE_ID は、Memorystore for Redis Cluster インスタンスの 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 redis clusters add-cluster-endpoints my-instance \ --region=us-central-1 \ --project=my-project1 \ --cluster-endpoint='["psc-connection":[{"psc-connection-id":"41510983646969883","address":"10.2.5.9","network":"projects/my-project-1/global/networks/my-network-1","forwarding-rule":"projects/1048073346231/regions/us-central1/forwardingRules/my-forwarding-rule-1","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"},{"psc-connection-id":"41510983646969234","address":"10.2.5.11","network":"projects/my-project-1/global/networks/my-network-1","forwarding-rule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}]]'
ステップ 4: 2 番目の VPC ネットワークの Private Service Connect 接続を設定して登録する
このセクションでは、2 番目の VPC ネットワークに必要な 2 つの接続を設定する方法について説明します。
ネットワーク 2 の Private Service Connect エンドポイントを作成する
このセクションでは、ネットワーク 2 に 2 つのエンドポイントを作成するために必要な操作について説明します。
ネットワーク 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 アドレス 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
次のように置き換えます。
ネットワーク 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 接続を登録する
このセクションでは、Memorystore インスタンスに接続を登録する手順について説明します。まず、転送ルールの接続 ID とプロジェクト ID を取得する必要があります。
次に、Private Service Connect 接続情報を Memorystore インスタンスに登録して、接続を有効にします。
ネットワーク 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 接続 ID、IP アドレス、ネットワーク パス、転送ルール パス/URI、ターゲット サービス アタッチメントを指定します。これを行うには、gcloud redis clusters add-cluster-endpoints
コマンドを実行します。
gcloud redis clusters add-cluster-endpoints INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID \ --cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_3_ID","address":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","service-attachment":"SERVICE_ATTACHMENT_1"},{"psc-connection-id":"PSC_CONNECTION_4_ID","address":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","service-attachment":"SERVICE_ATTACHMENT_2"}]]'
次のように置き換えます。
- INSTANCE_ID は、Memorystore for Redis Cluster インスタンスの 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 redis clusters add-cluster-endpoints my-instance \ --region=us-central-1 \ --project=my-project-1 \ --cluster-endpoint='[psc-connection:[{"psc-connection-id":"94710983646969729","address":"10.142.0.10","network":"projects/my-project-2/global/networks/my-network-2","forwarding-rule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"},{"psc-connection-id":"86510983646969993","address":"10.142.0.12","network":"projects/my-project-2/global/networks/my-network-2","forwarding-rule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4","service-attachment":"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 redis clusters describe
コマンドを実行します。
gcloud redis clusters describe INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
出力には clusterEndpoints
のリストが含まれます。各 clusterEndpoint
には、ユーザー登録済みの Private Service Connect 接続が 2 つあります。
タイプ CONNECTION_TYPE_DISCOVERY
の Private Service Connect 接続に対応する IP アドレスをメモします。このチュートリアルでは、設定した 2 つのネットワークごとに 1 つずつあります。
たとえば、書き留めておく必要がある IP アドレスを含む gcloud redis clusters describe
コマンドの出力例の一部を次に示します。
clusterEndpoints:
- connections:
- pscConnection:
address: 10.2.5.09
connectionType: CONNECTION_TYPE_DISCOVERY
forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-1
network: projects/my-project-1/global/networks/my-network-1
projectId: my-network-1
pscConnectionId: '41510983646969883'
pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
- pscConnection:
address: 10.2.5.11
forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2
network: projects/my-project-1/global/networks/my-network-1
projectId: my-project-1
pscConnectionId: '41510983646969234'
pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2
- connections:
- pscConnection:
address: 10.142.0.10
connectionType: CONNECTION_TYPE_DISCOVERY
forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3
network: projects/my-project-2/global/networks/my-network-2
projectId: my-network-2
pscConnectionId: '94710983646969729'
pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
- pscConnection:
address: 10.142.0.12
forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4
network: projects/my-project-2/global/networks/my-network-2
projectId: my-project-2
pscConnectionId: '86510983646969993'
pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2
上記の出力では、メモする 検出 Private Service Connect 接続の IP アドレスの値は 10.2.5.09
と 10.142.0.10
です。
クライアントを構成する
次に、クライアントを次のように構成します。
ネットワーク 1 のディスカバリー IP を使用して、ネットワーク 1 でクライアント接続を構成します。これは、前の手順でメモした IP アドレスです。このチュートリアルで説明する例では、値は
10.2.5.09
です。ネットワーク 2 のディスカバリー IP を使用して、ネットワーク 2 でクライアント接続を構成します。これは、前の手順でメモした IP アドレスです。このチュートリアルで説明する例では、値は
10.142.0.10
です。
Memorystore インスタンスに接続する手順については、redis-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 redis clusters remove-cluster-endpoints
コマンドを実行します。
gcloud redis clusters remove-cluster-endpoints INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID \ --cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_1_ID"},{"psc-connection-id":"PSC_CONNECTION_2_ID"}]]' \ --cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_3_ID"},{"psc-connection-id":"PSC_CONNECTION_4_ID"}]]'
次のように置き換えます。
- INSTANCE_ID は、エンドポイントの登録を解除するインスタンスの ID です。
- PROJECT_1_ID は、プロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。
- REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
- PSC_CONNECTION_1_ID は、転送ルールの接続 ID を取得する際にメモした最初の Private Service Connect 接続 ID です。
- PSC_CONNECTION_2_ID は、転送ルールの接続 ID を取得する際にメモした 2 番目の Private Service Connect 接続 ID です。
- PSC_CONNECTION_3_ID は、転送ルールの接続 ID を取得する際にメモした 3 番目の Private Service Connect 接続 ID です。
- PSC_CONNECTION_4_ID は、転送ルールの接続 ID を取得する際にメモした 4 番目の Private Service Connect 接続 ID です。
上記のコマンドは、このチュートリアルで作成したすべての接続の登録を解除します。接続の 1 つのみを登録解除する場合は、削除する接続の接続 ID のみを指定します。
Memorystore for Redis Cluster インスタンスを削除する
Memorystore インスタンスを削除する前に、Private Service Connect エンドポイントの登録を解除する必要があります。
gcloud
Memorystore for Redis Cluster インスタンスを削除するには、gcloud redis clusters delete
コマンドを実行します。
gcloud redis clusters delete INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
次のように置き換えます。
- INSTANCE_ID は、インスタンスの ID です。
- REGION_ID は、Memorystore インスタンスが配置されているリージョンの ID です。
- PROJECT_1_ID は、プロジェクト 1 の ID です。これは、Memorystore インスタンスが配置されているプロジェクトです。