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