本頁內容適用於網路專家,他們想將標準虛擬私有雲網路流量從使用無伺服器虛擬私有雲存取連接器,遷移至使用直接虛擬私有雲輸出,以便將流量傳送至虛擬私有雲網路。
直接虛擬私有雲 egress 比連接器更快,可處理更多流量,而且由於使用新的直接網路路徑,而非連接器執行個體,因此延遲時間較短,處理量也較高。
建議您先熟悉 Direct VPC 輸出流量的必要條件、限制、IP 位址分配、IAM 權限和防火牆規則,再進行遷移。
將服務遷移至直接虛擬私有雲輸出流量
逐步將服務遷移至直接虛擬私有雲輸出流量
將 Cloud Run 服務從無伺服器虛擬私有雲存取連接器遷移至直接虛擬私有雲輸出時,建議您逐步轉換。
如要逐步轉換,請按照下列步驟操作:
- 請按照本節中的操作說明,更新服務以使用直接 VPC 輸出。
- 分配一小部分的流量,判斷流量是否正常運作。
- 更新流量分配比例,使用直接虛擬私有雲輸出功能將所有流量傳送至新修訂版本。
如要為服務遷移流量並使用直接虛擬私有雲輸出功能,請使用Google Cloud 控制台或 Google Cloud CLI:
控制台
前往 Google Cloud 控制台的「Cloud Run」頁面。
按一下要從連接器遷移至 Direct VPC 輸出的服務,然後點選「Edit and deploy new revision」(編輯及部署新的修訂版本)。
按一下 [網路] 分頁標籤。
在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」。
在「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 服務將要求傳送至虛擬私有雲網路上的任何資源。
將工作遷移至直接虛擬私有雲輸出
如要使用 Direct VPC 輸出遷移工作流量,請使用Google Cloud 控制台或 Google Cloud CLI。
控制台
前往 Google Cloud 控制台的「Cloud Run」頁面。
按一下要從連接器遷移至 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
取代:
如要確認工作是否位於虛擬私有雲網路中,請執行下列指令:
gcloud run jobs describe JOB_NAME \ --region=REGION
取代:
JOB_NAME
改為您的工作名稱。REGION
,並將其替換為您在上一個步驟中指定的工作區域。
輸出內容應包含網路、子網路和輸出設定的名稱,例如:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
現在,您可以根據防火牆規則,從 Cloud Run 作業向虛擬私有雲網路上的任何資源傳送要求。