使用使用者註冊的連線設定多個虛擬私有雲網路

本頁說明如何為多個虛擬私有雲 (VPC) 網路和新的 Memorystore for Redis Cluster 執行個體設定連線。如要這麼做,請按照下列步驟操作:

  • 在消費者網路中建立 Private Service Connect 端點。

  • 以 Memorystore 執行個體的服務附件為目標。

  • 向例項註冊元件。

完成這些工作後,您就可以透過建立的 Private Service Connect 連線,將用戶端連線至執行個體。

如要瞭解如何為已自動註冊私人服務連線的執行個體設定多個虛擬私有雲網路,請參閱「為已佈建自動註冊連線的執行個體設定多個虛擬私有雲網路」。

如要進一步瞭解多個虛擬私有雲網路設定,請參閱「關於多個虛擬私有雲網路」。

顯示網路架構的圖表。這個網路有兩個客戶虛擬私有雲網路,分別位於兩個專案中,並透過 Private Service Connect 連線連至 Memorystore 服務附件。

主要步驟摘要

本節提供本教學課程中設定 Private Service Connect 連線的主要步驟摘要清單。首先,請完成「事前準備」一節中的步驟,為本教學課程做好準備。

重要步驟

  1. 步驟 1:建立執行個體
  2. 步驟 2:記下服務附件路徑
  3. 步驟 3:為第一個虛擬私有雲網路設定及註冊 Private Service Connect 連線
  4. 步驟 4:為第二個虛擬私有雲網路設定及註冊 Private Service Connect 連線
  5. 步驟 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 執行個體的連線。您可以建立及管理 IP 位址、防火牆規則和 Private Service Connect 端點。建立 Private Service Connect 端點時,需要這個角色。

如果您使用 Private Service Connect 從多個虛擬私有雲網路連線至 Memorystore 執行個體,則每個網路可能會有各自的管理員。

必要資源

開始本教學課程前,請先建立下列資源。建議您使用下列 ID 和位置建立資源,但您也可以選擇自己的 ID 和位置。在本教學課程中,您將使用下列資源在虛擬私有雲網路 1 中設定兩項 Private Service Connect 連線:

資源 ID 範例 資源類型 完整路徑範例 說明
my-project-1 Google Cloud 專案 不適用 您的 Memorystore 執行個體位於這個專案中
my-network-1 虛擬私有雲網路 projects/my-project-1/global/networks/my-network-1 在本教學課程中,您將在這個網路中設定 2 個 Private Service Connect 連線
my-subnet-1 虛擬私有雲子網路 projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 在本教學課程中,您將在這個子網路中保留 2 個 IP 位址。

在本教學課程中,您將使用下列資源在虛擬私有雲網路 2 中建立兩個 Private Service Connect 連線:

資源 ID 範例 資源類型 完整路徑範例 說明
my-project-2 Google Cloud 專案 不適用 在本教學課程中,您將在這個專案中建立第二個網路和第二個子網路。不過,如果您選擇,第二個網路和子網路可以與第一個網路位於同一個專案中。
my-network-2 虛擬私有雲網路 projects/my-project-2/global/networks/my-network-2 在本教學課程中,您會在該網路中建立 2 個 Private Service Connect 端點
my-subnet-2 虛擬私有雲子網路 projects/my-project-2/regions/us-central1/subnetworks/my-subnet-2 在本教學課程中,您將在這個子網路中保留 2 個 IP 位址。

啟用 API

啟用下列 API,以便管理 Compute Engine 網路、Memorystore for Redis Cluster 和 Private Service Connect 資源。

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 連線,請執行 gcloud redis cluster create 指令,但不要使用 --network 參數,如下所示:

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 是您選擇的副本數量 (每個分片)。可接受的值為 012

  • NODE_TYPE 是您選擇的節點類型。可接受的值如下:

    • redis-shared-core-nano

    • redis-standard-small

    • redis-highmem-medium

    • redis-highmem-xlarge

  • SHARD_COUNT 決定執行個體中的 shard 數量。Shard 數量決定了儲存叢集資料的記憶體總容量。如要進一步瞭解叢集規格,請參閱叢集和節點規格

例如:

gcloud redis clusters create my-instance \
--region=us-central1 \
--replica-count=2 \
--node-type=redis-highmem-medium \
--shard-count=8

步驟 2:記下服務附件路徑

建立 Memorystore 執行個體後,請記下 Memorystore 執行個體的兩個服務連結 URI。您可以使用這些服務連結 URI 設定 Private Service Connect 連線。

gcloud

如要查看已啟用 Private Service Connect 的執行個體摘要資訊,請尋找 pscServiceAttachments 欄位。這個欄位會顯示指向執行個體服務附件的兩個 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:為第一個虛擬私有雲網路設定及註冊 Private Service Connect 連線

本節說明如何設定第一個虛擬私有雲網路所需的兩項連線。如要為每個 VPC 設定連線,都必須重複這個程序。舉例來說,本教學課程稍後會再次重複這些步驟,但這次是為第二個虛擬私有雲網路建立新連線。

為網路 1 建立 Private Service Connect 端點

本節說明在網路 1 中建立 2 個 Private Service Connect 端點時,需要執行的動作。

為網路 1 保留 IP 位址

接著,在網路 1 中保留兩個 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 是您在「記下服務附件路徑」中記下的第二個服務附件。
  • 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。

接著,您會向 Memorystore 執行個體註冊 Private Service Connect 連線資訊,以啟用連線。

取得網路 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 是第二個轉送規則的名稱。
  • PROJECT_1_ID 是包含轉送規則的 Google Cloud 專案 ID。

為虛擬私有雲網路 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 時記下的第二個 Private Service Connect 連線 ID。
  • IP_ADDRESS_2 是您預留的第二個 IP 位址。
  • FORWARDING_RULE_2_NAME 是您建立的第二個轉送規則名稱。
  • SERVICE_ATTACHMENT_2 是與 FORWARDING_RULE_2_NAME 連結的第二個服務附件。

例如:

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:為第二個虛擬私有雲網路設定及註冊 Private Service Connect 連線

本節說明如何為第二個虛擬私有雲網路設定兩條必要連線。

為網路 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_ADDRESS_3_ID 是您為 IP 位址指定的 ID。
  • PROJECT_2_ID 是專案 2 的 ID。您將在這個專案中建立第二個 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。您將在這個專案中建立第二個 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 是第二個網路的 ID。
  • REGION_ID 是 Memorystore 執行個體所在的地區。
  • SERVICE_ATTACHMENT_1 是您在「記下服務附件路徑」中記下的第一個服務附件。
  • PROJECT_2_ID 是您的第二個專案。

例如:

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 是第二個網路的 ID。
  • REGION_ID 是 Memorystore 執行個體所在的地區。
  • SERVICE_ATTACHMENT_2 是您在「記下服務附件路徑」中記下的第二個服務附件。
  • PROJECT_2_ID 是您的第二個專案。

例如:

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。

接著,您會向 Memorystore 執行個體註冊 Private Service Connect 連線資訊,以啟用連線。

取得網路 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 是第三個轉送規則的名稱。
  • 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 是第四個轉送規則的名稱。
  • PROJECT_2_ID 是包含轉送規則的 Google Cloud 專案 ID。

為虛擬私有雲網路 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。您將在這個專案中建立第二個 VPC 網路和子網路。
  • PSC_CONNECTION_3_ID 是您在「取得網路 2 的轉送規則連線 ID」中記下的 Private Service Connect 連線 3。
  • IP_ADDRESS_3 是您預留的第三個 IP 位址。
  • NETWORK_2_ID 是網路 2 的 ID。
  • FORWARDING_RULE_3_NAME 是您建立的第三個轉送規則名稱。
  • SERVICE_ATTACHMENT_1 是與 FORWARDING RULE_3_NAME 連結的第一個服務附件。
  • PSC_CONNECTION_4_ID 是您在「取得網路 2 的轉送規則連線 ID」中記下的 Private Service Connect 連線 4。
  • IP_ADDRESS_4 是您預留的第四個 IP 位址。
  • FORWARDING_RULE_4_NAME 是您建立的第四個轉送規則名稱。
  • SERVICE_ATTACHMENT_2 是與 FORWARDING_RULE_4_NAME 連結的第二個服務附件。

例如:

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 連線端點資訊

接著,請記下兩個 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 連線。

請記下與 CONNECTION_TYPE_DISCOVERY 類型 Private Service Connect 連線對應的 IP 位址。在本教學課程中,您設定的兩個網路各有一個。

舉例來說,以下是 gcloud redis clusters describe 指令的輸出範例,其中包含您應記下的 IP 位址:

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.0910.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 連線。如要這麼做,您必須刪除在本教學課程中設定的轉送規則,並取消註冊端點。本節將引導您先刪除所有轉送規則,然後取消註冊端點。不過,您可以選擇一次刪除一個網路的轉送規則,並取消註冊端點。

此外,您也可以選擇刪除保留的 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 是第二個轉送規則的名稱。
  • 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 是第三個轉送規則的名稱。
  • PROJECT_2_ID 是專案 2 的 ID。您將在這個專案中建立第二個 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 是第四個轉送規則的名稱。
  • PROJECT_2_ID 是專案 2 的 ID。您將在這個專案中建立第二個 VPC 網路和子網路。

取消註冊 Private Service Connect 端點

本節說明如何取消註冊您在本教學課程中註冊的 Private Service Connect 端點

取消註冊虛擬私有雲網路 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 時記下的第二個 Private Service Connect 連線 ID。
  • PSC_CONNECTION_3_ID 是您在取得轉送規則連線 ID 時記下的第三個 Private Service Connect 連線 ID。
  • PSC_CONNECTION_4_ID 是您在取得轉送規則連線 ID 時記下的第四個 Private Service Connect 連線 ID。

上述指令會取消註冊在本教學課程中建立的所有連線。如要取消註冊其中一個連線,請只指定要移除的連線 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 執行個體所在的專案。