將共用虛擬私有雲連接器遷移至直接虛擬私有雲 egress

本頁面適用於網路專家,他們想將共用虛擬私有雲網路流量從使用無伺服器虛擬私有雲存取連接器,遷移至使用直接虛擬私有雲輸出,以便將流量傳送至共用虛擬私有雲網路。

直接輸出至虛擬私有雲的功能比連接器更快,且能處理更多流量,因為這項功能使用新的直接網路路徑,而非連接器執行個體,因此延遲時間較短,處理量也較高。

遷移前,建議您先瞭解直接虛擬私有雲輸出必要條件限制IP 位址分配IAM 權限

將服務遷移至直接虛擬私有雲輸出

逐步將服務遷移至直接虛擬私有雲輸出

將 Cloud Run 服務從無伺服器虛擬私有雲存取連接器遷移至直接虛擬私有雲輸出時,建議您逐步遷移。

如要逐步轉換,請按照下列步驟操作:

  1. 請按照本指南的說明更新服務或工作,改用直接虛擬私有雲輸出。
  2. 分配一小部分流量,測試流量是否正常運作。
  3. 更新流量分配比例,使用直接虛擬私有雲輸出功能將所有流量傳送至新修訂版本。

如要為服務遷移流量並使用直接虛擬私有雲輸出功能,請使用Google Cloud 控制台或 Google Cloud CLI:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run「服務」頁面:

    前往 Cloud Run

  2. 按一下要從連接器遷移至 Direct VPC 輸出的服務,然後點選「Edit and deploy new revision」(編輯及部署新的修訂版本)

  3. 按一下 [網路] 分頁標籤。

  4. 在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」

  5. 選取「與我共用的網路」

  6. 在「Network」(網路) 欄位中,選取要將流量傳送至的 Shared VPC 網路。

  7. 在「Subnet」(子網路) 欄位中,選取服務接收 IP 位址的子網路。您可以在同一個子網路上部署多項服務。

  8. 選用:輸入要與服務建立關聯的網路標記名稱。網路標記是在修訂版本層級指定。每個服務修訂版本可以有不同的網路標記,例如 network-tag-2

  9. 在「流量轉送」中,選取下列其中一個選項:

    • 僅將傳至私人 IP 的要求轉送至虛擬私有雲:僅透過共用虛擬私有雲網路將流量傳送至內部位址。
    • 將所有流量轉送至虛擬私有雲,透過共用虛擬私有雲網路傳送所有輸出流量。
  10. 按一下 [Deploy] (部署)

  11. 如要確認服務是否位於共用虛擬私有雲網路中,請按一下服務,然後按一下「網路」分頁標籤。網路和子網路會列在「VPC」資訊卡中。

    現在,您可以根據防火牆規則,直接從 Cloud Run 服務將要求傳送至共用 VPC 網路上的任何資源。

gcloud

如要使用 Google Cloud CLI,將 Cloud Run 服務從連接器遷移至直接虛擬私有雲輸出流量,請按照下列步驟操作:

  1. 使用下列指令,指定共用虛擬私有雲端網路和子網路的完整資源名稱,更新共用子網路上的服務:

    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,並將輸出設定值設為:
      • all-traffic:透過共用虛擬私有雲網路傳送所有輸出流量。
      • private-ranges-only:只透過共用虛擬私有雲網路將流量傳送至內部位址。
    • MAX:共用 VPC 網路可使用的執行個體數量上限。服務允許的執行個體數量上限為 100 個。

    如要瞭解詳情和選用引數,請參閱gcloud參考資料

  2. 如要確認服務是否位於共用 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 服務將要求傳送至共用 VPC 網路上的任何資源。

將工作遷移至直接虛擬私有雲輸出

如要使用 Direct VPC 輸出遷移工作流量,請使用Google Cloud 控制台或 Google Cloud CLI。

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run「Jobs」頁面:

    前往 Cloud Run

  2. 按一下要從連接器遷移至直接虛擬私有雲輸出的工作,然後按一下「編輯」

  3. 按一下 [網路] 分頁標籤。

  4. 按一下「Container, Variables & Secrets, Connections, Security」(容器、變數和密鑰、連線、安全性),展開工作屬性頁面。

  5. 按一下「連結」分頁標籤。

  6. 在「連線至虛擬私有雲,以傳出流量」中,按一下「直接將流量傳送至虛擬私有雲」

  7. 選取「與我共用的網路」

  8. 在「Network」(網路) 欄位中,選取要將流量傳送至的 Shared VPC 網路。

  9. 在「Subnet」(子網路) 欄位中,選取工作接收 IP 位址的子網路。您可以在同一個子網路上部署多項工作。

  10. 選用:輸入要與工作建立關聯的網路標記名稱。如果是作業,網路標記是在執行層級指定。每個工作執行作業可以有不同的網路標記,例如 network-tag-2

  11. 在「流量轉送」中,選取下列其中一個選項:

    • 僅將傳至私人 IP 的要求轉送至虛擬私有雲:僅透過共用虛擬私有雲網路將流量傳送至內部位址。
    • 將所有流量轉送至虛擬私有雲,透過共用虛擬私有雲網路傳送所有輸出流量。
  12. 按一下「Update」

  13. 如要確認作業是否位於共用 VPC 網路,請按一下作業,然後點選「設定」分頁標籤。網路和子網路會列在「VPC」資訊卡中。

現在您可以執行 Cloud Run 工作,並根據防火牆規則,從工作將要求傳送至共用虛擬私有雲網路上的任何資源。

gcloud

如要使用 Google Cloud CLI,將 Cloud Run 工作從連接器遷移至直接虛擬私有雲輸出,請按照下列步驟操作:

  1. 執行 gcloud run jobs update 指令並加上下列旗標,將工作與共用虛擬私有雲網路中斷連線:

    gcloud run jobs update JOB_NAME --region=REGION \
    --clear-network

    更改下列內容:

    • JOB_NAME:Cloud Run 工作名稱。
    • REGION:Cloud Run 工作的區域。
  2. 使用下列指令,指定共用虛擬私有雲網路和子網路的完整資源名稱,更新共用子網路上的作業:

    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,並將輸出設定值設為:
      • all-traffic:透過共用虛擬私有雲網路傳送所有輸出流量。
      • private-ranges-only:只透過共用虛擬私有雲網路將流量傳送至內部位址。

    如要瞭解詳情和選用引數,請參閱gcloud參考資料

  3. 如要確認工作是否位於共用虛擬私有雲網路上,請執行下列指令:

    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 網路上的任何資源。