本頁說明如何為現有的 Memorystore for Valkey 執行個體設定多個虛擬私有雲 (VPC) 網路的連線,該執行個體已有一些自動註冊的 Private Service Connect 連線。本教學課程說明如何建立這類連線:在消費者網路中建立 Private Service Connect 端點,以 Memorystore 執行個體的服務附件為目標,然後向執行個體註冊元件。本頁面也會說明如何透過 Private Service Connect 連線,將用戶端連線至執行個體。
如要進一步瞭解如何為未自動註冊 Private Service Connect 連線的新 Memorystore 設定多個虛擬私有雲網路,請參閱使用使用者註冊的 Private Service Connect 連線設定多個虛擬私有雲網路。
如要進一步瞭解多個虛擬私有雲網路設定,請參閱「關於多個虛擬私有雲網路」。

主要步驟摘要
本節提供本教學課程中設定新 Private Service Connect 連線的主要步驟摘要清單。首先,請完成「事前準備」中的步驟。
重要步驟
- 步驟 1:記下服務附件路徑。
- 步驟 2:為第二個虛擬私有雲網路設定及註冊 Private Service Connect 連線。
- 步驟 3:設定用戶端連線。
- 步驟 4:刪除 Private Service Connect 連線。
- 步驟 5:刪除 Memorystore for Valkey 執行個體。
事前準備
開始之前,請確認您具備下列 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 執行個體,則每個網路可能會有自己的管理員。 |
必要資源
開始本教學課程前,請先建立 Memorystore 執行個體和虛擬私有雲網路。此外,請確認您有Google Cloud 專案。
建議您使用下列 ID 和位置建立這些資源,但您也可以選擇自己的 ID 和位置。本教學課程假設您已建立 Memorystore 執行個體,且該執行個體有兩個自動註冊的 Private Service Connect 連線。
| 資源 ID 範例 | 資源類型 | 完整路徑範例 | 說明 |
|---|---|---|---|
my-memorystore-instance
|
Memorystore for Valkey 執行個體 | n/a | 在本教學課程的範例指令中,這個值代表現有執行個體,該執行個體已在網路 1 中自動註冊 Private Service Connect 連線。 |
my-network-1
|
虛擬私有雲網路 |
projects/my-project-1/global/networks/my-network-1
|
您的 Memorystore 在這個網路上有自動註冊的 Private Service Connect 連線 |
my-project-1
|
Google Cloud 專案 | n/a | 您的 Memorystore 執行個體位於這個專案中 |
在本教學課程中,您將使用下列資源在虛擬私有雲網路 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
如要在專案 2 中啟用 API,請執行下列指令:
gcloud services enable --project=PROJECT_2_ID compute.googleapis.com gcloud services enable --project=PROJECT_2_ID memorystore.googleapis.com gcloud services enable --project=PROJECT_2_ID servicedirectory.googleapis.com
步驟 1:記下服務附件路徑
請記下 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 是 Memorystore 執行個體所在的地區 ID。
以下是這項指令的輸出範例:
gcloud memorystore instances describe my-memorystore-instance \ --project=my-project-1 --location=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
步驟 2:為第二個虛擬私有雲網路設定及註冊 Private Service Connect 連線
本節說明如何為第二個虛擬私有雲網路設定兩個 Private Service Connect 連線。
為網路 2 建立 Private Service Connect 端點
本節說明在網路 2 中建立 2 個 Private Service Connect 端點時,需要執行的動作。
為網路 2 保留 IP 位址
接著,在網路 2 中保留 2 個 IP 位址。
保留 IP 位址 1
gcloud
如要保留 IP 位址 1,請執行 gcloud compute addresses create 指令:
gcloud compute addresses create IP_ADDRESS_1_ID \ --project=PROJECT_2_ID \ --addresses=IP_ADDRESS_1 \ --region=REGION_ID \ --subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \ --purpose=GCE_ENDPOINT
更改下列內容:
- IP_ADDRESS_1_ID 是您為 IP 位址指定的 ID。
- PROJECT_2_ID 是專案 2 的 ID。
- IP_ADDRESS_1 是您從
SUBNET_2_ID範圍內選擇的 IP 位址,該範圍是您在必要資源中預留的。 - REGION_ID 是 Memorystore 執行個體所在的地區。
- SUBNET_2_ID 是您在專案 2 的網路 2 上預留的子網路 ID,屬於必要資源。
例如:
gcloud compute addresses create my-ip-address-1 \ --project=my-project-1 \ --addresses=10.142.0.10 \ --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_2_ID \ --addresses=IP_ADDRESS_2 \ --region=REGION_ID \ --subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \ --purpose=GCE_ENDPOINT
更改下列內容:
為網路 2 新增轉送規則
接著,建立轉送規則,將 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_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_1_NAME 是您為要建立的轉送規則指定的名稱。
- IP_ADDRESS_1_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-1 \ --address=my-ip-address-1 \ --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 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_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_2_NAME 是您為要建立的轉送規則指定的名稱。
- IP_ADDRESS_2_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-2 \ --address=my-ip-address-2 \ --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。
接著,您需要向 Memorystore 執行個體註冊 Private Service Connect 連線資訊,啟用連線功能。
取得網路 2 的轉送規則連線 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_2_ID \ --region=REGION_ID
更改下列內容:
- FORWARDING_RULE_1_NAME 是第一個轉送規則的名稱。
- PROJECT_2_ID 是 Google Cloud 包含轉送規則的專案 ID。
以下範例顯示這項指令的輸出範例:
gcloud compute forwarding-rules describe my-forwarding-rule-1 \ --project=my-project-2 \ --region=us-central1 ... pscConnectionId: '94710983646969729'
取得 Private Service Connect 連線 ID 2
gcloud
如要查看 pscConnectionId 值和其他轉送規則摘要資訊,請執行 gcloud compute forwarding-rules describe 指令:
gcloud compute forwarding-rules describe FORWARDING_RULE_2_NAME \ --project=PROJECT_2_ID \ --region=REGION_ID
更改下列內容:
- FORWARDING_RULE_2_NAME 是第二個轉送規則的名稱。
- PROJECT_2_ID 是 Google Cloud 專案的 ID,其中包含轉送規則。
註冊虛擬私有雲網路 2 的連線資訊
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_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_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_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_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 是 Memorystore 執行個體所在的專案 1 ID。
- PROJECT_2_ID 是專案 2 的 ID。
- PSC_CONNECTION_1_ID 是您在取得網路 2 的轉送規則連線 ID 時記下的 Private Service Connect 連線 1。
- IP_ADDRESS_1 是您預留的第一個 IP 位址。
- NETWORK_2_ID 是網路 2 的 ID。
- FORWARDING_RULE_1_NAME 是您建立的第一個轉送規則名稱。
- SERVICE_ATTACHMENT_1 是與
FORWARDING RULE_1_NAME連結的第一個服務附件。 - PSC_CONNECTION_2_ID 是您在取得網路 2 的轉送規則連線 ID 時記下的 Private Service Connect 連線 2。
- 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":"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-1","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-2","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}}]}]'
步驟 3:設定用戶端連線
本節說明如何設定用戶端,以便連線至本指南中的網路。
記下連線端點資訊
接著,請記下兩個 IP 位址。第一個是自動註冊的 Private Service Connect 連線的探索連線 IP 位址。這個欄位會列在 discoveryEndpoints: 欄位後面。
使用者註冊的 Private Service Connect 連線探索連線 IP 位址會列在 Endpoints:connections:pscConnection 區段中。這個 IP 位址對應於 CONNECTION_TYPE_DISCOVERY 欄位。
gcloud
如要查看網路的 Private Service Connect 連線端點資訊,請執行 gcloud memorystore instances describe 指令:
gcloud memorystore instances describe INSTANCE_ID \ --location=REGION_ID \ --project=PROJECT_1_ID
請記下這些 IP 位址:
endpoints:
- connections:
- pscAutoConnection:
address: 10.128.0.55
connectionType: CONNECTION_TYPE_DISCOVERY
forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-3
network: projects/my-project-1/global/networks/my-network-2
projectId: my-project-1
pscConnectionId: '24710983646969729'
pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
- pscAutoConnection:
address: 10.128.0.56
forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-4
network: projects/my-project-1/global/networks/my-network-2
projectId: my-project-1
pscConnectionId: '26510983646969993'
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.128.0.55 (自動註冊) 和 10.142.0.10 (使用者註冊)。
設定用戶端
接著,請按照下列方式設定用戶端:
使用網路 1 的探索 IP,在網路 1 中設定用戶端連線。在本教學課程中,這是您記下的 IP 位址,列於
endpoints:區段中對應網路 1 的連線項目,且對應CONNECTION_TYPE_DISCOVERY值。使用網路 2 中的探索 IP,在網路 2 中設定用戶端連線。在本教學課程中,這是您記下的 IP 位址,位於
endpoints區段中對應網路 2 的連線項目,且對應於CONNECTION_TYPE_DISCOVERY值。
如需連線至 Memorystore 執行個體的說明,請參閱「使用 valkey-cli 從 Compute Engine VM 連線」。
步驟 4:刪除 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_2_ID
更改下列內容:
- FORWARDING_RULE_1_NAME 是第一個轉送規則的名稱。
- PROJECT_2_ID 是專案 2 的 ID。
刪除轉送規則 2
gcloud
如要刪除轉送規則,請執行 gcloud compute forwarding-rules delete 指令:
gcloud compute forwarding-rules delete FORWARDING_RULE_2_NAME \ --region=REGION_ID \ --project=PROJECT_2_ID
更改下列內容:
- FORWARDING_RULE_2_NAME 是第二個轉送規則的名稱。
- PROJECT_2_ID 是專案 2 的 ID。
取消註冊虛擬私有雲網路 2 的 Private Service Connect 端點
本節說明如何取消註冊在本教學課程中註冊的 Private Service Connect 端點。
取消註冊虛擬私有雲網路 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_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_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_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'
更改下列內容:
- INSTANCE_ID 是要取消註冊端點的執行個體 ID。
- PROJECT_1_ID 是 Memorystore 執行個體所在的專案 1 ID。
- REGION_ID 是 Memorystore 執行個體所在的地區 ID。
- PSC_CONNECTION_1_ID 是您在「取得網路 2 的轉送規則連線 ID」時記下的 Private Service Connect 連線 1。
- IP_ADDRESS_1 是您預留的第一個 IP 位址。
- NETWORK_2_ID 是網路 2 的 ID。
- FORWARDING_RULE_1_NAME 是您建立的第一個轉送規則名稱。
- SERVICE_ATTACHMENT_1 是與
FORWARDING RULE_1_NAME連結的第一個服務附件。 - PSC_CONNECTION_2_ID 是您在取得網路 2 的轉送規則連線 ID 時記下的 Private Service Connect 連線 2。
- IP_ADDRESS_2 是您預留的第二個 IP 位址。
- FORWARDING_RULE_2_NAME 是您建立的第二個轉送規則名稱。
- SERVICE_ATTACHMENT_2 是與
FORWARDING_RULE_2_NAME連結的第二個服務附件。
步驟 5:刪除 Memorystore for Valkey 執行個體
你也可以選擇刪除 Memorystore 執行個體。不過,您必須先取消註冊 Private Service Connect 端點,才能刪除 Memorystore 執行個體。
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 執行個體所在的專案。