IPv6 サブプレフィックスを作成して使用する
このページでは、IPv6 パブリック委任プレフィックスを、特定のプロジェクトのリソースに割り当てることができるサブプレフィックスに分割する方法について説明します。IPv6 サブプレフィックスの IP アドレスを使用して、外部パススルー ネットワーク ロードバランサまたは仮想マシン(VM)インスタンスのみをホストできるサブネットの転送ルールを作成できます。
サブプレフィックスには 3 つのタイプ(モード)があります。サブプレフィックスのモードによって、その IP アドレス範囲の使用方法が決まります。
- 委任の拡張: さらに小さなサブプレフィックス( - --mode=DELEGATION)に分割できるサブプレフィックス。
- 転送ルールの場合: 転送ルール( - --mode=EXTERNAL_IPV6_FORWARDING_RULE_CREATION)のリージョン外部 IPv6 アドレスのソースとして使用できるサブプレフィックス。サブプレフィックスを作成するときに、IPv6 アドレスのプレフィックス長を選択します。転送ルールは、外部パススルー ネットワーク ロードバランサと外部プロトコル転送でのみ使用できます。
- サブネットの場合: サブネットのリージョン外部 IPv6 アドレス範囲のソースとして使用できるサブプレフィックス( - --mode=EXTERNAL_IPV6_SUBNETWORK_CREATION)。これらのサブプレフィックスを使用して作成したサブネット内の IP アドレスは、VM インスタンスでのみ使用できます。
IPv6 サブプレフィックスの仕様
サブプレフィックスは、パブリック委任プレフィックスを親に持つプレフィックスです。
サブプレフィックスのモードは変更できません。必要に応じて、削除してから再作成できます。サブプレフィックスを削除するには、対象のサブプレフィックスがリソースで使用されていないことが必要です。
パブリック委任プレフィックスは、パブリック アドバタイズド プレフィックスから最大 3 回まで委任できます。
サブプレフィックス内のすべての IP アドレスを使用できます。予約済みのネットワーク アドレスやブロードキャスト アドレスはありません。
サブプレフィックスを編集して名前を変更することはできません。変更する必要がない汎用名を選択することをおすすめします。たとえば、sub-2001-db8-0-0-0-0-0-0-40 のようにします。ここで、sub はリソースタイプ、2001-db8-0-0-0-0-0-0-40 は特定のプレフィックスとその長さを示します。
次の表に示すのは、IPv6 サブプレフィックスの作成に関する追加の仕様です。
| 構成 | リージョン(v2) | 
|---|---|
| パブリック アドバタイズド プレフィックス | 最小サイズ(最大プレフィックス長)は /48です。 | 
| パブリック デリゲート プレフィックス (サブプレフィックスではなくトップレベル) | 親パブリック アドバタイズド プレフィックスと同じサイズか、それよりも小さく(プレフィックス長を長く)することができます。 有効な長さ:  トップレベルのパブリック委任プレフィックスとその親パブリック アドバタイズド プレフィックスのプレフィックス長の差は 24 以下にする必要があります。 | 
| サブプレフィックス | 親のパブリック委任プレフィックスと同じサイズか、それよりも小さい(プレフィックス長を長く)することができます。 有効な長さ: 
 サブプレフィックスとその親パブリック委任プレフィックスのプレフィックス長の差は 24 以下にする必要があります。 | 
| 転送ルールに割り当て可能なプレフィックス長 | 転送ルールで使用される IPv6 アドレス範囲のプレフィックス長を決定します。 転送ルールの IPv6 サブプレフィックスを作成する際に、[割り当て可能なプレフィックス長] フィールドで指定します。 関連付けられたサブプレフィックスより小さい値にする必要があります。割り当て可能なプレフィックス長とサブプレフィックス長の差は 8~32 にする必要があります。 有効な長さ:  デフォルトの長さ: 
 | 
始める前に
- IPv6 のパブリック アドバタイズド プレフィックスを作成します。
- IPv6 のパブリック委任プレフィックスを作成します。
ロール
    
      このガイドのタスクを行うために必要な権限を取得するには、プロジェクトに対する Compute パブリック IP 管理者(roles/compute.publicIpAdmin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
委任の細分化のために IPv6 サブプレフィックスを作成する
委任モードの IPv6 サブプレフィックスは、より小さなサブプレフィックスに委任できます。他のモードの IPv6 サブプレフィックスをさらに分割することはできません。
パブリック委任プレフィックスは、パブリック アドバタイズド プレフィックスから最大 3 回まで委任できます。たとえば、IP アドレス範囲が 2001:db8::/32 のパブリック アドバタイズド プレフィックスがある場合は、次のようにします。
- パブリック アドバタイズド プレフィックスを親として、IP アドレス範囲 2001:db8::/40の委任モードでパブリック委任プレフィックスを作成します。
- 前のパブリック委任プレフィックスを親として持つ、IP アドレス範囲 2001:db8::/48の委任モードのサブプレフィックスを作成します。
- 前のサブプレフィックスを親として持つ、IP アドレス範囲 - 2001:db8::/56のサブプレフィックスを転送ルールまたはサブネット作成モードで作成します。- この時点では、 - 2001:db8::/56サブプレフィックスを親として持つサブプレフィックスは作成できません。
委任モードのサブプレフィックスのプレフィックス長によって、子サブプレフィックスの可能なモードが決まります。
コンソール
- Google Cloud コンソールで、[お客様所有 IP の使用] に移動します。 
- 分割するパブリック委任プレフィックスをクリックします。 
- [サブプレフィックスを作成] をクリックします。 
- サブプレフィックスの [名前] とオプションの [説明] を入力します。 
- [プレフィックス長] リストで、サブプレフィックスのプレフィックス長を選択します。 
- サブプレフィックスに割り当てる IPv6 アドレス範囲を入力します。 
- [この PDP の使用方法] セクションで、[さらに小さな PDP に分割する] を選択します。 
- [プロジェクト] メニューで、サブプレフィックスを使用するプロジェクトを選択します。 
- [作成] をクリックします。 
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 コンソールで、[お客様所有 IP の使用] に移動します。 
- 分割するパブリック委任プレフィックスをクリックします。 
- [サブプレフィックスを作成] をクリックします。 
- サブプレフィックスの [名前] とオプションの [説明] を入力します。 
- [プレフィックス長] リストで、サブプレフィックスのプレフィックス長を選択します。 
- サブプレフィックスに割り当てる IPv6 アドレス範囲を入力します。 
- [この PDP の使用方法] セクションで、[使用する IPv6 アドレス範囲を割り当てる] を選択します。 
- [割り当て先] リストで、[ネットワーク ロードバランサ転送ルール] を選択します。 
- [割り当て可能なプレフィックス長] リストで、このサブプレフィックスから作成される転送ルールの IPv6 アドレス範囲のプレフィックス長を選択します。 
- [プロジェクト] リストで、サブプレフィックスを使用するプロジェクトを選択します。 
- [作成] をクリックします。 
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 コンソールで、[お客様所有 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 サブプレフィックスの IP アドレス範囲を使用するデュアルスタックまたは IPv6 のみのサブネットを作成します。IPv6 サブプレフィックスから割り振られたサブネット外部アドレス範囲は、VM エンドポイント タイプで VM インスタンスをホストするか、静的リージョン外部 IPv6 アドレスを予約する場合にのみ使用できます。
コンソール
- Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。 
- [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: 新しいサブネットが追加される VPC ネットワークの名前
- STACK_TYPE: サブネットのスタックタイプ- スタックタイプは - IPV4_IPV6または- IPV6_ONLYにできます。- IPV4_IPV6を使用する場合は、- --rangeフラグを使用してプライマリ IPv4 範囲を指定する必要があります。
- REGION: 新しいサブネットが作成される Google Cloud リージョン。このサブネットのサブプレフィックスと同じリージョンである必要があります。
- PDP_NAME: このサブネットに IP アドレスを割り振るために使用する- EXTERNAL_IPV6_SUBNETWORK_CREATIONモードの IPv6 サブプレフィックスの名前
- IPV6_CIDR_RANGE: このサブネットに割り当てる /64 外部 IPv6 CIDR 範囲(省略可)- 範囲は、サブネットのサブプレフィックスに関連付けられている必要があります。空の場合、 Google Cloud は、関連付けられたサブプレフィックスの CIDR ブロックからランダムな /64 範囲をサブネットに割り当てます。 
- PRIMARY_IPv4_RANGE: デュアルスタック サブネットの場合、新しいサブネットのプライマリ IPv4 範囲(CIDR 表記)
VM インスタンスの IPv4 専用サブネットをデュアルスタック サブネットに変更する
IPv4 のみのサブネットは、サブプレフィックスの外部 IPv6 アドレス範囲を使用するデュアルスタック サブネットに変更できます。IPv6 サブプレフィックスから割り振られたサブネット外部アドレス範囲は、VM エンドポイント タイプで VM インスタンスをホストするか、静的リージョン外部 IPv6 アドレスを予約する場合にのみ使用できます。
コンソール
- Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。 
- 更新するサブネットを含む VPC ネットワークの名前をクリックします。 
- [サブネット] をクリックし、更新するサブネットの名前をクリックします。 
- [編集] をクリックします。 
- [IP スタックタイプ] セクションで、[IPv4 と IPv6(デュアル スタック)] を選択します。 
- [IPv6 アクセスタイプ] セクションで [外部] を選択します。 
- [From PDP] チェックボックスをオンにします。 
- [PDP] リストで、サブネットへの IP アドレスの割り当てに使用するサブプレフィックスを選択します。 
- [保存] をクリックします。 
gcloud
サブプレフィックスの外部 IPv6 アドレス範囲を使用するデュアルスタック サブネットに IPv4 のみのサブネットを変更するには、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: このサブネットに IP アドレスを割り振るために使用する- EXTERNAL_IPV6_SUBNETWORK_CREATIONモードの IPv6 サブプレフィックスの名前
- REGION: 新しいサブネットが作成される Google Cloud リージョン。このサブネットのサブプレフィックスと同じリージョンである必要があります。
- IPV6_CIDR_RANGE: このサブネットに割り当てる /64 外部 IPv6 CIDR 範囲(省略可)- 範囲は、サブネットのサブプレフィックスに関連付けられている必要があります。空の場合、 Google Cloud は、関連付けられたサブプレフィックスの CIDR ブロックからランダムな /64 範囲をサブネットに割り当てます。 
プレフィックスを一覧表示する
プロジェクト内のすべてのパブリック アドバタイズド プレフィックスとパブリック委任プレフィックス(サブプレフィックスを含む)を一覧表示できます。
コンソール
- Google Cloud コンソールで、[お客様所有 IP の使用] に移動します。 
- パブリック アドバタイズド プレフィックス、パブリック委任プレフィックス、およびサブプレフィックスがすべて表示されます。 
gcloud
パブリック委任プレフィックス(サブプレフィックスを含む)を一覧表示するには、public-delegated-prefixes list コマンドを使用します。
gcloud compute public-delegated-prefixes list
BYOIP の外部 IPv6 アドレス範囲を使用して VM を作成する
BYOIP で提供された IPv6 範囲を使用するサブネットを作成すると、次のことができます。
- エンドポイント タイプに VMを指定して、静的外部 IPv6 アドレスを予約する
- スタックタイプに EXTERNALを指定して、IPv6 アドレスを使用するインスタンスを作成する
- 静的外部 IPv6 アドレスを VM に割り当てる