別名 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 範圍時,系統會針對主要網路介面的子網路,自動安裝主要和別名 IP 範圍的虛擬私有雲 (VPC) 網路路徑。 Google Cloud 容器自動化調度管理服務並不需要為這些路徑指定 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 連線的內部部署位置,以及從這些位置轉送流量。不過,您不希望透過 VPN 連上主要 VM IP 位址。如要建立這項設定,容器 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. 容器 IP 位址在 Google Cloud 中會設定為別名 IP 位址。在這項設定中,主要與別名 IP 都可透過 VPN 通道連上。如果您設定了 Cloud Router,則會自動通告次要子網路範圍 172.16.0.0/20。

如要進一步瞭解建立這個設定所使用的指令,請參閱「設定別名 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 範圍的流量),都會由虛擬私有雲防火牆規則評估,找出相符的目標標記或目標服務帳戶。 如要瞭解目標和別名 IP 的詳細資訊,請參閱「目標與 IP 位址」。

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

靜態路徑

建立使用內部 IPv4 位址指定的下一個躍點執行個體時, Google Cloud 會驗證下一個躍點 VM IP 位址是否符合路由虛擬私有雲網路中子網路的子網路 IPv4 範圍。不過,只有在下一個躍點位址是指派給路徑虛擬私有雲網路中 VM 網路介面 (NIC) 的主要內部 IPv4 位址 (而非對等互連的虛擬私有雲網路) 時, Google Cloud 才會設定路徑。

雖然您可以建立下一個躍點位址為別名 IP 範圍內的內部 IPv4 位址的路徑,但 Google Cloud 不會設定該路徑,Google Cloud 而是會將下一個躍點視為停機。視是否有完全相同目的地的其他路徑,以及這些路徑的後續躍點是否正在運作而定,傳送至路徑目的地的封包可能會遭到捨棄。

如需詳細資訊,請參閱:

虛擬私有雲網路對等互連

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

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

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

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

後續步驟