建立具有多個網路介面的 VM


根據預設,每個運算執行個體至少都有一個網路介面 (vNIC),用於決定執行個體使用的虛擬私有雲網路。您可以建立具備多個網路介面的執行個體。除了使用 RDMA 網路設定檔建立的虛擬私有雲網路外,每個網路介面都必須指派至不重複的虛擬私有雲網路中的子網路。網路介面的堆疊類型和子網路的堆疊類型會一同運作,詳情請參閱「堆疊類型和 IP 位址

每個 Compute 執行個體都會使用 DHCP 選項 121 接收預設路徑,如 RFC 3442 所定義。預設路徑與 nic0 相關聯。除非您手動設定,否則流量從執行個體傳送至直接連線的子網路以外的任何目的地時,都會透過 nic0 上的預設路徑傳出執行個體。

在 Linux 系統中,您可以使用 /etc/iproute2/rt_tables 檔案和 ip ruleip route 指令,在訪客 OS 中設定自訂規則和路徑。詳情請參閱訪客作業系統說明文件。如需範例,請參閱「為額外介面設定路由」教學課程。

如果您不需要多個網路介面,請按照建立及啟動執行個體的程序,使用預設網路設定建立執行個體。

事前準備

必要的角色

如要取得建立具有特定子網路的執行個體所需的權限,請要求管理員為您授予專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色包含建立特定子網路執行個體所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立特定子網路的執行個體,您必須具備下列權限:

  • compute.instances.create 專案
  • 如要為執行個體指定子網路: compute.subnetworks.use 在專案或所選子網路上
  • 如要在使用虛擬私有雲網路時,將外部 IP 位址指派給執行個體: compute.subnetworks.useExternalIp 專案或所選子網路

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

需求條件

建立具備多個網路介面的執行個體前,請先詳閱下列規定:

  • 除了使用 RDMA 網路設定檔建立的虛擬私有雲網路外,以下限制也適用:如果您建立的執行個體有多個網路介面,每個介面都必須連線至不同的 VPC 網路。這些網路可以是獨立的虛擬私有雲網路共用虛擬私有雲網路
  • 每個網路介面都必須使用不重複的子網路 IP 位址範圍。
  • 對於獨立專案中的多 NIC 運算執行個體,每個網路介面都必須使用與執行個體位於相同專案的子網路。如需共用虛擬私人雲端主機或服務專案中的執行個體相關資訊,請參閱虛擬私人雲端說明文件中的「共用虛擬私人雲端 」一節。Private Service Connect 介面可讓多 NIC 執行個體在不同專案的子網路中擁有網路介面。詳情請參閱「關於網路連結」。

建立具備多個網路介面的 VM 執行個體

大多數 Compute Engine 執行個體可讓您在建立執行個體時設定多個 vNIC。

如要瞭解如何建立具備多個網路介面的運算執行個體,請參閱「建立具備多個網路介面的 VM 執行個體」。

在現有執行個體中新增網路介面

您只能在建立執行個體時,為執行個體設定虛擬 NIC (vNIC)。不過,您可以為現有執行個體新增或移除 Dynamic NIC,而且不必重新啟動執行個體。

Dynamic NIC 是上層 vNIC 的子介面。設定動態網路介面卡時,您會指定 VLAN ID,用於為動態網路介面卡標記網路流量:

  • Dynamic NIC 的 VLAN ID 必須為介於 2 至 255 的整數。
  • Dynamic NIC 的 VLAN ID 在上層 vNIC 中不得重複。不過,屬於不同上層 vNIC 的 Dynamic NIC 可以使用相同的 VLAN ID。

Google Cloud 會使用下列格式為動態網路介面卡命名:PARENT_NIC_NUMBER.VLAN_ID

PARENT_NIC_NUMBER 是父項 vNIC 的名稱,例如 nic0VLAN_ID 是您在設定動態 NIC 時指定的編號。動態網路介面卡名稱的範例為 nic0.4

如要瞭解如何將動態 NIC 新增至執行個體,請參閱「將動態 NIC 新增至執行個體」。

後續步驟