將服務子網路從對等互連遷移至 Private Service Connect
本文說明服務供應商如何將以對等互連為基礎的服務遷移至 Private Service Connect,並保留用於存取服務的 IP 位址。這項遷移程序規定,連線至特定子網路的所有資源都必須同時遷移。
遷移程序由服務生產者啟動,但生產者和消費者都需要完成相關工作。Google 代管服務可使用服務代理程式,代表消費者執行工作。遷移作業會導致停機,且生產者和消費者都必須接受價格異動。
各服務供應商會決定是否要遷移至 Private Service Connect,以及遷移時間。如要瞭解服務供應商是否要從虛擬私有雲網路對接遷移至 Private Service Connect,請參閱服務說明文件或與服務供應商聯絡。
事前準備
- 請務必瞭解遷移程序,包括遷移注意事項。
- 請務必瞭解 Private Service Connect 消費者和生產者的定價。
- 請務必熟悉透過 Private Service Connect 發布服務的程序。
- 請確認您具備必要權限。
使用 Private Service Connect 部署服務
建立新的虛擬私有雲網路,在網路中部署服務資源,然後透過 Private Service Connect 發布服務。
為服務建立負載平衡器時,請使用與負載平衡器先前使用的 IP 位址不同的位址。稍後需要原始 IP 位址來建立端點。
發布服務時,您會建立服務連結。稍後建立端點時,也需要服務附件 URI。
關閉以對等互連為基礎的服務
如要關閉以對等互連為基礎的服務,您必須先建立內部範圍來預留服務的 IP 位址範圍,再刪除生產者子網路。
建立內部範圍
刪除供應商子網路之前,請先建立內部範圍,避免供應商或消費者網路中的其他子網路重複使用該子網路的 IP 位址範圍。
如要進一步瞭解這個內部範圍,請參閱遷移的內部範圍。
gcloud
使用 internal-ranges create 指令。
gcloud network-connectivity internal-ranges create RANGE_NAME \
--project=PRODUCER_PROJECT_ID \
--ip-cidr-range=CIDR_RANGE \
--network=PRODUCER_NETWORK_NAME \
--usage=FOR_MIGRATION \
--migration-source=PRODUCER_SUBNET_URI \
--migration-target=CONSUMER_SUBNET_URI
更改下列內容:
RANGE_NAME:新內部範圍的名稱。PRODUCER_PROJECT_ID:生產者專案的 ID。CIDR_RANGE:要分配給新內部範圍的 CIDR 範圍。PRODUCER_NETWORK_NAME:要在其中建立內部範圍的網路名稱。PRODUCER_SUBNET_URI:生產者子網路的 URI,其中包含服務的負載平衡器。CONSUMER_SUBNET_URI:預期消費者子網路的 URI。執行這項指令時,這個子網路不存在。
刪除對等互連生產者子網路
您必須先刪除生產者子網路中的所有資源 (例如虛擬機器 (VM) 執行個體、轉送規則、執行個體群組、健康狀態檢查和保留的 IP 位址),才能刪除子網路。刪除資源後,即可刪除子網路。
建立消費者資源
與服務用戶合作,在他們的虛擬私有雲網路中建立下列資源。您可以手動建立資源,也可以透過服務代理程式,自動建立 Google 代管服務的資源。
建立對等遷移子網路
在消費者的 VPC 網路中建立對等互連移轉子網路,為 Private Service Connect 端點提供 IP 位址。子網路具有 PEER_MIGRATION 用途,可防止子網路用於 Private Service Connect 端點以外的資源。
詳情請參閱「對等互連遷移子網路」。
控制台
前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。
按一下虛擬私有雲網路的名稱,顯示其「虛擬私有雲網路詳細資料」頁面。
按一下「子網路」分頁標籤。
按一下 [Add subnet] (新增子網路)。在顯示的面板中:
- 提供名稱。
- 請選取區域。
- 在「用途」部分,選取「對等遷移」。
- 在「IP stack type」(IP 堆疊類型),選取「IPv4 (single-stack)」(IPv4 (單一堆疊))。
輸入要分配給新子網路的 IPv4 位址範圍。這個範圍必須與內部範圍的 CIDR 範圍相符。
如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。
按一下「新增」。
gcloud
使用 networks subnets create 指令。
gcloud compute networks subnets create CONSUMER_SUBNET \
--purpose=PEER_MIGRATION \
--project=CONSUMER_PROJECT \
--network=CONSUMER_NETWORK \
--range=CIDR_RANGE \
--region=REGION
更改下列內容:
CONSUMER_SUBNET:用戶子網路的名稱CONSUMER_PROJECT:消費者專案的 IDCONSUMER_NETWORK:用戶網路的名稱CIDR_RANGE:要分配給新子網路的 CIDR 範圍;這個範圍必須與內部範圍的 CIDR 範圍相符REGION:要在其中建立子網路的區域
建立 Private Service Connect 端點
在消費者對等移轉子網路中建立 Private Service Connect 端點。消費者需要服務連結 URI 才能建立端點。
控制台
前往 Google Cloud 控制台的「Private Service Connect」頁面。
按一下「已連線的端點」分頁標籤。
按一下「連結端點」。
在「Target」(目標) 中選取「Published service」(發布的服務)。
在「目標服務」部分,輸入要連線的服務連結 URI。
服務連結 URI 的格式如下:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME在「端點名稱」部分,輸入要用於端點的名稱。
在「Network」(網路) 中,選取端點的消費者 VPC 網路。
在「Subnetwork」(子網路) 中,選取取用者對等互連遷移子網路。
如要為端點保留 IP 位址,請按照下列步驟操作:
- 按一下「IP address」(IP 位址) 下拉式選單,然後選取「Create IP address」(建立 IP 位址)。
- 輸入 IP 位址名稱,並視需要輸入說明。
- 按一下「Static IP address」(靜態 IP 位址),然後選取「Let me choose」(自行選擇)。
- 輸入要保留的自訂 IP 位址。這個 IP 位址必須與服務負載平衡器中使用的 IP 位址相同。
- 按一下「保留」。
按一下「新增端點」。
gcloud
為端點保留內部 IP 位址。
使用
addresses create指令。gcloud compute addresses create ENDPOINT_ADDRESS_NAME \ --project=CONSUMER_PROJECT \ --region=REGION \ --address=ENDPOINT_ADDRESS \ --subnet=CONSUMER_SUBNET更改下列內容:
ENDPOINT_ADDRESS_NAME:IP 位址資源的名稱CONSUMER_PROJECT:消費者專案的 IDREGION:要建立 IP 位址的區域ENDPOINT_ADDRESS:要指派給 IP 位址資源的 IP 位址;這個位址必須與服務負載平衡器中使用的 IP 位址相同CONSUMER_SUBNET:用戶對等互連遷移子網路的名稱
建立端點。
使用
forwarding-rules create指令。gcloud compute forwarding-rules create ENDPOINT \ --region=REGION \ --network=CONSUMER_NETWORK \ --address=ENDPOINT_ADDRESS \ --target-service-attachment=SERVICE_ATTACHMENT_URI更改下列內容:
ENDPOINT:端點名稱REGION:要在其中建立端點的區域CONSUMER_NETWORK:用戶網路的名稱ENDPOINT_ADDRESS:要指派給端點的保留 IP 位址;您可以直接指定 IP 位址,或使用 IP 位址資源名稱SERVICE_ATTACHMENT_URI:服務連結的 URI
刪除製作人的內部範圍
建立消費者遷移子網路後,就不再需要內部範圍,因此可以刪除。
gcloud
使用 internal-ranges delete 指令。
gcloud network-connectivity internal-ranges delete RANGE_NAME \
--project=PRODUCER_PROJECT_ID
更改下列內容:
RANGE_NAME:內部範圍的名稱PRODUCER_PROJECT_ID:供應商專案的 ID
確認端點是否正常運作
請消費者確認他們可以透過端點連線至服務。
如果端點無法運作,且疑難排解步驟無法解決問題,您可以復原遷移作業。
完成遷移作業
如果端點運作正常,您可以將消費者的對等遷移子網路更新為一般子網路,完成遷移作業。
更新消費者的對等遷移子網路
將消費者對等移轉子網路更新為一般子網路後,消費者就能將子網路用於任何類型的資源。
控制台
前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。
按一下虛擬私有雲網路的名稱,顯示其「虛擬私有雲網路詳細資料」頁面。
按一下「子網路」分頁標籤。
按一下要更新的子網路名稱。
按一下 [編輯]。
在「用途」部分,選取「私人」。
按一下 [儲存]。
gcloud
使用 networks subnets create 指令。
gcloud compute networks subnets update CONSUMER_SUBNET \
--purpose=PRIVATE \
--region=REGION \
--project=CONSUMER_PROJECT
更改下列內容:
CONSUMER_SUBNET:用戶子網路的名稱REGION:消費者子網路的區域CONSUMER_PROJECT:消費者專案的 ID
刪除對等互連
如果不再需要對等互連連線,請刪除消費者和生產者兩者的對等互連設定。
復原遷移作業
只有在消費者子網路尚未更新為一般子網路時,才能復原遷移作業。如果復原,服務會透過虛擬私有雲網路對等互連提供。
- 如果內部範圍仍然存在,請在生產端專案中刪除該範圍。
在消費者專案中建立內部範圍。回溯時,遷移來源是取用者子網路,遷移目標是產生者子網路。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --project=CONSUMER_PROJECT \ --ip-cidr-range=CIDR_RANGE \ --network=CONSUMER_NETWORK \ --usage=FOR_MIGRATION \ --migration-source=CONSUMER_SUBNET_URI \ --migration-target=PRODUCER_SUBNET_URI刪除消費者的 Private Service Connect 端點。
刪除消費者的 IP 位址資源。
使用相同的名稱和 CIDR 範圍,重新建立生產者的子網路。將子網路用途設為
PRIVATE。在生產者子網路中,重新建立提供服務所需的資源。
消費者會驗證是否能透過對等互連連線存取服務。