共有ハウツー NetLB テスト モジュールをテストする

内部 TCP LB をテストする

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

この例では、クライアント VM をバックエンドと同じリージョンに作成します。次に、クライアントからロードバランサにトラフィックを送信します。

クライアント VM はロードバランサと同じリージョン内の任意のゾーンにあり、そのリージョン内の任意のサブネットを使用できます。

コンソール

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

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

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

  3. [名前] フィールドに名前を入力します。

  4. [リージョン] で、ロードバランサと同じリージョンを選択します。

  5. [ゾーン] でゾーンを選択します。

  6. [ネットワーキング] をクリックします。

  7. 次のフィールドを構成して、[完了] をクリックします。

    • [ネットワーク タグ] に「allow-ssh」と入力します。
    • [ネットワーク インターフェース] で、ネットワークとサブネットを選択します。バックエンドと同じネットワークとサブネットを使用できます。
    • [IP スタックタイプ] で [IPv6(シングルスタック)] を選択します。
  8. [作成] をクリックします。

gcloud

gcloud compute instances create CLIENT_VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --stack-type=IPV6_ONLY \
    --tags=allow-ssh \
    --subnet=SUBNET

次のように置き換えます。

  • CLIENT_VM_NAME: クライアント VM の名前。
  • ZONE: クライアント VM のゾーン。このゾーンは、ロードバランサと同じリージョンに存在する必要があります。
  • SUBNET: クライアント VM のサブネット。

ロードバランサに IPv6 トラフィックを送信する

ロードバランサを構成したので、ロードバランサの IP アドレスにトラフィックを送信してデプロイをテストできます。ロードバランサの構成が最初にデプロイされた後、構成が反映されるまでには数分かかることがあります。

  1. クライアント VM インスタンスに接続します。

    gcloud compute ssh CLIENT_VM_NAME \
        --zone=ZONE
    

    次のように置き換えます。

    • CLIENT_VM_NAME: クライアント VM の名前。
    • ZONE: クライアント VM のゾーン。
  2. ロードバランサの IP アドレスを取得します。

    IPv6 アドレスを取得するには、次のコマンドを取得します。

    gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV6_FORWARDING_RULE_NAME は、IPv6 転送ルールの名前に置き換えます。

  3. ロードバランサにトラフィックを送信します。

    IPv6 接続のクライアントから、次のコマンドを実行します。

    curl -m 10 -s http://LB_IPV6_ADDRESS:80
    

    LB_IPV6_ADDRESS は、ロードバランサの IPv6 アドレスに置き換えます。

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

    curl -m 10 -s http://[fd20:1db0:b882:802:0:46:0:0]:80
    

ロードバランサに IPv4 トラフィックを送信する

ロードバランサを構成したので、ロードバランサの IP アドレスにトラフィックを送信してデプロイをテストできます。ロードバランサの構成が最初にデプロイされた後、構成が反映されるまでには数分かかることがあります。

  1. クライアント VM インスタンスに接続します。

    gcloud compute ssh CLIENT_VM_NAME \
        --zone=ZONE
    

    次のように置き換えます。

    • CLIENT_VM_NAME: クライアント VM の名前。
    • ZONE: クライアント VM のゾーン。
  2. ロードバランサの IP アドレスを取得します。

    IPv4 アドレスを取得するには、次のコマンドを使用します。

    gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV4_FORWARDING_RULE_NAME は、IPv4 転送ルールの名前に置き換えます。

  3. ロードバランサにトラフィックを送信します。

    IPv4 接続のクライアントから、次のコマンドを実行します。

    curl -m 10 -s http://LB_IPV4_ADDRESS:80
    

    LB_IPV4_ADDRESS は、ロードバランサの IPv4 アドレスに置き換えます。

外部 TCP LB をテストする

ロードバランサに IPv6 トラフィックを送信する

ロードバランサを構成したので、ロードバランサの IP アドレスにトラフィックを送信してデプロイをテストできます。ロードバランサの構成が最初にデプロイされた後、構成が反映されるまでには数分かかることがあります。

  1. ロードバランサの IP アドレスを取得します。

    IPv6 アドレスを取得するには、次のコマンドを取得します。

    gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV6_FORWARDING_RULE_NAME は、IPv6 転送ルールの名前に置き換えます。

  2. curl を使用して IP アドレスに接続し、ロードバランサにトラフィックを送信します。

    IPv6 接続のクライアントから、次のコマンドを実行します。

    while true; do curl -m1 http://LB_IPV6_ADDRESS; done
    

    LB_IPV6_ADDRESS は、ロードバランサの IPv6 アドレスに置き換えます。

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

    while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

    curl コマンドによって返されたテキストを確認します。レスポンスを生成するバックエンド VM の名前が文字列内に表示されます(たとえば、Page served from: VM_NAME)。

    curl コマンドからのレスポンスは、バックエンド インスタンスの間でランダムに変わります。最初のレスポンスで失敗した場合は、構成が完全に読み込まれてインスタンスが正常であるとマークされるまで最大 30 秒待ってから、もう一度やり直してください。

ロードバランサに IPv4 トラフィックを送信する

ロードバランサを構成したので、ロードバランサの IP アドレスにトラフィックを送信してデプロイをテストできます。ロードバランサの構成が最初にデプロイされた後、構成が反映されるまでには数分かかることがあります。

  1. ロードバランサの IP アドレスを取得します。

    IPv4 アドレスを取得するには、次のコマンドを使用します。

    gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV4_FORWARDING_RULE_NAME は、IPv4 転送ルールの名前に置き換えます。

  2. curl を使用して IP アドレスに接続し、ロードバランサにトラフィックを送信します。

    IPv4 接続のクライアントから、次のコマンドを実行します。

    while true; do curl -m1 LB_IPV4_ADDRESS; done
    

    LB_IPV4_ADDRESS は、ロードバランサの IPv4 アドレスに置き換えます。

    curl コマンドによって返されたテキストを確認します。レスポンスを生成するバックエンド VM の名前が文字列内に表示されます(たとえば、Page served from: VM_NAME)。

    curl コマンドからのレスポンスは、バックエンド インスタンスの間でランダムに変わります。最初のレスポンスで失敗した場合は、構成が完全に読み込まれてインスタンスが正常であるとマークされるまで最大 30 秒待ってから、もう一度やり直してください。