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

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

  • 在消費者網路中建立 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/memorystore.admin 可完整控管 Memorystore for Valkey 執行個體,並在執行個體的生命週期內控管執行個體。
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 專案 n/a 您的 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 專案 n/a 在本教學課程中,您將在這個專案中建立第二個網路和第二個子網路。不過,如果您選擇,第二個網路和子網路可以與第一個網路位於同一個專案中。
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 Valkey 和 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 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 連線,請執行建立指令,但不要指定網路,如下列範例所示。

gcloud

如要建立執行個體,但不自動建立任何 Private Service Connect 連線,請執行 gcloud memorystore instances create 指令,但不要使用 --network--endpoints 參數,如下所示:

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 決定執行個體中的分片數量。Shard 數量會決定儲存執行個體資料的記憶體總容量。如要進一步瞭解執行個體規格,請參閱「執行個體和節點規格」。

例如:

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

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

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

gcloud

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

本節說明如何為第一個虛擬私有雲網路設定兩個 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 執行個體註冊 Private Service Connect 連線。首先,您需要取得轉送規則的連線 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 的連線資訊

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

    例如:

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

本節說明如何為第二個虛擬私有雲網路設定兩個 Private Service Connect 連線。

為網路 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。您將在這個專案中建立第二個虛擬私有雲網路和子網路。
  • 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。您將在這個專案中建立第二個虛擬私有雲網路和子網路。
  • 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 執行個體註冊 Private Service Connect 連線。首先,您需要取得轉送規則的連線 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 是第三個轉送規則的名稱。
  • 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 連線,請提供 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。您將在這個專案中建立第二個虛擬私有雲網路和子網路。
  • 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 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 連線端點資訊

接著,請記下兩個 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 都有兩個使用者註冊的 Private Service Connect 連線。

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

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

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

此外,您也可以選擇刪除保留的 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。您將在這個專案中建立第二個虛擬私有雲網路和子網路。

刪除轉送規則 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。您將在這個專案中建立第二個虛擬私有雲網路和子網路。

取消註冊 Private Service Connect 端點

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

取消註冊虛擬私有雲網路 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 時記下的第二個 Private Service Connect 連線 ID。
  • IP_ADDRESS_2 是您預留的第二個 IP 位址。
  • FORWARDING_RULE_2_NAME 是您建立的第二個轉送規則名稱。
  • SERVICE_ATTACHMENT_2 是與 FORWARDING_RULE_2_NAME 連結的第二個服務附件。
  • PROJECT_2_ID 是專案 2 的 ID。您將在這個專案中建立第二個虛擬私有雲網路和子網路。
  • 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 連結的第二個服務附件。

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