別名 IP 範圍

Google Cloud 別名 IP 範圍可讓您以別名形式,將特定範圍的內部 IP 位址指派給虛擬機器 (VM) 的網路介面。如果您的 VM 上有多項服務在運作,而您想要為每項服務指派不同的 IP 位址,這項功能會很實用。別名 IP 範圍也適用於 GKE Pod

如果您在 VM 上只有執行一個服務,可以透過介面的主要 IP 位址來參照這個服務。如果您在 VM 上執行多個服務,可能會想要為各個服務指派不同的內部 IP 位址。您可以使用別名 IP 範圍來達成這項目的。

子網路主要與次要 CIDR 範圍

所有子網路都具有「主要 CIDR 範圍」,這是定義子網路的內部 IP 位址範圍。每個 VM 執行個體皆會從這個範圍取得其主要內部 IP 位址。您也可以從主要範圍分配別名 IP 範圍,或者將次要範圍新增至子網路,並從次要範圍分配別名 IP 範圍。使用別名 IP 範圍不「需要」具有次要子網路範圍。這些次要子網路範圍只是單純提供機構工具。

VM 網路介面中定義的別名 IP 範圍

透過 IP 別名功能,您可以設定多個內部 IP 位址來代表託管在 VM 中的容器或應用程式,並不需要定義另一個網路介面。您可以從子網路的主要或次要範圍指派 VM 別名 IP 範圍。

設定別名 IP 範圍」一文說明設定具有次要範圍的子網路的指令,以及將別名 IP 位址指派給 VM 的指令。

下列圖表提供基本圖例,說明主要與次要 CIDR 範圍及 VM 主要介面上的 VM 別名 IP 範圍:

主要與次要 CIDR 範圍以及 VM 別名 IP 範圍。
主要與次要 CIDR 範圍以及 VM 別名 IP 範圍 (按一下可放大)。
  • 主要 CIDR 範圍 10.1.0.0/16 設定為子網路的一部分。
  • 次要 CIDR 範圍 10.2.0.0/20 設定為子網路的一部分。
  • VM 主要 IP 10.1.0.2 是從主要 CIDR 範圍 10.1.0.0/16 進行分配,而別名 IP 範圍 10.2.1.0/24 則是從次要 CIDR 範圍 10.2.0.0/20 的 VM 中進行分配。
  • 別名 IP 範圍中的位址會用來當做 VM 中託管容器的 IP 位址。

別名 IP 範圍的主要優點

設定別名 IP 範圍時, Google Cloud 會針對主要網路介面的子網路,自動安裝主要和別名 IP 範圍的虛擬私有雲 (VPC) 網路路徑。容器自動化調度管理服務並不需要為這些路徑指定 VPC 網路連線,可以簡化轉送流量和容器管理的作業。您需要按照別名 IP 範圍主要屬性所述執行訪客設定。

Google Cloud分配容器 IP 位址時, Google Cloud中的驗證程序會確保容器 Pod IP 位址不會與 VM IP 位址產生衝突。

設定別名 IP 位址時,系統會對流量執行防偽檢查,確保離開 VM 的流量使用 VM IP 位址和 Pod IP 位址做為來源位址。防偽檢查會確認 VM 不使用任意來源 IP 位址傳送流量。相較於使用 IP 別名,針對容器網路使用靜態路徑是較不安全的方法,因為這種做法需要停用容器主機 VM 上的防偽檢查 (防偽檢查會在啟用 IP 轉送時遭到停用)。

別名 IP 範圍可在 Google Cloud 虛擬網路內轉送,並不需要額外的路徑。您不需要為每個 IP 別名新增路徑,而且無須考慮路徑配額。

別名 IP 位址可透過雲端路由器公佈到透過 VPN 或互連網路連線的內部部署網路。

從次要 CIDR 範圍分配別名 IP 範圍具有多項優點。透過與主要 IP 位址所用範圍不同的範圍進行分配,可讓您區隔基礎架構 (VM) 與服務 (容器)。當您為基礎架構與服務設定分開的位址空間時,可以個別設定 VM 別名 IP 位址與 VM 主要 IP 位址的防火牆控管。舉例來說,您可以允許容器 Pod 的特定流量,並拒絕 VM 主要 IP 位址的類似流量。

Google Cloud中的容器架構

假設您要在 Google Cloud的上層設定容器化服務,您必須建立託管服務的 VM 和容器。

在這個情境中,您想將流量從容器轉送至透過 VPN 連線的內部部署位置,以及從內部部署位置轉送至容器。不過,您不希望主要 VM IP 位址可透過 VPN 存取。如要建立這項設定,容器 IP 範圍必須可透過 VPN 轉送,但 VM 主要 IP 範圍則不行。建立 VM 時,您也想要自動指派用於容器的 IP 位址集區。

如要建立這個設定,請執行下列工作:

  • 建立子網路時,請設定
    • 一個主要 CIDR 範圍,例如 10.128.0.0/16
    • 一個次要 CIDR 範圍,例如 172.16.0.0/16
  • 使用執行個體範本建立 VM,並自動指派以下各個項目:
    • 來自 10.128.0.0/16 範圍的主要 IP
    • 來自次要 CIDR 172.16.0.0/16 空間的別名範圍 /24,這樣就能從 /24 次要 CIDR 範圍為 VM 上的各個容器指派 IP
  • 建立兩個防火牆規則
    • 其中一個規則拒絕從內部部署行經 VPN 的流量連上子網路主要 CIDR 範圍。
    • 另一個規則允許從內部部署行經 VPN 的流量連上子網路次要 CIDR 範圍。

範例:使用別名 IP 範圍設定容器

透過別名 IP 範圍,您可以從次要 CIDR 範圍分配容器 IP 位址,並設為託管容器的 VM 中的別名 IP 位址。

設定具有別名 IP 位址的容器。
設定具有別名 IP 位址的容器 (按一下可放大)。

如何建立上圖所示的設定:

  1. 建立 CIDR 範圍為 10.128.0.0/16 的子網路,系統會從該範圍分配 VM IP 位址;以及專供容器使用的次要 CIDR 範圍 172.16.0.0/20 (系統會將此設定為託管容器的 VM 中的別名 IP 範圍):

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=172.16.0.0/20
    
  2. 建立 VM,其具有來自 10.128.0.0/16 範圍的主要 IP,以及來自次要 CIDR 範圍 172.16.0.0/20 的別名 IP 範圍 172.16.0.0/24 供該 VM 中的容器使用:

    gcloud compute instances create vm1 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.0.0/24
    gcloud compute instances create vm2 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.1.0/24
    
  3. Google Cloud 中的容器 IP 位址會設為別名 IP 位址。在這項設定中,主要與別名 IP 都可透過 VPN 通道連上。如果您設定了雲端路由器,則會自動通告次要子網路範圍 172.16.0.0/20。如要進一步瞭解如何搭配雲端路由器使用 VPN,請參閱「使用動態轉送建立 VPN 通道」一文。

如要進一步瞭解建立這個設定所使用的指令,請參閱「設定別名 IP 位址和範圍」。

範例:單一 VM 執行個體中設定的多個別名 IP 範圍

別名 IP 範圍可讓您針對 VM 中執行的應用程式 (包含透過容器執行的應用程式) 管理其 IP 分配範圍。

在您的部署中,有些容器或許可以在 VM 間遷移,有些則無法。您可使用 /32 範圍設定可遷移的容器,以便輕鬆遷移各個容器。由於不可遷移的容器會集中在一起,因此這類容器可以使用較大的範圍加以設定。

在這些類型的部署作業中,您可能需要為每個 VM 執行個體設定多個別名 IP 範圍,例如為不可遷移的容器設定一個 /27,並為可遷移的容器設定多個 /32。

設定具有多個別名 IP 範圍的 VM。
設定具有多個別名 IP 範圍的 VM (按一下可放大)。

如要設定這個範例,請使用下列 gcloud 指令:

gcloud compute networks create vpc1 --subnet-mode custom
gcloud compute networks subnets create subnet1 --region us-central1 --network vpc1 --range 10.128.0.0/16 --secondary-range secondaryrange1=172.16.0.0/20
gcloud compute instances create vm1 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.0/27;secondaryrange1:172.16.1.0/32"
gcloud compute instances create vm2 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.32/27;secondaryrange1:172.16.1.1/32"

自動模式 VPC 網路和子網路中的別名 IP 位址

自動模式虛擬私有雲網路中自動建立的子網路各自具有主要 CIDR 範圍,但沒有次要範圍。如要在自動模式 VPC 網路中使用別名 IP,您可以從自動建立的子網路主要 CIDR 範圍分配別名 IP 範圍,或是新增次要範圍到自動建立的子網路,並從新的次要範圍分配別名 IP 範圍。

或者,您也可以在自動模式虛擬私有雲網路中使用次要範圍建立新的子網路,前提是其範圍均未與 10.128.0.0/9 重疊。接著,您可以在新的子網路中建立 VM 執行個體,並從該子網路上的任何範圍分配別名 IP 範圍。

如要將次要範圍新增至子網路,請參閱新增次要 CIDR 範圍至現有子網路

自訂模式網路和子網路中的別名 IP 位址

在自訂模式網路中:

  • 所有子網路都是以手動的方式建立。
  • 必須具有一個主要 CIDR 範圍。
  • 您可以選擇建立次要 CIDR 範圍。

別名 IP 範圍主要屬性

下列屬性適用於在 VM 中設定的別名 IP 範圍:

  • 從 VM OS 的觀點來看,主要 IP 位址和預設閘道通常是透過 DHCP 進行分配。別名 IP 位址在 VM OS (通常是 Linux 或 Windows) 中,可透過手動方式或指令碼進行設定。
  • 介面的主要 IP 位址和別名 IP 範圍必須從設為相同子網路一部分的 CIDR 範圍進行分配。請注意下列規定:
    • 主要 IP 位址必須從 CIDR 主要範圍進行分配。
    • 別名 IP 範圍可從主要 CIDR 範圍或相同子網路的次要 CIDR 範圍進行分配。
    • 如為 VM 網路介面,別名 IP 的來源必須與為主要網路介面提供 IP 位址的子網路資源相同。您無法從另一個子網路資源選取主要或次要 CIDR 範圍。
    • 主要 IP 位址可以是靜態或臨時內部 IP 位址。
    • 別名 IP 範圍是選用項目且不會自動新增。在執行個體建立或修改期間,您可以設定別名 IP 範圍。
    • 別名 IP 範圍可設定為明確的 CIDR 範圍 (例如 10.128.1.0/24)、單一 IP 位址 (例如 10.128.7.29/32) 或網路遮罩 (/24)。您可以指定完整的別名 IP 範圍,或指定網路遮罩來讓系統自動分配範圍。
    • 如要在別名 IP 範圍中使用單一 IP 位址,請使用 /32 網路遮罩。
    • 由於虛擬私人雲端網路中的所有子網路皆共用單一預設閘道,因此介面中的所有別名 IP 位址都會與主要 IP 位址共用相同的預設閘道。
    • 您無法在別名 IP 範圍中使用保留 IP 位址。
介面中的別名 IP 與主要 IP 位址共用相同的預設閘道。
介面中的別名 IP 與主要 IP 位址共用相同的預設閘道 (按一下可放大)。

具有別名 IP 位址的 DNS

Google Cloud 會自動設定內部 DNS,用於每個 VM 執行個體主要介面的主要 IP。這會將執行個體主機名稱與主要介面的主要 IP 位址建立關聯。不過,該主機名稱上的 DNS 查詢僅適用於包含主要介面的網路。

Google Cloud 不會自動將其他任何 IP 位址與主機名稱建立關聯。Google Cloud 不會將主要介面上的別名 IP 位址與主機名稱建立關聯,而且也不會將次要介面的任何 IP 位址與主機名稱建立關聯。

您可以手動設定 DNS,以便與其他 IP 位址建立關聯。

防火牆

所有輸入或輸出流量 (包括別名 IP 範圍的流量),都會由 VPC 防火牆規則評估,以便比對目標標記或目標服務帳戶。如要進一步瞭解目標和別名 IP,請參閱「目標與 IP 位址」。

使用來源標記或來源服務帳戶為輸入防火牆規則指定來源時,系統不會納入別名 IP 範圍。

靜態路徑

建立使用內部 IPv4 位址指定的下一個躍點執行個體的靜態路徑時, Google Cloud 會驗證下一個躍點 VM IP 位址是否符合路徑 VPC 網路中子網路的子網路 IPv4 範圍。不過, Google Cloud 只會在下一個躍點位址是路徑 VPC 網路 (非對等 VPC 網路) 中 VM 網路介面 (NIC) 指派的主要內部 IPv4 位址時,才會編寫路徑。

雖然您可以建立下一個躍點位址是內部 IPv4 位址的路徑,且該位址符合別名 IP 範圍,但 Google Cloud 不會為該路徑編程,Google Cloud 會將下一個躍點視為無法使用。系統可能會捨棄傳送至路徑目的地的封包,具體取決於是否存在其他相同目的地的路徑,以及這些路徑是否有正在執行的後續躍點。

如需詳細資訊,請參閱:

虛擬私有雲網路對等互連

VPC 網路對等互連可讓您將兩個 VPC 網路建立對等互連,讓兩個網路中的 VM 可以透過內部的私人 IP 位址進行通訊。

對等網路中的 VM 執行個體能連上子網路的主要與次要 IP 範圍。

跨對等網路的子網路重疊檢查能夠確保主要和次要範圍不會與任何對等範圍重疊。

IP 別名與網路對等互連。
IP 別名與網路對等互連 (按一下可放大)。

後續步驟