本頁面適用於網路專家,他們希望將共用虛擬私有雲網路流量從使用無伺服器虛擬私有雲存取連接器,改為使用直接虛擬私有雲輸出,以便將流量傳送至共用虛擬私有雲網路。
直接虛擬私有雲 egress 速度更快,且可處理的流量比連接器更多,因為它使用新的直接網路路徑,而非連接器執行個體,因此可縮短延遲時間並提高處理量。
在遷移前,建議您熟悉 Direct VPC 外連的必要條件、限制、IP 位址分配和 IAM 權限。
將服務遷移至直接虛擬私有雲 egress
逐步將服務遷移至直接虛擬私有雲輸出
將 Cloud Run 服務從無伺服器虛擬私有雲存取連接器遷移至直接虛擬私有雲輸出時,建議您採取漸進式轉換方式。
如要逐步轉換:
- 請按照本指南中的操作說明,更新服務或工作,以便使用直接虛擬私有雲出口。
- 將少部分流量分流,以測試流量是否正常運作。
- 更新流量分配比例,以便使用直接虛擬私有雲輸出功能,將所有流量傳送至新修訂版本。
如要為服務遷移使用直接虛擬私有雲輸出的流量,請使用Google Cloud 控制台或 Google Cloud CLI:
控制台
前往 Google Cloud 控制台的「Cloud Run」頁面。
按一下要從連接器遷移至直接 VPC 出口的服務,然後點選「編輯及部署新的修訂版本」。
按一下 [網路] 分頁標籤。
在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」。
選取「與我共用的網路」。
在「Network」(網路) 欄位中,選取要傳送流量的 Shared VPC 網路。
在「子網路」欄位中,選取服務接收 IP 位址的子網路。您可以在同一個子網路中部署多項服務。
選用:輸入要與服務相關聯的網路標記名稱。網路標記是在修訂版本層級指定。每個服務修訂版本都可以有不同的網路標記,例如
network-tag-2
。在「Traffic routing」(流量路由) 部分,選取下列其中一個選項:
- 僅將要求轉送至虛擬私有雲的私人 IP,這樣就只會透過共用虛擬私有雲網路將流量傳送至內部位址。
- 將所有流量轉送至虛擬私有雲,透過共用虛擬私有雲網路傳送所有傳出流量。
按一下 [Deploy] (部署)。
如要確認服務是否位於共用虛擬私有雲網路中,請按一下服務,然後點選「網路」分頁標籤。網路和子網路會列在 VPC 資訊卡中。
您現在可以根據防火牆規則,直接從 Cloud Run 服務將要求傳送至共用虛擬私有雲網路中的任何資源。
gcloud
如要使用 Google Cloud CLI 將 Cloud Run 服務從連接器遷移至直接虛擬私有雲輸出,請按照下列步驟操作:
使用下列指令指定共用 VPC 網路和子網路的完整資源名稱,更新共用子網路上的服務:
gcloud beta run services update SERVICE_NAME \ --clear-network \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
更改下列內容:
- SERVICE_NAME:Cloud Run 服務名稱。
- IMAGE_URL:服務的圖片網址。
- HOST_PROJECT_ID:共用虛擬私有雲專案的 ID。
- VPC_NETWORK:共用虛擬私有雲網路的名稱。
- REGION:Cloud Run 服務的區域,必須與子網路的區域相符。
- SUBNET_NAME:子網路名稱。
- 選用:NETWORK_TAG_NAMES 與您要與服務建立關聯的網路標記名稱 (以半形逗號分隔)。對於服務,網路標記是在修訂版本層級指定。每個服務修訂版本都可以有不同的網路標記,例如
network-tag-2
。 - EGRESS_SETTING 搭配egress 設定值:
all-traffic
:透過共用虛擬私有雲網路傳送所有出站流量。private-ranges-only
:只透過共用虛擬私有雲網路將流量傳送至內部位址。
- MAX:共用虛擬私有雲網路可使用的執行個體數量上限。服務允許的執行個體數量上限為 100 個。
如需詳細資訊和選用引數,請參閱
gcloud
參考資料。如要確認服務是否位於共用 VPC 網路中,請執行下列指令:
gcloud beta run services describe SERVICE_NAME \ --region=REGION
取代:
SERVICE_NAME
改為您的服務名稱。- 將
REGION
替換為您在上一個步驟中指定的服務地區。
輸出內容應包含網路、子網路和出口設定的名稱,例如:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
您現在可以根據防火牆規則,從 Cloud Run 服務傳送要求至共用虛擬私有雲網路上的任何資源。
將工作遷移至直接虛擬私有雲網路輸出
您可以使用Google Cloud 控制台或 Google Cloud CLI,為工作遷移使用 Direct VPC 出口的流量。
控制台
前往 Google Cloud 控制台的「Cloud Run」頁面。
按一下要從連接器遷移至 Direct VPC 出口的工作,然後按一下「編輯」。
按一下 [網路] 分頁標籤。
按一下「容器、變數和密鑰、連線、安全性」,展開工作屬性頁面。
按一下「連線設定」分頁標籤。
在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」。
選取「與我共用的網路」。
在「Network」(網路) 欄位中,選取要傳送流量的 Shared VPC 網路。
在「Subnet」(子網路) 欄位中,選取工作接收 IP 位址的子網路。您可以在同一個子網路中部署多個工作。
選用:輸入要與工作建立關聯的網路代碼名稱。針對工作,網路標記是在執行層級指定。每個工作執行作業可以有不同的網路標記,例如
network-tag-2
。在「Traffic routing」(流量路由) 部分,選取下列其中一個選項:
- 僅將要求轉送至虛擬私有雲的私人 IP,這樣就只會透過共用虛擬私有雲網路將流量傳送至內部位址。
- 將所有流量轉送至虛擬私有雲,透過共用虛擬私有雲網路傳送所有傳出流量。
按一下 [Update]。
如要確認工作位於共用虛擬私有雲網路,請依序按一下工作和「Configuration」分頁標籤。網路和子網路會列於 VPC 資訊卡中。
您現在可以執行 Cloud Run 工作,並根據防火牆規則,將工作中的要求傳送至共用虛擬私有雲網路中的任何資源。
gcloud
如要使用 Google Cloud CLI 將 Cloud Run 工作從連接器遷移至直接虛擬私有雲輸出,請按照下列步驟操作:
搭配下列標記執行
gcloud run jobs update
指令,即可將工作與共用虛擬私有雲網路解除連結:gcloud run jobs update JOB_NAME --region=REGION \ --clear-network
更改下列內容:
- JOB_NAME:Cloud Run 工作名稱。
- REGION:Cloud Run 工作的區域。
使用下列指令指定共用虛擬私有雲網路和子網路的完整資源名稱,更新共用子網路上的工作:
gcloud beta run jobs create JOB_NAME \ --clear-network \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
更改下列內容:
- JOB_NAME:Cloud Run 工作名稱。
- IMAGE_URL:工作圖片的網址。
- HOST_PROJECT_ID:共用虛擬私有雲專案的 ID。
- VPC_NETWORK:共用虛擬私有雲網路的名稱。
- REGION:Cloud Run 作業的區域,必須與子網路的區域相符。
- SUBNET_NAME:子網路名稱。
- 選用:NETWORK_TAG_NAMES 使用半形逗號分隔的名稱,代表要與工作相關聯的網路標記。每個工作執行作業都可以有不同的網路標記,例如
network-tag-2
。 - EGRESS_SETTING 搭配egress 設定值:
all-traffic
:透過共用虛擬私有雲網路傳送所有出站流量。private-ranges-only
:只透過共用虛擬私有雲網路將流量傳送至內部位址。
如需詳細資訊和選用引數,請參閱
gcloud
參考資料。如要確認工作位於共用虛擬私有雲網路,請執行下列指令:
gcloud beta run jobs describe JOB_NAME \ --region=REGION
取代:
JOB_NAME
改為工作名稱。REGION
與您在上一個步驟中指定的工作區域。
輸出內容應包含網路、子網路和出口設定的名稱,例如:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
您現在可以根據防火牆規則,從 Cloud Run 作業傳送要求至共用 VPC 網路的任何資源。