設定及管理子網路

本文說明如何在 VMware Engine 中建立及管理不同的子網路。

子網路有三種類型:工作負載子網路、服務子網路和管理工作負載子網路。

工作負載子網路

如要使用工作負載虛擬機器 (VM),您必須在私有雲的 NSX Manager 上建立網路區隔。在 NSX Manager 中建立的網路區隔不會顯示在 VMware Engine 中。

存取 NSX Manager

建立子網路的程序會在 NSX 中進行,您可以透過 VMware Engine 存取 NSX:

  1. 前往 Google Cloud 控制台的「Private clouds」頁面。

    前往 Private Cloud

  2. 按一下「選取專案」,然後選取包含要建立子網路的私有雲的機構、資料夾或專案。

  3. 按一下要建立子網路的私有雲名稱。

  4. 在「管理裝置」下方,複製 NSX Manager 對應的「網址」

  5. 將該網址貼到可存取 VMware Engine 管理網路,且可解析 NSX Manager DNS 的 VM 中。

  6. 按照系統提示輸入登入憑證。提醒您,您可以從私有雲詳細資料頁面擷取產生的憑證

如果您已設定 NSX 使用識別資訊來源 (例如 Active Directory),請改用識別資訊來源憑證。

建立工作負載網路區隔

針對工作負載 VM,請為私有雲建立子網路做為 NSX 網路區隔:

  1. 在 NSX 中,依序前往「Networking」>「Segments」
  2. 按一下 [Add Segment] (新增區隔)
  3. 在「區隔名稱」欄位中,輸入區隔的名稱。
  4. 在「Connected Gateway」(已連線的閘道) 清單中,選取「Tier1」即可連線至第 1 層閘道。
  5. 在「Transport zone」(傳輸區域) 清單中,選取「TZ-OVERLAY | Overlay」(傳輸區域 - 疊加)
  6. 在「Subnets」(子網路) 欄中,輸入子網路範圍。指定子網路範圍,並以 .1 做為最後一個八位元。例如:10.12.2.1/24
  7. 按一下「Set DHCP Config」(設定 DHCP),然後在「DHCP Ranges」(DHCP 範圍) 欄位中提供值。
  8. 按一下「套用」,儲存 DHCP 設定。
  9. 按一下 [儲存]。現在您可以在 vCenter 建立 VM 時選取這個網段。

在特定區域中,您最多可以透過私人服務存取權,從 VMware Engine 向虛擬私有雲網路通告 100 個不重複的路徑。舉例來說,這些專屬路徑包括私有雲管理 IP 位址範圍、NSX 工作負載網路區隔,以及 HCX 內部 IP 位址範圍。這項路徑限制包含該區域中的所有私有雲,且對應於 Cloud Router 取得的路徑限制。

如要瞭解路由限制,請參閱「Cloud Router 配額與限制」。

服務子網路

服務子網路是 VMware Engine 在建立私有雲時自動建立的 userDefined 子網路。您可以針對設備或服務部署情境使用服務子網路,例如儲存、備份、災難復原 (DR)、媒體串流,以及為最大規模的私有雲提供大規模線性處理量和封包處理。可用的服務子網路名稱如下:

  • service-1
  • service-2
  • service-3
  • service-4
  • service-5

服務子網路中的虛擬機器通訊會直接從 VMware ESXi 主機連出,進入 Google Cloud 網路基礎架構,實現高速通訊。

設定服務子網路

VMware Engine 建立服務子網路時,不會分配 CIDR 範圍或前置字元。請指定不重疊的 CIDR 範圍和前置字串。第一個可用位址會成為閘道位址。如要分配 CIDR 範圍和前置字串,請編輯其中一個服務子網路。

如果 CIDR 需求有變,可以更新服務子網路。修改現有服務子網路 CIDR 可能會導致附加至該服務子網路的 VM 網路中斷。

設定 vSphere 分散式連接埠群組

此外,如要將 VM 連線至服務子網路,您必須建立新的分散式連接埠群組。這個連接埠群組會將服務子網路 ID 對應至 vCenter 私有雲中的網路名稱。現在說明一下操作方式:

  1. 連線至 VMware vCenter 介面,請參閱「存取管理設備」。
  2. 前往 vCenter 介面的網路設定部分。
  3. 選取 Datacenter-dvs,然後選取「New Distributed Port Group」(新的分散式連接埠群組)。

建立分散式連接埠群組後,您可以在 VM 屬性的網路設定中選取對應名稱,即可連結 VM。以下是分散式連接埠群組的重要設定值:

  • 通訊埠繫結:靜態繫結
  • 通訊埠分配:彈性
  • 通訊埠數量:120
  • VLAN 類型:VLAN
  • VLAN ID:Google Cloud VMware Engine 介面子網路區段中的對應子網路 ID。

Google Cloud CLI 和 API 需求

如要使用 gcloud 指令列工具或 API 管理 VMware Engine 資源,建議按照下列說明設定工具。

gcloud

  1. 設定預設專案 ID:

    gcloud config set project PROJECT_ID
    
  2. 設定預設地區和區域:

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

如要進一步瞭解 gcloud vmware 工具,請參閱 Cloud SDK 參考文件

API

本文件集中的 API 範例會使用 cURL 指令列工具查詢 API。您必須在cURL要求中提供有效的存取權杖。取得有效存取權杖的方法有很多,以下步驟使用 gcloud 工具產生存取權杖:

  1. 登入 Google Cloud:

    gcloud auth login
    
  2. 產生存取權杖並匯出至 TOKEN:

    export TOKEN=`gcloud auth print-access-token`
    
  3. 確認 TOKEN 設定正確:

    echo $TOKEN
    

現在,您可以在 API 要求中使用授權權杖。例如:

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

本說明文件中的 Python 程式碼範例會使用 VMware Engine 程式庫與 API 通訊。如要使用這種方法,必須先安裝程式庫,並設定應用程式預設憑證

  1. 下載並安裝 Python 程式庫:

    pip install google-cloud-vmwareengine
    
  2. 在殼層中執行這些指令,設定 ADC 資訊:

    gcloud auth application-default login
    

    或者,使用服務帳戶金鑰檔案:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

如要進一步瞭解程式庫,請造訪參考頁面或查看 GitHub 上的程式碼範例

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 設定 userDefined 子網路。您必須知道子網路和私有雲的名稱。

主控台

  1. 前往 Google Cloud 控制台的「Subnets」(子網路) 頁面。

    前往「子網路」

  2. 按一下「選取專案」,然後選取包含私有雲和子網路詳細資料的機構、資料夾或專案。

  3. 找出要編輯的 userDefined 子網路,然後按一下鉛筆圖示來編輯子網路。

gcloud

使用 Google Cloud CLI 透過 gcloud vmware private-clouds subnets update 指令編輯子網路

gcloud vmware private-clouds subnets update SUBNET_NAME \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE \
  --ip-cidr-range=`IP_ADDRESS`

更改下列內容:

  • SUBNET_NAME:要在這個 Private Cloud 中更新的子網路名稱
  • PRIVATE_CLOUD_ID:私有雲的名稱
  • ZONE:Private Cloud 的可用區
  • IP_ADDRESS:IP 位址和範圍,例如 10.0.0.0/24

API

如要使用 VMware Engine API 編輯子網路,請發出 PATCH 要求:

 curl -sSL -XPATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8"
 "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME?update_mask=ip_cidr_range" -d '{
    "ip_cidr_range": "IP_ADDRESS"
 }'

更改下列內容:

  • PROJECT_ID:這項要求的專案 ID。
  • ZONE:Private Cloud 的可用區
  • PRIVATE_CLOUD_ID:私有雲的名稱
  • SUBNET_NAME:要在這個 Private Cloud 中更新的子網路名稱
  • IP_ADDRESS:IP 位址和範圍,例如 10.0.0.0/24

管理子網路

管理子網路是唯讀子網路,您可以使用 Google Cloud CLI 或 VMware Engine API 查看。

列出所有子網路

在 Google Cloud 控制台、Google Cloud CLI 或 API 中查看子網路清單。

主控台

前往「子網路」頁面,按一下「選取專案」,然後選取包含私有雲和子網路詳細資料的機構、資料夾或專案,即可查看子網路清單。

前往「子網路」

gcloud

使用 Google Cloud CLI 列出子網路,方法是輸入 gcloud vmware private-clouds subnets list 指令

gcloud vmware private-clouds subnets list \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

更改下列內容:

  • PRIVATE_CLOUD_ID:私有雲的名稱
  • ZONE:Private Cloud 的可用區

API

如要使用 VMware Engine API 列出子網路,請發出 GET 要求:

 curl -sSL -XGET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8"
 "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets"

更改下列內容:

  • PROJECT_ID:這項要求的專案 ID。
  • ZONE:Private Cloud 的可用區
  • PRIVATE_CLOUD_ID:私有雲的名稱

說明子網路

使用 Google Cloud CLI 或 VMware Engine API 取得任何子網路的說明。

主控台

如要取得子網路的說明,請前往「子網路」頁面,按一下「選取專案」,然後選取包含私有雲和子網路詳細資料的機構、資料夾或專案。

前往「子網路」

gcloud

使用 gcloud vmware private-clouds subnets update 指令取得子網路的說明:

gcloud vmware private-clouds subnets describe SUBNET_NAME \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

更改下列內容:

  • SUBNET_NAME:要在這個 Private Cloud 中更新的子網路名稱
  • PRIVATE_CLOUD_ID:私有雲的名稱
  • ZONE:Private Cloud 的可用區

API

如要使用 VMware Engine API 取得子網路的說明,請發出 GET 要求:

GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME"

更改下列內容:

  • PROJECT_ID:這項要求的專案名稱
  • REGION:網路區域
  • PRIVATE_CLOUD_ID:私有雲的名稱
  • SUBNET_NAME:要在這個 Private Cloud 中更新的子網路名稱

後續步驟