建立及使用 IPv6 子前置碼

本頁面說明如何將 IPv6 公用委派前置字分割為可指派至特定專案資源的子前置字。您可以使用 IPv6 子前置字節的 IP 位址,為外部轉送網路負載平衡器或只能代管虛擬機器 (VM) 執行個體的子網路建立轉送規則。

子前置字串有三種類型或模式。子前置字串的模式會決定您如何使用其 IP 位址範圍:

  • 進一步委派:可進一步細分的子前置碼 (--mode=DELEGATION)。

  • 轉送規則:可用於轉送規則 (--mode=EXTERNAL_IPV6_FORWARDING_RULE_CREATION) 的區域性外部 IPv6 位址來源的子前置字。您可以在建立子前置字時,選擇 IPv6 位址的前置字長度。轉送規則只能用於外部直通式網路負載平衡器和外部通訊協定轉送。

  • 子網路:可用來為子網路提供區域外部 IPv6 位址範圍的子前置字串 (--mode=EXTERNAL_IPV6_SUBNETWORK_CREATION)。使用這些子前置字串建立的子網路中的 IP 位址,只能由 VM 執行個體使用。

IPv6 子前置碼規格

子前置字串是具有公開委派前置字串父項的公開委派前置字串。

您無法變更子前置字元的模式。如有需要,您可以刪除再重新建立。刪除子前置字之前,該子前置字不得由任何資源使用。

公開委派前置字串最多可從公開廣告前置字串再委派三次。

子前置碼中的所有 IP 位址都會開放使用,沒有保留的網路位址或廣播位址。

您無法編輯子前置字串來變更名稱。建議您選擇不會變更的通用名稱,例如 sub-2001-db8-0-0-0-0-0-0-40,其中 sub 代表資源類型,而 2001-db8-0-0-0-0-0-0-40 則代表特定前置字串和前置字串長度。

下表說明建立 IPv6 子前置字的其他規格。

設定 區域 (v2)
公開 advertise 的前置碼 大小下限 (前置字串長度上限) 為 /48
公開委派前置字串

(頂層,而非子前置碼)

可與父項公開廣告前置碼相同或較小 (前置碼長度較長)

有效長度:/32/40/48/56

頂層公開委派前置碼與其上層公開廣告前置碼的前置碼長度差距不得超過 24

子前置碼

可以與父項公開委派前置字串相同或較短 (前置字串長度較長)

有效長度:

  • 委派或轉送規則建立模式:/32/40/48/56/64/72
  • 子網路建立模式:/32/40/48/56
  • 子網路建立模式子前置字元 (/32/40/48/56) 的父項

子前置字串與其父項公開委派前置字串之間的前置字串長度差異不得超過 24

轉送規則的可分配前置字串長度

決定轉送規則使用的 IPv6 位址範圍的前置字串長度

建立轉送規則的 IPv6 子前置字串時,由「可分配的前置字串長度」欄位指定

必須小於相關聯的子前置字串,可分配的前置字串長度和子前置字串長度的差距必須至少為 8,且不得超過 32

有效長度:/48/56/64/72/80/88/96

預設長度:

  • 如果父項子前置字串的長度為 /64/72,則預設可分配的前置字串長度為 /96
  • 否則,預設可分配的前置字串長度為 /64

事前準備

  1. 建立 IPv6 公開通告前置碼
  2. 建立 IPv6 公開委派的前置碼

角色

如要取得完成本指南中任務所需的權限,請要求管理員為您授予專案的 Compute 公用 IP 管理員 (roles/compute.publicIpAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

建立 IPv6 子前置碼以便進一步委派

處於委派模式的 IPv6 子前置字串可再委派為較小的子前置字串。其他模式中的 IPv6 子前置字串無法再細分。

公開委派前置字串最多可從公開通告前置字串委派三次。舉例來說,如果您有 IP 位址範圍為 2001:db8::/32 的公開通告前置字串,可以執行以下操作:

  • 在委派模式中使用 IP 位址範圍 2001:db8::/40 建立公開委派前置字串,並將公開宣傳的前置字串設為父項。
  • 在委派模式中使用 IP 位址範圍 2001:db8::/48 建立子前置字串,該範圍的父項為先前的公開委派前置字串。
  • 在轉送規則或子網路建立模式中,使用 IP 位址範圍 2001:db8::/56 建立子前置字串,該範圍的父項為先前的子前置字串。

    目前您無法再建立其他子前置字串,讓 2001:db8::/56 子前置字串做為父項。

委派模式子前置字串的前置字串長度決定子項子前置字串的可能模式

主控台

  1. 在 Google Cloud 控制台中,前往「Bring your own IP」

    前往「使用自己的 IP」

  2. 按一下要細分的公開委派前置字串。

  3. 按一下「建立子前置碼」

  4. 輸入子前置字串的名稱和說明 (選填)。

  5. 在「Prefix length」清單中,選取子前置字串的前置字串長度。

  6. 輸入要指派給子前置碼的 IPv6 位址範圍。

  7. 在「這個 PDP 的使用方式」部分,選取「細分為更小的 PDP」

  8. 在「Project」選單中,選取要使用子前置字的專案。

  9. 按一下 [建立]。

gcloud

如要建立子前置字,以便進一步委派,請使用 gcloud compute public-delegated-prefixes create 指令

gcloud compute public-delegated-prefixes create SUB_PREFIX_NAME \
    --range=SUB_PREFIX_RANGE \
    --mode=DELEGATION \
    --public-delegated-prefix=PDP_NAME \
    --region=PDP_REGION \
    --project=PROJECT_ID

更改下列內容:

  • SUB_PREFIX_NAME:此子前置字串的名稱

  • SUB_PREFIX_RANGE:此子前置字的 IP 位址範圍

  • PDP_NAME:此子前置字串的父項公開委派前置碼

  • PDP_REGION:此子前置字的區域

  • PROJECT_ID:要委派子前置字的專案

    如果省略 --delegatee-project 標記,子前置字串會在與父項公開委派前置字串相同的專案中建立。

使用 IPv6 子前置字建立轉送規則

如要建立轉送規則,並使用從 IPv6 子前置字節分配的地區性外部 IPv6 位址範圍,請按照下列步驟操作。轉送規則只能用於外部直通式網路負載平衡器和外部通訊協定轉送。

建立轉送規則的 IPv6 子前置碼

在轉送規則建立模式中建立子前置字串,使用您要用於轉送規則的 IP 位址範圍。建立轉送規則的 IPv6 子前置字元時,您無法進一步細分該前置字元。

主控台

  1. 在 Google Cloud 控制台中,前往「Bring your own IP」

    前往「使用自己的 IP」

  2. 按一下要細分的公開委派前置字串。

  3. 按一下「建立子前置碼」

  4. 輸入子前置字串的名稱和說明 (選填)。

  5. 在「Prefix length」清單中,選取子前置字串的「Prefix length」

  6. 輸入要指派給子前置碼的 IPv6 位址範圍。

  7. 在「這個 PDP 的使用方式」部分,選取「分配要使用的 IPv6 位址範圍」

  8. 在「Allocate to」(分配至) 清單中,選取「Network Load Balancer forwarding rule」(網路負載平衡器轉送規則)。

  9. 在「可分配的前置字串長度」清單中,選取這個子前置字串所建立的轉送規則 IPv6 位址範圍的前置字串長度。

  10. 在「Project」清單中,選取要使用子前置字元的專案。

  11. 按一下 [建立]。

gcloud

如要建立用於建立轉送規則的子前置字,請使用 gcloud compute public-delegated-prefixes create 指令

gcloud compute public-delegated-prefixes create SUB_PREFIX_NAME \
    --range=SUB_PREFIX_RANGE \
    --mode=EXTERNAL_IPV6_FORWARDING_RULE_CREATION \
    --allocatable-prefix-length=PREFIX_LENGTH \
    --public-delegated-prefix=PDP_NAME \
    --region=PDP_REGION \
    --project=PROJECT_ID

更改下列內容:

  • SUB_PREFIX_NAME:此子前置字串的名稱

  • SUB_PREFIX_RANGE:此子前置字的 IP 位址範圍

  • PREFIX_LENGTH:轉送規則使用的 IPv6 位址範圍的前置碼長度

    預設值和可能的值取決於 SUB_PREFIX_RANGE 的前置字串長度。詳情請參閱「可分配的轉送規則前置字元長度」。

  • PDP_NAME:此子前置碼的父項公開委派前置碼

  • PDP_REGION:此子前置字的區域

  • PROJECT_ID:要委派子前置字的專案

    如果省略 --delegatee-project 標記,子前置字串會在與父項公開委派前置字串相同的專案中建立。

為外部直通式網路負載平衡器建立轉送規則

如要建立使用子前置字 IPv6 位址範圍的轉送規則,請執行下列任一操作:

使用 IPv6 子前置字建立及更新子網路

如要使用從 IPv6 子前置字段分配的外部 IPv6 位址範圍建立或更新子網路,請按照下列步驟操作。從 IPv6 子前置字節分配的子網路外部位址範圍,只能用於代管 VM 執行個體,或使用 VM 端點類型預留靜態區域性外部 IPv6 位址

為子網路建立 IPv6 子前置字串

在子網路建立模式中建立子前置詞,使用您要用於子網路的 IP 位址範圍。為子網路建立 IPv6 子前置字元時,您無法進一步細分該前置字元。

主控台

  1. 在 Google Cloud 控制台中,前往「Bring your own IP」

    前往「使用自己的 IP」

  2. 按一下要細分的公開委派前置字串。

  3. 按一下「建立子前置碼」

  4. 輸入子前置字元的「名稱」和「說明」 (選填)。

  5. 選取子前置字串的前置字串長度

  6. 在「IPv6 範圍」中,輸入要指派給子前置碼的 IPv6 位址範圍。

  7. 在「這個 PDP 的使用方式」部分,選取「分配要使用的 IPv6 位址範圍」

  8. 在「分配給」清單中,選取「VM 的外部子網路範圍」

  9. 在「專案」中,選取要使用子前置字的專案。

  10. 按一下 [建立]。

gcloud

如要建立用於建立子網路的子前置字串,請使用 gcloud compute public-delegated-prefixes create 指令

gcloud compute public-delegated-prefixes create SUB_PREFIX_NAME \
    --range=SUB_PREFIX_RANGE \
    --mode=EXTERNAL_IPV6_SUBNETWORK_CREATION \
    --public-delegated-prefix=PDP_NAME \
    --region=PDP_REGION \
    --project=PROJECT_ID

更改下列內容:

  • SUB_PREFIX_NAME:此子前置字串的名稱

  • SUB_PREFIX_RANGE:此子前置字的 IP 位址範圍

  • PDP_NAME:此子前置碼的父項公開委派前置碼

  • PDP_REGION:此子前置字的區域

  • PROJECT_ID:要委派子前置字的專案

    如果省略 --delegatee-project 標記,子前置字串會在與父項公開委派前置字串相同的專案中建立。

為 VM 執行個體建立子網路

建立雙重堆疊或僅限 IPv6 的子網路,使用 IPv6 子前置字段的 IP 位址範圍。從 IPv6 子前置字段分配的子網路外部位址範圍,只能用於代管 VM 執行個體,或使用 VM 端點類型預留靜態區域性外部 IPv6 位址

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 如要查看「VPC 網路詳細資料」頁面,請按一下 VPC 網路的名稱。

  3. 在「子網路」分頁中,按一下 「新增子網路」。在顯示的面板中:

    1. 提供名稱。
    2. 請選取區域。
    3. 針對「IP 堆疊類型」,請選取「IPv4 和 IPv6 (雙重堆疊)」或「IPv6 (單一堆疊)」
    4. 如果您要建立雙重堆疊子網路,請輸入 IPv4 範圍。
    5. 在「IPv6 存取類型」選單中,選取「外部」
    6. 勾選「From PDP」核取方塊。
    7. PDP 清單中,選取要用於將 IP 位址分配給子網路的子前置字。
    8. 按一下「新增」。

gcloud

如要使用 IPv6 子前置字建立雙重堆疊或僅限 IPv6 的子網路,請使用 gcloud compute networks subnets create 指令

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=STACK_TYPE \
    --ipv6-access-type=EXTERNAL \
    --region=REGION \
    --ip-collection=PDP_NAME \
    [--external-ipv6-prefix=IPV6_CIDR_RANGE] \
    [--range=PRIMARY_IPv4_RANGE]

更改下列內容:

  • SUBNET:新子網路的名稱
  • NETWORK:包含新子網路的虛擬私有雲端網路名稱
  • STACK_TYPE:子網路的堆疊類型

    堆疊類型可以是 IPV4_IPV6IPV6_ONLY。如果您使用 IPV4_IPV6,則必須使用 --range 標記指定主要 IPv4 範圍。

  • REGION:要建立新子網路的 Google Cloud 區域,必須與這個子網路的子前置字相同

  • PDP_NAMEEXTERNAL_IPV6_SUBNETWORK_CREATION 模式中 IPv6 子前置字串的名稱,用於為此子網路分配 IP 位址

  • IPV6_CIDR_RANGE:要指派給此子網路的 /64 外部 IPv6 CIDR 範圍 (選用)

    範圍必須與子網路的子前置字串相關聯。如果為空白, Google Cloud 會從相關聯的子前置字串 CIDR 區塊中,為子網路指派隨機的 /64 範圍。

  • PRIMARY_IPv4_RANGE:如果是雙層子網路,則為新子網路的主要 IPv4 範圍,採用 CIDR 標記法

將僅支援 IPv4 的子網路變更為 VM 執行個體的雙重堆疊子網路

您可以將僅支援 IPv4 的子網路變更為雙重堆疊子網路,使用子前置字段中的外部 IPv6 位址範圍。從 IPv6 子前置字節分配的子網路外部位址範圍,只能用於代管 VM 執行個體,或使用 VM 端點類型預留靜態區域性外部 IPv6 位址

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下要更新的子網路所屬虛擬私有雲端網路名稱。

  3. 依序點選「子網路」和要更新的子網路名稱。

  4. 按一下 [編輯]

  5. 在「IP 堆疊類型」部分,選取「IPv4 和 IPv6 (雙重堆疊)」

  6. 在「IPv6 存取類型」部分,選取「外部」

  7. 勾選「From PDP」核取方塊。

  8. PDP 清單中,選取要用於將 IP 位址分配給子網路的子前置字。

  9. 按一下 [儲存]

gcloud

如要將僅支援 IPv4 的子網路變更為雙重堆疊子網路,並使用子前置字串中的外部 IPv6 位址範圍,請使用 gcloud compute networks subnets update 指令

gcloud compute networks subnets update SUBNET \
    --ipv6-access-type=EXTERNAL \
    --stack-type=IPV4_IPV6 \
    --ip-collection=PDP_NAME \
    --region=REGION \
    [--external-ipv6-prefix=IPV6_CIDR_RANGE]

更改下列內容:

  • SUBNET:新子網路的名稱
  • PDP_NAMEEXTERNAL_IPV6_SUBNETWORK_CREATION 模式中 IPv6 子前置字串的名稱,用於為此子網路分配 IP 位址
  • REGION:要建立新子網路的 Google Cloud 區域,必須與這個子網路的子前置字相同
  • IPV6_CIDR_RANGE:要指派給此子網路的 /64 外部 IPv6 CIDR 範圍 (選用)

    範圍必須與子網路的子前置字串相關聯。如果為空白, Google Cloud 會從相關聯的子前置字串 CIDR 區塊中,為子網路指派隨機的 /64 範圍。

清單前置字串

您可以在專案中列出所有公開通告的前置字串和公開委派的前置字串 (包括子前置字串)。

主控台

  1. 在 Google Cloud 控制台中,前往「Bring your own IP」

    前往「使用自己的 IP」

  2. 系統會顯示所有公開通告的前置字串、公開委派的前置字串和子前置字串。

gcloud

如要列出公開委派前置字串 (包括子前置字串),請使用 public-delegated-prefixes list 指令

gcloud compute public-delegated-prefixes list

使用 BYOIP 提供的外部 IPv6 位址範圍建立 VM

建立使用 BYOIP 提供的 IPv6 範圍的子網路後,您可以執行下列操作:

後續步驟