本頁內容適用於網路專家,他們希望將標準虛擬私有雲網路流量從使用無伺服器 VPC 存取連接器,遷移至使用直連虛擬私有雲輸出,以便將流量傳送至虛擬私有雲網路。
直連虛擬私有雲輸出比連接器更快,可處理更多流量,而且由於使用新的直連網路路徑,而非連接器執行個體,因此延遲時間較短,處理量也較高。
建議您先熟悉直連虛擬私有雲輸出必要條件、限制、IP 位址分配、IAM 權限和防火牆規則,再進行遷移。
即使連接器沒有流量且已中斷連線,仍會產生費用。詳情請參閱計費。如果不再需要連接器,請務必將其刪除,以免持續計費。
逐步將服務遷移至直連虛擬私有雲輸出流量
將 Cloud Run 服務從無伺服器虛擬私有雲存取連接器遷移至直接虛擬私有雲輸出時,建議您逐步遷移。
如要逐步轉換,請按照下列步驟操作:
- 請按照本節的說明更新服務,改用直連虛擬私有雲輸出。
- 分配一小部分流量,判斷流量是否正常運作。
- 更新流量分配比例,使用直連虛擬私有雲輸出功能將所有流量傳送至新修訂版本。
如要透過服務的直連虛擬私有雲輸出流量遷移流量,請使用Google Cloud 控制台或 Google Cloud CLI:
控制台
前往 Google Cloud 控制台的 Cloud Run「Services」(服務) 頁面。
按一下要從連接器遷移至 Direct VPC 輸出的服務,然後點選「編輯及部署新的修訂版本」。
按一下 [網路] 分頁標籤。
在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」。
在「Network」(網路) 欄位中,選取要傳送流量的虛擬私有雲網路。
在「子網路」欄位中,選取服務接收 IP 位址的子網路。您可以在同一個子網路上部署多項服務。
選用:輸入要與服務建立關聯的網路標記名稱。網路標記是在修訂版本層級指定。每個服務修訂版本可以有不同的網路標記,例如
network-tag-2。在「流量轉送」中,選取下列其中一個選項:
- 僅將傳至私人 IP 的要求轉送至虛擬私有雲:僅透過虛擬私有雲網路將流量傳送至內部位址。
- 將所有流量轉送至虛擬私有雲,透過虛擬私有雲網路傳送所有輸出流量。
點選「Deploy」(部署)。
如要確認服務是否位於虛擬私有雲網路上,請按一下服務,然後點選「網路」分頁標籤。網路和子網路會列在「VPC」資訊卡中。
現在您可以根據防火牆規則,直接從 Cloud Run 服務將要求傳送至虛擬私有雲網路上的任何資源。
gcloud
如要使用 Google Cloud CLI,將 Cloud Run 服務從連接器遷移至直連虛擬私有雲輸出流量,請按照下列步驟操作:
更新 Cloud Run 服務,使用直連虛擬私有雲輸出流量,並使用下列指令清除連接器。
gcloud run services update SERVICE_NAME \ --clear-vpc-connector \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --region=REGION \ --no-traffic
更改項目:
- SERVICE_NAME 改為您的服務名稱。
- 將 NETWORK 替換為虛擬私有雲網路的名稱。
- 將 SUBNET 替換為子網路名稱。您可以在同一個子網路上部署或執行多項服務或工作。
- 選用:以半形逗號分隔的網路標記名稱,您想與服務建立關聯。NETWORK_TAG_NAMES如果是服務,網路標記是在修訂版本層級指定。每個服務修訂版本可以有不同的網路標記,例如
network-tag-2。 - REGION 改為服務的地區。
選用:如要透過虛擬私有雲網路轉送所有輸出流量,請執行下列指令來更新輸出設定:
gcloud run services update SERVICE_NAME \ --vpc-egress=all-traffic \ --region REGION
更改項目:
- SERVICE_NAME 改為您的服務名稱。
- 將 REGION 換成您在上一步指定的區域。
如要確認服務位於虛擬私有雲網路上,請執行下列指令:
gcloud run services describe SERVICE_NAME \ --region=REGION
更改項目:
- SERVICE_NAME 改為您的服務名稱。
- REGION 替換為您在上一個步驟中指定的服務區域。
輸出內容應包含網路、子網路和輸出設定的名稱,例如:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only將一小部分流量轉送至新的直連虛擬私有雲 egress 路徑。舉例來說,如要將 10% 的流量導向在上一個步驟中建立的最新修訂版本,請執行下列指令:
gcloud run services update-traffic SERVICE_NAME --to-revisions=LATEST=10
將 SERVICE_NAME 改為您的服務名稱。
確認沒有任何回歸後,請逐步將流量遷移至最新修訂版本。
現在,您可以根據防火牆規則,從 Cloud Run 服務傳送要求至虛擬私有雲網路上的任何資源。
將工作遷移至直連虛擬私有雲輸出
您可以使用Google Cloud 控制台或 Google Cloud CLI,為工作遷移具有直連虛擬私有雲輸出功能的流量。
控制台
前往 Google Cloud 控制台的 Cloud Run「Jobs」(工作) 頁面。
按一下要從連結器遷移至 Direct VPC 輸出的工作,然後點選「編輯」。
按一下 [網路] 分頁標籤。
按一下「Container, Variables & Secrets, Connections, Security」(容器、變數和密鑰、連線、安全性),展開工作屬性頁面。
按一下「連結」分頁標籤。
在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」。
在「Network」(網路) 欄位中,選取要傳送流量的虛擬私有雲網路。
在「Subnet」(子網路) 欄位中,選取工作接收 IP 位址的子網路。您可以在同一個子網路上部署多項工作。
選用:輸入要與服務建立關聯的網路標記名稱。網路標記是在修訂版本層級指定。每個服務修訂版本可以有不同的網路標記,例如
network-tag-2。在「流量轉送」中,選取下列其中一個選項:
- 僅將傳至私人 IP 的要求轉送至虛擬私有雲:僅透過虛擬私有雲網路將流量傳送至內部位址。
- 將所有流量轉送至虛擬私有雲,透過虛擬私有雲網路傳送所有傳出流量。
按一下「Update」。
如要確認工作是否位於虛擬私有雲網路中,請按一下工作,然後按一下「設定」分頁標籤。網路和子網路會列在「虛擬私有雲」資訊卡中。
現在您可以執行 Cloud Run 作業,並從作業將要求傳送至虛擬私有雲網路上的任何資源,但須遵守防火牆規則。
gcloud
如要使用 Google Cloud CLI,將 Cloud Run 工作從連接器遷移至直連虛擬私有雲輸出流量,請按照下列步驟操作:
執行下列指令,更新 Cloud Run 作業以使用直連虛擬私有雲輸出,並清除連接器。
gcloud run jobs update JOB_NAME \ --clear-vpc-connector \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --region=REGION
更改項目:
- 將 JOB_NAME 改為您的工作名稱。
- 將 NETWORK 替換為虛擬私有雲網路的名稱。
- 將 SUBNET 替換為子網路名稱。您可以在同一個子網路上部署或執行多項服務或工作。
- 選用:NETWORK_TAG_NAMES,並提供要與工作建立關聯的網路標記名稱。對於工作,網路標記是在執行層級指定。每個工作執行作業可以有不同的網路標記,例如
network-tag-2。 - REGION 改成工作所在的區域。
選用:如要透過虛擬私有雲網路轉送所有輸出流量,請執行下列指令來更新輸出設定:
gcloud run jobs update JOB_NAME \ --vpc-egress=all-traffic \ --region=REGION
更改項目:
- 將 JOB_NAME 改為您的工作名稱。
- 將 REGION 換成您在上一步指定的區域。
如要確認工作是否位於虛擬私有雲網路中,請執行下列指令:
gcloud run jobs describe JOB_NAME \ --region=REGION
更改項目:
- 將 JOB_NAME 改為您的工作名稱。
- REGION,並在上一個步驟中指定作業的區域。
輸出內容應包含網路、子網路和輸出設定的名稱,例如:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
現在,您可以根據防火牆規則,從 Cloud Run 作業向虛擬私有雲網路上的任何資源傳送要求。