内部 IPv6 専用バックエンドを使用して内部パススルー ネットワーク ロードバランサを設定する

このドキュメントでは、内部 IPv6 のみのトラフィックをサポートする内部パススルー ネットワーク ロードバランサを構成してテストする方法について説明します。この構成例では、内部 IPv6 専用バックエンド仮想マシン(VM)インスタンスに Apache ウェブサーバーをインストールして、ロードバランサの仮想 IP(VIP)を介して受信したトラフィックに応答してコンテンツを配信します。

次のアーキテクチャ図に示すように、ロードバランサのバックエンド VM は内部 IPv6 専用アドレスで構成されています。この構成例では、これらのバックエンド VM はウェブサーバーをインストールするために Apache をダウンロードする必要があります。これには、公共のインターネットへのアクセスが必要です。ただし、これらのバックエンド VM には外部 IP アドレスがないため、インターネットに直接アクセスできません。

インターネット アクセスを有効にするため、この例では、NAT ゲートウェイとして機能する外部 IPv6 アドレスを使用して構成された別の VM インスタンスを使用します。この VM は、Linux カーネルレベルでアドレス変換を実行します。具体的には、NAT テーブルの POSTROUTING チェーンを使用して、送信パケットの送信元アドレスをマスカレードします。つまり、各バックエンド VM の内部 IPv6 アドレスを、指定されたネットワーク インターフェース上の NAT ゲートウェイ VM の外部 IPv6 アドレスに置き換えます。

内部 IPv6 専用バックエンドを使用した内部パススルー ネットワーク ロードバランサの構成例。
内部 IPv6 専用バックエンドを使用した内部パススルー ネットワーク ロードバランサの構成例(クリックして拡大)

以降では、内部 IPv6 専用バックエンドを使用して内部パススルー ネットワーク ロードバランサを設定するために使用されるさまざまなコンポーネントの構成について説明します。

権限

このガイドを使用する前に、インスタンスを作成し、プロジェクト内のネットワークを変更しておく必要があります。そのため、プロジェクトのオーナーまたは編集者であるか、次の Compute Engine IAM ロールがすべて割り当てられている必要があります。

タスク 必要なロール
ネットワーク、サブネット、ロードバランサ コンポーネントの作成 Compute ネットワーク管理者
roles/compute.networkAdmin
ファイアウォール ルールの追加と削除 Compute セキュリティ管理者
roles/compute.securityAdmin
インスタンスを作成する Compute インスタンス管理者
roles/compute.instanceAdmin

詳細については、次のガイドをご覧ください。

内部 IPv6 アドレスを使用してネットワークと IPv6 のみのサブネットを構成する

このページで説明されているサンプルの内部パススルー ネットワーク ロードバランサは、lb-network-ipv6-only という名前のカスタムモード VPC ネットワークで作成されています。

内部 IPv6 範囲を持つサブネットを構成するには、VPC ネットワーク ULA の内部 IPv6 範囲を有効にします。内部 IPv6 サブネット範囲は、この範囲から割り振られます。

コンソール

  1. Trusted Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. [名前] に「lb-network-ipv6-only」と入力します。

  4. このネットワークのサブネットで内部 IPv6 アドレス範囲を構成する場合は、次の手順を行います。

    1. [プライベート IPv6 アドレスを設定] で、[Configure a ULA internal IPv6 range for this VPC Network] を選択します。
    2. [内部 IPv6 範囲の割り当て] で、[自動] または [手動] を選択します。 [手動] を選択した場合は、fd20::/20 の範囲内の /48 の範囲を入力します。範囲が使用されている場合は、別の範囲を指定するように求めるプロンプトが表示されます。
  5. [サブネット作成モード] で [カスタム] を選択します。

  6. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

    • 名前: lb-subnet-ipv6-only
    • リージョン: us-west1
    • IP スタックタイプ: IPv6(シングルスタック)
    • IPv6 アクセスタイプ: 内部
  7. [完了] をクリックします。

  8. [作成] をクリックします。

gcloud

  1. 新しいカスタムモードの VPC ネットワークを作成するには、gcloud compute networks create コマンドを実行します。

    このネットワークのサブネットで内部 IPv6 範囲を構成するには、--enable-ula-internal-ipv6 フラグを使用します。

    gcloud compute networks create lb-network-ipv6-only \
        --subnet-mode=custom \
        --enable-ula-internal-ipv6 \
        --bgp-routing-mode=regional
    
  2. ipv6-access-typeINTERNAL に設定してサブネットを構成します。これは、このサブネット内の VM に内部 IPv6 アドレスのみを設定できることを示します。この例では、サブネットの名前は lb-subnet-ipv6-only-internal です。

    サブネットを作成するには、gcloud compute networks subnets create コマンドを実行します。

    gcloud compute networks subnets create lb-subnet-ipv6-only-internal \
        --network=lb-network-ipv6-only \
        --region=us-west1 \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=INTERNAL
    

外部 IPv6 アドレスを使用して IPv6 のみのサブネットを構成する

外部 IPv6 アドレスを持つ IPv6 のみのサブネットは、NAT ゲートウェイとして機能する VM インスタンスの作成に使用されます。

コンソール

  1. Trusted Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークの詳細] ページを表示するには、作成した VPC ネットワークの名前をクリックします。

  3. [サブネット] タブで [サブネットを追加] をクリックします。表示されたパネルで、サブネットに次の構成パラメータを指定します。

    • 名前: lb-subnet-ipv6-only-external
    • リージョン: us-west1
    • IP スタックタイプ: IPv6(シングルスタック)
    • IPv6 アクセスタイプ: 外部
  4. [追加] をクリックします。

gcloud

ipv6-access-typeEXTERNAL に設定してサブネットを構成します。これは、このサブネット内の VM に外部 IPv6 アドレスを設定できることを示します。この例では、サブネットの名前は lb-subnet-ipv6-only-external です。

サブネットを作成するには、gcloud compute networks subnets create コマンドを実行します。

gcloud compute networks subnets create  lb-subnet-ipv6-only-external \
    --network=lb-network-ipv6-only \
    --region=us-west1 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=EXTERNAL

VPC ネットワークにファイアウォール ルールを構成する

この例では、次のファイアウォール ルールを使用します。

  • fw-allow-lb-access-ipv6-only: VPC ネットワーク内のすべてのターゲットに適用される上り(内向き)ルールで、すべての IPv6 ソースからのトラフィックを許可します。

  • fw-allow-ssh: 任意のアドレスから TCP ポート 22 への SSH 受信接続を許可する上り(内向き)ルール。このルールには、送信元の IP 範囲をより限定的に指定できます。たとえば、SSH セッションを開始するシステムの IP 範囲を指定できます。この例では、ターゲットタグ allow-ssh を使用して、適用する VM を識別させています。

  • fw-allow-health-check-ipv6-only: ロードバランスされているインスタンスに適用される上り(内向き)ルール。 Trusted Cloud ヘルスチェック システム(2600:2d00:1:b029::/64)からのトラフィックを許可します。この例では、ターゲットタグ allow-health-check-ipv6 を使用して、適用するインスタンスが識別されます。

これらのファイアウォール ルールがない場合は、デフォルトの上り(内向き)拒否ルールによってバックエンド インスタンスへの受信トラフィックがブロックされます。

コンソール

  1. Trusted Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. IPv6 サブネット トラフィックを許可するには、もう一度 [ファイアウォール ルールを作成] をクリックして、次の情報を入力します。

    • 名前: fw-allow-lb-access-ipv6-only
    • ネットワーク: lb-network-ipv6-only
    • 優先度: 1000
    • トラフィックの方向: 上り(内向き)
    • 一致したときのアクション: 許可
    • [ターゲット]: ネットワーク上のすべてのインスタンス
    • ソースフィルタ: IPv6 範囲
    • 送信元 IPv6 範囲: ::/0
    • プロトコルとポート: すべて許可
  3. [作成] をクリックします。

  4. 受信 SSH 接続を許可するには、[ファイアウォール ルールを作成] をもう一度クリックして、次の情報を入力します。

    • 名前: fw-allow-ssh
    • ネットワーク: lb-network-ipv6-only
    • 優先度: 1000
    • トラフィックの方向: 上り(内向き)
    • 一致したときのアクション: 許可
    • ターゲット: 指定されたターゲットタグ
    • ターゲットタグ: allow-ssh
    • ソースフィルタ: IPv6 範囲
    • 送信元 IPv6 範囲: ::/0
    • プロトコルとポート: [指定したプロトコルとポート] を選択して、[TCP] チェックボックスをオンにし、[ポート] に「22」と入力します。
  5. [作成] をクリックします。

  6. Trusted Cloud IPv6 ヘルスチェックを許可するには、[ファイアウォール ルールを作成] をもう一度クリックして、次の情報を入力します。

    • 名前: fw-allow-health-check-ipv6-only
    • ネットワーク: lb-network-ipv6-only
    • 優先度: 1000
    • トラフィックの方向: 上り(内向き)
    • 一致したときのアクション: 許可
    • ターゲット: 指定されたターゲットタグ
    • ターゲットタグ: allow-health-check-ipv6
    • ソースフィルタ: IPv6 範囲
    • 送信元 IPv6 範囲: 2600:2d00:1:b029::/64
    • プロトコルとポート: すべて許可
  7. [作成] をクリックします。

gcloud

  1. VPC ネットワーク内のすべての VM インスタンスへのすべての上り(内向き)IPv6 トラフィックを許可する fw-allow-lb-access-ipv6-only ファイアウォール ルールを作成します。

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6-only \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --source-ranges=::/0 \
        --rules=all
    
  2. ネットワーク タグ allow-ssh を使用して、VM との SSH 接続を許可する fw-allow-ssh ファイアウォール ルールを作成します。source-ranges を省略すると、Trusted Cloud は任意の送信元としてルールを解釈します。

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --source-ranges=::/0 \
        --rules=tcp:22
    
  3. Trusted Cloud IPv6 ヘルスチェックを許可する fw-allow-health-check-ipv6 ルールを作成します。

    gcloud compute firewall-rules create fw-allow-health-check-ipv6-only \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64 \
        --rules=tcp,udp
    

NAT ゲートウェイとして機能する VM インスタンスを作成する

この例では、Bash スクリプトを使用して、Linux カーネルレベルで IPv6 パケットの変更に使用される NAT ゲートウェイを作成します。

この Bash スクリプトは、POSTROUTING チェーン内のすべての送信 IPv6 パケットの送信元アドレスを変更し、VM インターフェースの外部 IPv6 アドレスに置き換えます。

この Bash スクリプトは、iptablesPOSTROUTING チェーンを変更して、すべての送信パケットの送信元 IPv6 アドレスをマスカレードし、VM のネットワーク インターフェースの外部 IPv6 アドレスに置き換えます。

また、このインスタンスの IP 転送を有効にする必要もあります。

NAT ゲートウェイとして機能する VM インスタンスを作成する手順は次のとおりです。

コンソール

  1. Trusted Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [インスタンスを作成] をクリックします。

  3. [名前] に「nat-gateway-instance」と入力します。

  4. [リージョン] で us-west1 を選択し、[ゾーン] で us-west1-a を選択します。

  5. [ブートディスク] セクションで、ブートディスク オプションとして Debian GNU/Linux 12 (bookworm) が選択されていることを確認します。必要に応じて、[変更] をクリックしてイメージを変更します。

  6. [ネットワーキング] をクリックして次のフィールドを構成します。

    1. [ネットワーク タグ] に「allow-ssh」と入力します。
    2. [IP 転送] で、[有効にする] チェックボックスをオンにします。
    3. [ネットワーク インターフェース] で、次のように選択します。
      • ネットワーク: lb-network-ipv6-only
      • サブネット: lb-subnet-ipv6-only-external
      • IP スタックタイプ: IPv6(シングルスタック)
      • 外部 IPv6 アドレス: 自動割り振り
  7. [詳細設定] をクリックし、[起動スクリプト] フィールドに次のスクリプトを入力します。

    #!/bin/bash
    
    set -e
    
    echo "Starting GCE startup script..."
    
    # --- IPv6 NAT table configuration ---
    echo "Modifying the source IPv6 address using the NAT table"
    
    # Enable IPv6 forwarding
    sysctl -w net.ipv6.conf.all.forwarding=1
    
    # Determine the primary network interface (assuming it's the last one listed)
    IFACE=$(ip -brief link | tail -1 | awk '{print $1}')
    
    echo "Using interface: $IFACE for IPv6 NAT"
    
    # Flush existing IPv6 NAT rules
    ip6tables -F -t nat
    ip6tables -X -t nat
    
    # Masquerade all outgoing IPv6 traffic on the determined interface
    ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE
    
    echo "IPv6 masquerading configured successfully."
    
    echo "GCE startup script finished."
    

  8. [作成] をクリックします。

gcloud

  1. 起動スクリプトを作成します。

    nano startup.sh
    
  2. 次のスクリプトを追加してファイルを保存します。

    #!/bin/bash
    
    set -e
    
    echo "Starting GCE startup script..."
    
    # --- IPv6 NAT table configuration ---
    echo "Modifying the source IPv6 address using the NAT table"
    
    # Enable IPv6 forwarding
    sysctl -w net.ipv6.conf.all.forwarding=1
    
    # Determine the primary network interface (assuming it's the last one listed)
    IFACE=$(ip -brief link | tail -1 | awk '{print $1}')
    
    echo "Using interface: $IFACE for IPv6 NAT"
    
    # Flush existing IPv6 NAT rules
    ip6tables -F -t nat
    ip6tables -X -t nat
    
    # Masquerade all outgoing IPv6 traffic on the determined interface
    ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE
    
    echo "IPv6 masquerading configured successfully."
    
    echo "GCE startup script finished."
    
  3. VM インスタンスを作成し、メタデータ ファイルを VM インスタンスに追加します。この VM をルートのネクストホップとして使用するには、--can-ip-forward フラグを使用してこのインスタンスの IP 転送を有効にします

    gcloud compute instances create nat-gateway-instance \
        --zone=us-west1-a \
        --tags=allow-ssh \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --subnet=lb-subnet-ipv6-only-external \
        --stack-type=IPV6_ONLY \
        --can-ip-forward \
        --metadata-from-file=startup-script=startup.sh
    

VPC ネットワークに新しい静的ルートを作成する

この例では、nat-gw-tag タグが付けられた VM からのすべての IPv6 インターネット宛てトラフィック(::/0)を NAT ゲートウェイとして機能する nat-gateway-instance VM インスタンスに転送するカスタムルートが作成されます。

ルートを作成する手順は次のとおりです。

コンソール

  1. Trusted Cloud コンソールで、[ルートページ] に移動します。

    [ルート] に移動

  2. [ルート管理] タブをクリックします。

  3. [ルートを作成] をクリックします。

  4. ルートの名前と説明を指定します。

  5. [ネットワーク] リストで、VPC ネットワーク lb-network-ipv6-only を選択します。

  6. [IP バージョン] リストで、[IPv6] を選択します。

  7. 宛先 IPv6 範囲を指定します。IPv6 の場合、想定される最も広範囲な宛先は ::/0 です。

  8. 一致するネットワーク タグを持つ、一部のインスタンスにのみルートが適用されるようにするには、[インスタンス タグ] フィールドでそれらを指定します。ネットワーク上のすべてのインスタンスにルートが適用されるようにするには、このフィールドを空白のままにします。この例では、「nat-gw-tag」と入力します。

  9. [ネクストホップ] で、[インスタンスを指定する] を選択します。

  10. NAT ゲートウェイとして機能するように作成したインスタンスの名前を選択します。この例では、nat-gateway-instance を選択します。

  11. [作成] をクリックします。

gcloud

gcloud compute routes create コマンドを使用して、新しいルートを作成します。パケットは、ルートの --next-hop-instance で指定された nat-gateway-instance VM インスタンスに転送されます。

gcloud compute routes create route-1 \
    --network=lb-network-ipv6-only \
    --priority=1000 \
    --tags=nat-gw-tag \
    --destination-range=::/0 \
    --next-hop-instance=nat-gateway-instance \
    --next-hop-instance-zone=us-west1-a

バックエンド VM とインスタンス グループを作成する

この例では、2 つのバックエンド VM を持つ 2 つの非マネージド インスタンスを使用しています。内部パススルー ネットワーク ロードバランサのリージョン特性を示すために、2 つのインスタンス グループが別々のゾーン(us-west1-aus-west1-c)に配置されています。

  • インスタンス グループ ig-a には、次の 2 つの VM が含まれています。
    • vm-a1
    • vm-a2
  • インスタンス グループ ig-c には、次の 2 つの VM が含まれています。
    • vm-c1
    • vm-c2

4 つのバックエンド VM へのトラフィックがすべてロードバランスされます。

この例では、前の手順で作成した静的ルートは、ネットワーク タグ nat-gw-tag を使用して特定の VM インスタンスにスコープ設定されています。

コンソール

バックエンド VM を作成する

  1. Trusted Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 次の名前とゾーンの組み合わせを使用して、VM ごとにこれらの手順を繰り返します。

    • 名前: vm-a1、ゾーン: us-west1-a
    • 名前: vm-a2、ゾーン: us-west1-a
    • 名前: vm-c1、ゾーン: us-west1-c
    • 名前: vm-c2、ゾーン: us-west1-c
  3. [インスタンスを作成] をクリックします。

  4. ステップ 2 に示したように [名前] を設定します。

  5. [リージョン] に us-west1 を選択して、ステップ 2 に示したゾーンを選択します。

  6. [ブートディスク] セクションで、ブートディスク オプションとして Debian GNU/Linux 12 (bookworm) が選択されていることを確認します。必要に応じて、[変更] をクリックしてイメージを変更します。

  7. [詳細オプション] をクリックします。

  8. [ネットワーキング] をクリックして次のフィールドを構成します。

    1. [ネットワーク タグ] に「allow-ssh」、「allow-health-check-ipv6、「nat-gw-tag」を入力します。
    2. [ネットワーク インターフェース] で、次のように選択します。
      • ネットワーク: lb-network-ipv6-only
      • サブネット: lb-subnet-ipv6-only-internal
      • IP スタックタイプ: IPv6(シングルスタック)
      • プライマリ内部 IPv6 アドレス: エフェメラル(自動)
  9. [詳細設定] をクリックし、[起動スクリプト] フィールドに次のスクリプトを入力します。スクリプトの内容は 4 つの VM ですべて同じです。

    #! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://metadata.google.internal/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2
    
  10. [作成] をクリックします。

インスタンス·グループを作成する

  1. Trusted Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. 次の手順を繰り返し、それぞれ 2 つの VM を持つ 2 つの非マネージド インスタンス グループを作成します。以下の組み合わせを使用します。

    • インスタンス グループ名: ig-a、ゾーン: us-west1-a、VM: vm-a1vm-a2
    • インスタンス グループ名: ig-c、ゾーン: us-west1-c、VM: vm-c1vm-c2
  3. [インスタンス グループの作成] をクリックします。

  4. [新しい非マネージド インスタンス グループ] をクリックします。

  5. ステップ 2 に示したように [名前] を設定します。

  6. [ロケーション] セクションで、[リージョン] に us-west1 を選択し、ステップ 2 で示したように [ゾーン] を選択します。

  7. [ネットワーク] で lb-network-ipv6-only を選択します。

  8. [サブネットワーク] で、[lb-subnet-ipv6-only-internal] を選択します。

  9. [VM インスタンス] セクションに、ステップ 2 で示した VM を追加します。

  10. [作成] をクリックします。

gcloud

  1. 4 つの VM を作成するには、[VM-NAME][ZONE] に次の 4 つの組み合わせを使用して、gcloud compute instances create コマンドを 4 回実行します。

    • VM-NAME: vm-a1ZONE: us-west1-a
    • VM-NAME: vm-a2ZONE: us-west1-a
    • VM-NAME: vm-c1ZONE: us-west1-c
    • VM-NAME: vm-c2ZONE: us-west1-c
    gcloud compute instances create VM-NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check-ipv6,nat-gw-tag \
        --subnet=lb-subnet-ipv6-only-internal \
        --stack-type=IPV6_ONLY \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          vm_hostname="$(curl -H "Metadata-Flavor:Google" \
          http://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    
  2. 各ゾーンに次の 2 つの非マネージド インスタンス グループを作成します。

    gcloud compute instance-groups unmanaged create ig-a \
        --zone=us-west1-a
    gcloud compute instance-groups unmanaged create ig-c \
        --zone=us-west1-c
    
  3. 適切なインスタンス グループに VM を追加します。

    gcloud compute instance-groups unmanaged add-instances ig-a \
        --zone=us-west1-a \
        --instances=vm-a1,vm-a2
    gcloud compute instance-groups unmanaged add-instances ig-c \
        --zone=us-west1-c \
        --instances=vm-c1,vm-c2
    

ロードバランサ コンポーネントを構成する

次の手順では、ヘルスチェックとバックエンド サービスから開始して、内部パススルー ネットワーク ロードバランサのさまざまなコンポーネントを構成し、次にフロントエンドを構成します。

コンソール

構成を開始する

  1. Trusted Cloud コンソールで、[ロード バランシング] ページに移動します。

    [ロード バランシング] に移動

  2. [ロードバランサを作成] をクリックします。
  3. [ロードバランサの種類] で [ネットワーク ロードバランサ(TCP / UDP / SSL)] を選択し、[次へ] をクリックします。
  4. [プロキシまたはパススルー] で [パススルー ロードバランサ] を選択し、[次へ] をクリックします。
  5. [構成] をクリックします。

基本構成

[Create internal passthrough Network Load Balancer] ページで、次の情報を入力します。

  • ロードバランサの名前: ilb-ipv6-only
  • リージョン: us-west1
  • ネットワーク: lb-network-ipv6-only

バックエンドの構成

  1. [バックエンドの構成] をクリックします。
  2. [バックエンド] の [新しいバックエンド] セクションで、[IP スタックタイプ] に [IPv6(シングルスタック)] を選択します。
  3. [インスタンス グループ] で、ig-a インスタンス グループを選択し、[完了] をクリックします。
  4. [バックエンドを追加] をクリックし、この手順を繰り返して ig-c を追加します。
  5. [ヘルスチェック] リストから [ヘルスチェックを作成] を選択し、次の情報を入力して [保存] をクリックします。
    • 名前: hc-http-80
    • 範囲: リージョン
    • プロトコル: HTTP
    • ポート: 80.
    • プロキシのプロトコル: NONE
    • リクエストパス: /
  6. [バックエンドの構成] の横に青いチェックマークが表示されていることを確認します。

フロントエンドの構成

  1. [フロントエンドの構成] をクリックします。[新しいフロントエンドの IP とポート] セクションで、次の操作を行います。
    1. [名前] に「fr-ilb-ipv6-only」と入力します。
    2. IPv6 トラフィックを処理する手順は次のとおりです。
      1. [IP バージョン] で [IPv6] を選択します。次のセクションで作成する IPv6 TCP サーバーは、転送ルールの VIP にバインドされます。
      2. [サブネットワーク] で、[lb-subnet-ipv6-only-internal] を選択します。転送ルールの IPv6 アドレス範囲は常にエフェメラルです。
      3. [ポート] で [複数] を選択し、[ポート番号] フィールドに 80 を入力します。
      4. [完了] をクリックします。
    3. 続行する前に、[フロントエンドの構成] の隣に青いチェックマークがあることを確認します。

構成を確認する

  1. [確認と完了] をクリックします。すべての設定を確認します。
  2. 設定が正しい場合は、[作成] をクリックします。内部パススルー ネットワーク ロードバランサが作成されるまでに数分かかります。

gcloud

  1. 新しいリージョン HTTP ヘルスチェックを作成して、ポート 80 で VM との HTTP 接続をテストします。

    gcloud compute health-checks create http hc-http-80 \
        --region=us-west1 \
        --port=80
    
  2. バックエンド サービスを作成します。

    gcloud compute backend-services create ilb-ipv6-only \
        --load-balancing-scheme=INTERNAL \
        --protocol=tcp \
        --region=us-west1 \
        --health-checks=hc-http-80 \
        --health-checks-region=us-west1
    
  3. バックエンド サービスに、2 つのインスタンス グループを追加します。

    gcloud compute backend-services add-backend ilb-ipv6-only \
        --region=us-west1 \
        --instance-group=ig-a \
        --instance-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend ilb-ipv6-only \
        --region=us-west1 \
        --instance-group=ig-c \
        --instance-group-zone=us-west1-c
    
  4. エフェメラル IPv6 アドレスを使用して IPv6 転送ルールを作成します。

    gcloud compute forwarding-rules create fr-ilb-ipv6-only \
        --region=us-west1 \
        --load-balancing-scheme=INTERNAL \
        --subnet=lb-subnet-ipv6-only-internal \
        --ip-protocol=TCP \
        --ports=80 \
        --backend-service=ilb-ipv6-only \
        --backend-service-region=us-west1 \
        --ip-version=IPV6
    

ロードバランサをテストする

ロードバランサをテストするには、ロードバランサと同じリージョンにクライアント VM を作成し、クライアントからロードバランサにトラフィックを送信します。

クライアント VM を作成する

この例では、クライアント VM(vm-client)を、バックエンド(サーバー)VM と同じリージョンに作成します。

コンソール

  1. Trusted Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [インスタンスを作成] をクリックします。

  3. [名前] に「vm-client」と入力します。

  4. [リージョン] で us-west1 を選択します。

  5. [ゾーン] で us-west1-a を選択します。

  6. [詳細オプション] をクリックします。

  7. [ネットワーキング] をクリックして次のフィールドを構成します。

    1. [ネットワーク タグ] に「allow-ssh」と入力します。
    2. [ネットワーク インターフェース] で、次のように選択します。
      • ネットワーク: lb-network-ipv6-only
      • サブネット: lb-subnet-ipv6-only-internal
      • IP スタックタイプ: IPv6(シングルスタック)
    3. [完了] をクリックします。
  8. [作成] をクリックします。

gcloud

クライアント VM はロードバランサと同じリージョン内の任意のゾーンに配置できます。この例では、クライアントは us-west1-a ゾーンにあり、バックエンド VM と同じサブネットを使用しています。

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --stack-type=IPV6_ONLY \
    --tags=allow-ssh \
    --subnet=lb-subnet-ipv6-only-internal

接続をテストする

このテストでは、ロードバランサのバックエンド VM からではなく、個別のクライアント VM からロードバランサに接続します。想定される動作は、トラフィックは 4 つのバックエンド VM に分散されることです。

  1. SSH を使用してクライアント インスタンスに接続します。

    gcloud compute ssh vm-client --zone=us-west1-a
    
  2. IPv6 転送ルール fr-ilb-ipv6-only の説明を取得します。説明の IPV6_ADDRESS をメモします。

    gcloud compute forwarding-rules describe fr-ilb-ipv6-only \
        --region=us-west1
    
  3. IPv6 接続のクライアントから、次のコマンドを実行します。

    curl http://IPV6_ADDRESS:80
    

    たとえば、割り当てられた IPv6 アドレスが [fd20:307:120c:2000:0:1:0:0/96]:80 の場合、コマンドは次のようになります。

    curl http://[fd20:307:120c:2000:0:1:0:0]:80
    

    レスポンスは次のようになります。

    Page returned from: vm-a2
    

次のステップ