管理舊版網路

我們不建議使用舊版網路,且您無法再建立這類網路。舊版網路不支援許多新推出的功能。 Google Cloud請改用虛擬私有雲 (VPC) 網路。如要進一步瞭解如何取代舊版網路,請參閱「取代舊版網路」。

本頁說明如何修改 Google Cloud 舊版網路。只有在現有設定使用舊版網路的情況下,才需要參閱這個頁面。

限制

舊版網路不支援下列 Google Cloud 功能。如要使用這些功能,請改用虛擬私有雲網路

您可以使用「將單一區域轉換為虛擬私有雲網路」,將單一區域舊版網路轉換為虛擬私有雲網路。如果您有多區域舊版網路,必須先將資源遷移至單一區域,才能使用轉換工具。

建立舊版網路

您無法再建立舊版網路。

如果您嘗試建立舊版網路,系統會顯示以下錯誤:

Creation of legacy mode networks is deprecated. Please create a subnet mode
network instead by removing the IPv4Range field and adding the
autoCreateSubnetworks field to your network insert request.

將 VM 遷出舊版網路

您可以將虛擬機器 (VM) 執行個體從舊版網路遷移至虛擬私有雲網路。如需操作說明,請參閱在網路之間遷移 VM

刪除舊版網路

對於舊版網路,只有在沒有任何資源使用網路中的情況下,您才能明確刪除網路。

如要刪除網路:

gcloud compute networks delete LEGACY_NETWORK_NAME

更改下列內容:

  • LEGACY_NETWORK_NAME:要刪除的舊版網路名稱。

將單一區域舊版網路轉換為虛擬私有雲網路

您可以使用單一區域轉換工具,將舊版網路轉換為同一專案中的自訂模式虛擬私有雲網路。舊版網路中的所有資源都必須位於單一區域。詳情請參閱單一區域轉換詳細資料

單一區域轉換工具的限制

  • 轉換開始後就無法取消。

  • 您必須先將所有資源移至單一區域,才能將舊版網路轉換為虛擬私有雲網路。如果有多個區域的資源,轉換作業會失敗,且 Google Cloud 不會採取任何動作。您必須手動將資源移至單一區域,或從要遷移的區域以外移除資源。舉例來說,您無法將資源逐一轉換為多個虛擬私有雲網路。

  • 轉換期間,網路會繼續傳輸流量,通訊不會中斷。不過,網路資源的變更會受到限制。您可以刪除網路資源,但轉換完成前,系統會禁止刪除特定資源。轉換期間無法建立網路資源。

  • 轉換後的虛擬私有雲網路無法還原為舊版網路。

  • 如果舊版網路包含 Google Kubernetes Engine 叢集,您必須在轉換舊版網路升級 GKE 叢集,確保元件正常運作。詳情請參閱轉換含有 GKE 叢集的舊版網路

準備轉換舊版網路

  1. 建議在網路上的使用者活動較少時執行轉換。

  2. 如要使用轉換工具,舊版網路中的所有資源都必須位於同一個區域。如果您有多個區域的資源,請決定要使用哪個區域,然後將執行個體移至該區域。不在該區域的其他資源必須手動移動或刪除。

  3. 請確認網路 CIDR 範圍中的最後兩個內部 IP 位址未使用中。這些 IP 位址是虛擬私有雲網路子網路中的無法使用的位址

    舉例來說,如果網路的 IP 位址範圍為 10.240.0.0/16,請確認 10.240.255.25410.240.255.255 未指派給任何資源。

  4. 手動調度資源,增加執行個體群組的數量,以滿足轉換期間的預期需求,並停用自動配置器

    如果在轉換期間啟用自動配置器,且自動配置器嘗試建立新執行個體,您可能會看到錯誤

  5. 如果舊版網路包含 GKE 叢集,請參閱「轉換包含 GKE 叢集的舊版網路」。

轉換舊版網路

使用這項工具從舊版網路轉換為 VPC 網路時,網路流量不會中斷,資源也會繼續正常運作。如果網路轉換因任何原因而失敗,系統會自動還原網路轉換。如果發生錯誤,請參閱疑難排解一節尋求解決方案。

  1. 將舊版網路轉換為虛擬私有雲網路。

    轉換作業需要長時間執行。所需時間取決於網路上的資源數量。轉換網路至少需要七分鐘才能完成。大型網路每 1,000 部 VM 可能需要 20 分鐘以上的時間。轉換期間不得變更網路。

    gcloud

    gcloud beta compute networks update LEGACY_NETWORK_NAME \
        --switch-to-custom-subnet-mode
    

    更改下列內容:

    • LEGACY_NETWORK_NAME:要轉換的舊版網路名稱。

    API

    POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/networks/LEGACY_NETWORK_NAME/switchToCustomMode
    

    更改下列內容:

    • PROJECT_ID:包含要轉換的舊版網路的專案。

    • LEGACY_NETWORK_NAME:要轉換的舊版網路名稱。

    您可以使用 globalOperations.get 方法或 globalOperations.wait 方法監控作業狀態。

  2. 作業完成後,請檢查網路的子網路模式是否為 CUSTOM

    列出網路,查看子網路模式:

    gcloud compute networks list
    
  3. 如果先前停用了任何自動調度器,請重新啟用自動調度器

  4. 在虛擬私有雲網路中,於要建立新資源的區域新增子網路

  5. 重新建立未納入轉換的任何資源。

轉換含有 GKE 叢集的舊版網路

如果舊版網路包含 GKE 叢集,則必須在轉換升級 GKE 叢集,確保元件正常運作。

使用 GKE 網路轉換指令碼,執行網路、叢集和節點集區升級作業。

如果您將舊版網路轉換為 VPC 網路時未使用指令碼,則可使用指令碼進行必要的叢集和節點集區升級。

在單一區域轉換後更新資源

舊版網路沒有子網路,因此用於在舊版網路上建立或修改資源的任何指令碼或指令,都不會指定子網路。虛擬私有雲網路確實包含子網路,因此管理虛擬私有雲網路中資源的指令碼和指令,通常需要您指定子網路。

不過,為確保轉換為虛擬私有雲網路後,用於管理舊版網路的指令碼和指令仍可運作,請注意下列事項:

  • 如果您執行 gcloud CLI 指令或發出 API 要求,指定與舊版網路轉換時相同的區域,系統會自動將子網路設為轉換作業期間建立的子網路。

  • 如果您執行 gcloud CLI 指令或發出 API 要求,指定不同區域 (與轉換時舊版網路使用的區域不同),則必須指定子網路。

排解單一區域轉換問題

轉換嘗試:無法轉換含有多個區域中 VM 的網路

嘗試轉換網路時,您會收到以下錯誤訊息:

  ERROR: (gcloud.compute.networks.switchToCustomMode) ResponseError: code=400, message=Only single-region legacy networks are supported. This network has at least one resource in us-central1 and at least one resource in asia-east1.

解決方案: 如要將網路模式從舊版轉換為自訂模式,必須確保所有資源都位於單一區域:

  • 執行個體,包括已停止的執行個體
  • 執行個體群組
  • 代管執行個體群組
  • 轉寄規則
  • 路由器

如要繼續,請先將所有資源遷移至一個區域,或在轉換前刪除資源。

轉換嘗試:超出速率限制,因此無法轉換網路

嘗試轉換網路時,您會收到以下錯誤訊息:

  Error 403: Rate Limit Exceeded, rateLimitExceeded
  

解決方法: 轉換作業有並行作業的全域配額。如果看到這項錯誤,請稍候五分鐘再試一次。

轉換期間:無法在切換模式的網路中建立 VM

嘗試建立、刪除或更新 VM 時,您會收到這項錯誤訊息:

  ERROR: (gcloud.compute.instances.create) ResponseError: code=400, message="Resource not ready".
  

解決方法: 切換網路模式會鎖定網路,因此在作業完成前,無法在網路中建立新的 VM。轉換完成後,您就可以建立、刪除及更新 VM。

轉換後:無法建立資源,且未指定子網路

嘗試在網路上建立新資源時,您會收到這則錯誤訊息:

  gERROR: (gcloud.compute.instances.create) ResponseError: code=400, message=Subnetwork should be specified for custom subnetmode network.

解決方法: 更新資源建立指令碼,指定資源的子網路。

轉換後:無法刪除子網路

嘗試刪除已轉換的網路,或在轉換作業期間建立的子網路時,會收到以下錯誤訊息:

  ERROR: (gcloud.compute.networks.subnets.delete) Could not fetch resource:
   - Cannot delete subnetwork created during legacy network to custom-mode conversion for a day. Please try again tomorrow.
   

解決方法: 請等待一天,然後嘗試刪除網路或子網路。

手動遷移至虛擬私有雲網路

如果無法進行單一區域轉換,您可以在虛擬私有雲網路中,重新建立舊版網路中的所有資源。沒有自動化解決方案可將舊版網路中的多個區域轉換為虛擬私有雲網路。

  1. 建立自訂模式 VPC 網路,然後在您使用的每個區域中新增子網路。

  2. 在舊版網路中,記錄現有資源的詳細資料。您需要這項資訊,才能在 VPC 網路中重新建立這些資源。

    為協助您開始使用,以下列出一些您可能需要重新建立的常見資源。

  3. 使用您記錄的相同設定重新建立資源。部分資源 (例如 VM 執行個體) 需要額外的規劃和步驟才能重建。如需範例,請參閱「特別注意事項」一節。

    如果可以,請先重新建立資源,再移除現有資源。這樣一來,您就可以在移除現有資源前,測試及驗證新資源是否正常運作。並非所有資源都能重新建立,您可能會超出配額,或無法重複使用現有的命名慣例。

  4. 刪除舊資源和舊版網路。

手動遷移的特別注意事項

重新建立資源可能會導致服務中斷。為避免服務中斷,您可能需要在遷移前採取額外行動。舉例來說,您可能需要複製服務的基礎架構,才能將流量從舊網路重新導向至新網路。或者,您可能需要為現有 VM 執行個體建立快照,以便保留資料並移至新執行個體。

以下列舉您可能需要在遷移前規劃的情境:

  • 如果您使用臨時外部 IP 位址,並想繼續使用,請將其升級為保留靜態 IP 位址
  • 如要遷移 VM 執行個體,可以手動重新建立,或使用 Google Cloud 從現有執行個體建立類似的執行個體。建立類似的執行個體時,系統不會複製現有資料,但您可以使用快照開機磁碟來複製資料。 Google Cloud
  • 如果您有負載平衡服務,並想讓服務持續運作,請在虛擬私有雲網路中新增重複的後端。您可以在移除舊版網路中的後端之前,開始將流量導向虛擬私有雲中的後端。

後續步驟