建立及使用 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 |
公開委派前置字串 (頂層,而非子前置碼) |
可與父項公開廣告前置碼相同或較小 (前置碼長度較長) 有效長度: 頂層公開委派前置碼與其上層公開廣告前置碼的前置碼長度差距不得超過 24 |
子前置碼 |
可以與父項公開委派前置字串相同或較短 (前置字串長度較長) 有效長度:
子前置字串與其父項公開委派前置字串之間的前置字串長度差異不得超過 24 |
轉送規則的可分配前置字串長度 |
決定轉送規則使用的 IPv6 位址範圍的前置字串長度 建立轉送規則的 IPv6 子前置字串時,由「可分配的前置字串長度」欄位指定 必須小於相關聯的子前置字串,可分配的前置字串長度和子前置字串長度的差距必須至少為 8,且不得超過 32 有效長度: 預設長度:
|
事前準備
角色
如要取得完成本指南中任務所需的權限,請要求管理員為您授予專案的 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
子前置字串做為父項。
委派模式子前置字串的前置字串長度決定子項子前置字串的可能模式。
主控台
在 Google Cloud 控制台中,前往「Bring your own IP」。
按一下要細分的公開委派前置字串。
按一下「建立子前置碼」。
輸入子前置字串的名稱和說明 (選填)。
在「Prefix length」清單中,選取子前置字串的前置字串長度。
輸入要指派給子前置碼的 IPv6 位址範圍。
在「這個 PDP 的使用方式」部分,選取「細分為更小的 PDP」。
在「Project」選單中,選取要使用子前置字的專案。
按一下 [建立]。
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 子前置字元時,您無法進一步細分該前置字元。
主控台
在 Google Cloud 控制台中,前往「Bring your own IP」。
按一下要細分的公開委派前置字串。
按一下「建立子前置碼」。
輸入子前置字串的名稱和說明 (選填)。
在「Prefix length」清單中,選取子前置字串的「Prefix length」。
輸入要指派給子前置碼的 IPv6 位址範圍。
在「這個 PDP 的使用方式」部分,選取「分配要使用的 IPv6 位址範圍」。
在「Allocate to」(分配至) 清單中,選取「Network Load Balancer forwarding rule」(網路負載平衡器轉送規則)。
在「可分配的前置字串長度」清單中,選取這個子前置字串所建立的轉送規則 IPv6 位址範圍的前置字串長度。
在「Project」清單中,選取要使用子前置字元的專案。
按一下 [建立]。
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 位址範圍的轉送規則,請執行下列任一操作:
- 為具有後端服務的外部直通式網路負載平衡器建立 BYOIP 轉送規則
- 針對多個 IP 通訊協定,為外部直通式網路負載平衡器建立 BYOIP 轉送規則
- 使用可用區 NEG 為外部直通式網路負載平衡器建立 BYOIP 轉送規則
使用 IPv6 子前置字建立及更新子網路
如要使用從 IPv6 子前置字段分配的外部 IPv6 位址範圍建立或更新子網路,請按照下列步驟操作。從 IPv6 子前置字節分配的子網路外部位址範圍,只能用於代管 VM 執行個體,或使用 VM 端點類型預留靜態區域性外部 IPv6 位址。
為子網路建立 IPv6 子前置字串
在子網路建立模式中建立子前置詞,使用您要用於子網路的 IP 位址範圍。為子網路建立 IPv6 子前置字元時,您無法進一步細分該前置字元。
主控台
在 Google Cloud 控制台中,前往「Bring your own IP」。
按一下要細分的公開委派前置字串。
按一下「建立子前置碼」。
輸入子前置字元的「名稱」和「說明」 (選填)。
選取子前置字串的前置字串長度。
在「IPv6 範圍」中,輸入要指派給子前置碼的 IPv6 位址範圍。
在「這個 PDP 的使用方式」部分,選取「分配要使用的 IPv6 位址範圍」。
在「分配給」清單中,選取「VM 的外部子網路範圍」。
在「專案」中,選取要使用子前置字的專案。
按一下 [建立]。
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 位址。
主控台
在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
如要查看「VPC 網路詳細資料」頁面,請按一下 VPC 網路的名稱。
在「子網路」分頁中,按一下
「新增子網路」。在顯示的面板中:- 提供名稱。
- 請選取區域。
- 針對「IP 堆疊類型」,請選取「IPv4 和 IPv6 (雙重堆疊)」或「IPv6 (單一堆疊)」。
- 如果您要建立雙重堆疊子網路,請輸入 IPv4 範圍。
- 在「IPv6 存取類型」選單中,選取「外部」。
- 勾選「From PDP」核取方塊。
- 在 PDP 清單中,選取要用於將 IP 位址分配給子網路的子前置字。
- 按一下「新增」。
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_IPV6
或IPV6_ONLY
。如果您使用IPV4_IPV6
,則必須使用--range
標記指定主要 IPv4 範圍。REGION
:要建立新子網路的 Google Cloud 區域,必須與這個子網路的子前置字相同PDP_NAME
:EXTERNAL_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 位址。
主控台
在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
按一下要更新的子網路所屬虛擬私有雲端網路名稱。
依序點選「子網路」和要更新的子網路名稱。
按一下 [編輯]。
在「IP 堆疊類型」部分,選取「IPv4 和 IPv6 (雙重堆疊)」。
在「IPv6 存取類型」部分,選取「外部」。
勾選「From PDP」核取方塊。
在 PDP 清單中,選取要用於將 IP 位址分配給子網路的子前置字。
按一下 [儲存]。
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_NAME
:EXTERNAL_IPV6_SUBNETWORK_CREATION
模式中 IPv6 子前置字串的名稱,用於為此子網路分配 IP 位址REGION
:要建立新子網路的 Google Cloud 區域,必須與這個子網路的子前置字相同IPV6_CIDR_RANGE
:要指派給此子網路的 /64 外部 IPv6 CIDR 範圍 (選用)範圍必須與子網路的子前置字串相關聯。如果為空白, Google Cloud 會從相關聯的子前置字串 CIDR 區塊中,為子網路指派隨機的 /64 範圍。
清單前置字串
您可以在專案中列出所有公開通告的前置字串和公開委派的前置字串 (包括子前置字串)。
主控台
在 Google Cloud 控制台中,前往「Bring your own IP」。
系統會顯示所有公開通告的前置字串、公開委派的前置字串和子前置字串。
gcloud
如要列出公開委派前置字串 (包括子前置字串),請使用 public-delegated-prefixes list
指令。
gcloud compute public-delegated-prefixes list
使用 BYOIP 提供的外部 IPv6 位址範圍建立 VM
建立使用 BYOIP 提供的 IPv6 範圍的子網路後,您可以執行下列操作:
- 預留靜態外部 IPv6 位址,並指定端點類型為
VM
- 建立使用 IPv6 位址的執行個體,並指定堆疊類型為
EXTERNAL
- 將靜態外部 IPv6 位址指派給 VM