このガイドでは、リージョン バックエンド サービスを使用して基本的なネットワーク負荷分散のデプロイを作成する手順を説明します。この例では、TCP または UDP トラフィックのいずれかをサポートするネットワーク ロードバランサを作成します。TCP や UDP だけでなく、TCP、UDP、ESP、GRE、ICMP、ICMPv6 のトラフィックを負荷分散するネットワーク ロードバランサを作成する場合は、複数の IP プロトコルを使用するネットワーク ロードバランサの設定をご覧ください。
この例では、ロードバランサを使用して、us-central1
リージョンの 2 つのゾーン マネージド インスタンス グループ内のバックエンド VM に TCP トラフィックを分散させます。同様に有効な方法として、単一のリージョン マネージド インスタンス グループを us-central1
リージョンに使用することもできます。
このシナリオでは、正常に動作しているインスタンスに TCP トラフィックを分散します。この例をサポートするために、TCP ヘルスチェックは、正常なインスタンスにのみトラフィックが送信されるように構成されています。TCP ヘルスチェックは、バックエンド サービスベースのロードバランサでのみサポートされています。ターゲット プールベースのロードバランサは、レガシー HTTP ヘルスチェックのみを使用できます。
この例では、TCP トラフィックのロード バランシングを行いますが、ネットワーク ロード バランシングを使用して UDP、SSL、HTTP(S) のトラフィックをロードバランスできます。
ネットワーク ロードバランサはリージョン ロードバランサです。すべてのロードバランサ コンポーネント(バックエンド VM、バックエンド サービス、転送ルール)は同じリージョン内に存在している必要があります。
準備
Google Cloud CLI をインストールします。ツールの完全な概要については、gcloud CLI の概要をご覧ください。ロード バランシングに関連するコマンドについては、API と gcloud のリファレンス ガイドをご覧ください。
Google Cloud CLI を初めて実行する場合は、最初に gcloud init
を実行して認証します。
このガイドは、bash の知識があることを前提としています。
ネットワークとサブネットを設定する
このページの例では、lb-network
という名前のカスタムモード VPC ネットワークを使用します。IPv4 トラフィックのみを処理する場合は、自動モード ネットワークを使用できます。ただし、IPv6 トラフィックの場合、カスタムモードのサブネットが必要です。
IPv6 トラフィックには、デュアルスタックのサブネット(stack-type
を IPv4_IPv6
に設定)も必要です。カスタムモードの VPC ネットワークでデュアルスタック サブネットを作成する場合は、サブネットに IPv6 アクセスタイプを選択します。この例では、サブネットの ipv6-access-type
パラメータを EXTERNAL
に設定します。つまり、このサブネット上の新しい VM には、外部 IPv4 アドレスと外部 IPv6 アドレスの両方を割り当てることができます。
この例で使用するバックエンド インスタンス グループとロードバランサ コンポーネントは、次のリージョンとサブネットに存在します。
- リージョン:
us-central1
- サブネット:
lb-subnet
(プライマリ IPv4 アドレス範囲10.1.2.0/24
)。サブネットで構成する IPv4 アドレス範囲を選択しますが、IPv6 アドレス範囲は自動的に割り当てられます。Google では、固定サイズ(/64)の IPv6 CIDR ブロックを提供しています。
サンプルのネットワークとサブネットを作成する手順は次のとおりです。
Console
IPv4 トラフィックと IPv6 トラフィックの両方をサポートするには、次の手順を実施します。
- Google Cloud Console で、[VPC ネットワーク] ページに移動します。
[VPC ネットワーク] に移動 - [VPC ネットワークを作成] をクリックします。
- [名前] に「
lb-network
」を入力します。 - [サブネット] セクションで次の設定を行います。
- [サブネット作成モード] を [カスタム] に設定します。
- [新しいサブネット] セクションで、次のフィールドを構成します。
- 名前:
lb-subnet
- リージョン:
us-central1
- IP スタック タイプ: IPv4 および IPv6(デュアル スタック)
- IPv4 範囲:
10.1.2.0/24
サブネットの IPv4 アドレス範囲を構成できますが、サブネットの IPv6 アドレスの範囲は選択できません。Google では、固定サイズ(/64)の IPv6 CIDR ブロックを提供しています。 - IPv6 アクセスタイプ: 外部
- [完了] をクリックします。
- 名前:
- [作成] をクリックします。
IPv4 トラフィックのみをサポートするには、次の手順を実施します。
- Google Cloud Console で、[VPC ネットワーク] ページに移動します。
[VPC ネットワーク] に移動 - [VPC ネットワークを作成] をクリックします。
- [名前] に「
lb-network
」を入力します。 - [サブネット] セクションで次の設定を行います。
- [サブネット作成モード] を [カスタム] に設定します。
- [新しいサブネット] セクションで、次のフィールドを構成します。
- 名前:
lb-subnet
- リージョン:
us-central1
- IP スタック タイプ: IPv4(シングルスタック)
- IPv4 範囲:
10.1.2.0/24
- [完了] をクリックします。
- 名前:
- [作成] をクリックします。
gcloud
カスタムモードの VPC ネットワークを作成します。
gcloud compute networks create lb-network \ --subnet-mode=custom
lb-network
ネットワーク内にus-central1
リージョンのバックエンドのサブネットを作成します。IPv4 トラフィックと IPv6 トラフィックの場合は、次のコマンドを使用します。
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
IPv4 トラフィックのみの場合、次のコマンドを使用します。
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
ゾーン マネージド インスタンス グループを作成する
この負荷分散のシナリオでは、2 つの Compute Engine ゾーン マネージド インスタンス グループを作成し、各インスタンスに Apache ウェブサーバーをインストールします。
IPv4 トラフィックと IPv6 トラフィックの両方を処理するには、バックエンド VM をデュアルスタックとして構成します。VM の stack-type
を IPv4_IPv6
に設定します。VM は、サブネットから ipv6-access-type
設定(この例では EXTERNAL
)も継承します。
ネットワーク ロードバランサのバックエンド VM として参加するインスタンスでは、適切な Linux ゲスト環境、Windows ゲスト環境、または同等の機能を提供する他のプロセスが実行されている必要があります。
インスタンスの設定
Cloud コンソール
インスタンス テンプレートを作成します。Cloud Console で [インスタンス テンプレート] ページに移動します。
- [インスタンス テンプレートを作成] をクリックします。
- [名前] に「
ig-us-template
」と入力します。 - [ブートディスク] が Debian GNU/Linux 10 (buster) などの Debian イメージに設定されていることを確認します。以降の手順では、
apt-get
などの Debian でのみ使用できるコマンドを使用します。 - [ネットワーキング、ディスク、セキュリティ、管理、単一テナンシー] をクリックします。
[管理] をクリックして、次のスクリプトを [起動スクリプト] フィールドにコピーします。
#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" sudo echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sudo systemctl restart apache2
[ネットワーキング] をクリックします。
- [ネットワーク タグ] で、
network-lb
を追加します。 - [ネットワーク インターフェース] で [デフォルト] インターフェースをクリックし、次のフィールドを構成します。
- ネットワーク:
lb-network
- サブネットワーク:
lb-subnet
- ネットワーク:
- [ネットワーク タグ] で、
[作成] をクリックします。
マネージド インスタンス グループを作成します。Cloud コンソールの [インスタンス グループ] ページに移動します。
- [インスタンス グループを作成] をクリックします。
- [新しいマネージド インスタンス グループ(ステートレス)] を選択します。詳細については、ステートレス MIG とステートフル MIG をご覧ください。
- [名前] に「
ig-us-1
」と入力します。 - [ロケーション] で [シングルゾーン] を選択します。
- [リージョン] で
us-central1
を選択します。 - [ゾーン] で
us-central1-a
を選択します。 - [インスタンス テンプレート] で
ig-us-template
を選択します。 グループ内に作成するインスタンスの数を指定します。
この例では、[自動スケーリング] で次のオプションを指定します。
- [自動スケーリング モード] で [
Off:do not autoscale
] を選択します。 - [インスタンスの最大数] に「
2
」と入力します。
- [自動スケーリング モード] で [
[作成] をクリックします。
上記の手順を繰り返し、次の仕様で
us-central1-c
ゾーンに次の 2 つのマネージド インスタンス グループを作成します。- 名前:
ig-us-2
- ゾーン:
us-central1-c
- インスタンス テンプレート: 前のセクションで作成したものと同じ
ig-us-template
テンプレートを使用します。
- 名前:
gcloud
このガイドの gcloud
の手順は、Cloud Shell または bash がインストールされた別の環境を使用していることを前提としています。
gcloud compute instance-templates create
コマンドを使用して、HTTP サーバーで VM インスタンス テンプレートを作成します。IPv4 トラフィックと IPv6 トラフィックの両方を処理するには、次のコマンドを使用します。
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=lb-tag \ --image-family=debian-10 \ --image-project=debian-cloud \ --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://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
IPv4 トラフィックのみのトラフィックを処理するには、次のコマンドを使用します。
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=lb-tag \ --image-family=debian-10 \ --image-project=debian-cloud \ --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://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
gcloud compute instance-groups managed create
コマンドを使用して、ゾーンにマネージド インスタンス グループを作成します。gcloud compute instance-groups managed create ig-us-1 \ --zone us-central1-a \ --size 2 \ --template ig-us-template
us-central1-c
ゾーンに 2 つ目のマネージド インスタンス グループを作成します。gcloud compute instance-groups managed create ig-us-2 \ --zone us-central1-c \ --size 2 \ --template ig-us-template
ファイアウォール ルールの構成
外部トラフィック(ヘルスチェック プローブを含む)がバックエンド インスタンスに到達できるようにファイアウォール ルールを作成します。
この例では、すべての送信元範囲からの TCP トラフィックがポート 80 でバックエンド インスタンスに到達できるようにファイアウォール ルールを作成します。ヘルスチェック プローブ専用のファイアウォール ルールを作成する場合は、ヘルスチェックの概要: プローブ IP 範囲とファイアウォール ルールに記載されているソース IP アドレス範囲を使用します。
Console
- Google Cloud Console の [ファイアウォール] ページに移動します。
[ファイアウォール] ページに移動 - IPv4 トラフィックを許可するには、次の手順を行います。
- [ファイアウォール ルールを作成] をクリックします。
- [名前] に「
allow-network-lb-ipv4
」と入力します。 - ファイアウォール ルールを適用するネットワーク(lb-network)を選択します。
- [ターゲット] で [指定されたターゲットタグ] を選択します。
- [ターゲットタグ] フィールドに「
lb-tag
」と入力します。 - [ソースフィルタ] で、[IPv4 範囲] を選択します。
- [ソース IPv4 の範囲] を
0.0.0.0/0
に設定します。これにより、任意の送信元からの IPv4 トラフィックが許可されます。これにより、Google のヘルスチェック プローブがバックエンド インスタンスに到達することもできます。 - [指定したプロトコルとポート] で、[TCP] の隣にあるチェックボックスをクリックして「
80
」と入力します。 - [作成] をクリックします。新しいファイアウォール ルールが Cloud Console に表示されるまで少し時間がかかる場合があります。表示されない場合は、[更新] をクリックしてルールを表示してみてください。
- [名前] に「
- IPv6 トラフィックを許可するには、次の手順を行います。
- もう一度 [ファイアウォール ルールを作成] をクリックします。
- [名前] に「
allow-network-lb-ipv6
」と入力します。 - ファイアウォール ルールを適用するネットワーク(lb-network)を選択します。
- [ターゲット] で [指定されたターゲットタグ] を選択します。
- [ターゲットタグ] フィールドに「
lb-tag
」と入力します。 - [ソースフィルタ] で、[IPv6 範囲] を選択します。
- [ソース IPv6 の範囲] を
::/0
に設定します。これにより、任意の送信元からの IPv6 トラフィックが許可されます。これにより、Google のヘルスチェック プローブがバックエンド インスタンスに到達することもできます。
- [ターゲットタグ] フィールドに「
- [指定したプロトコルとポート] で、[TCP] の隣にあるチェックボックスをクリックして「
80
」と入力します。 - [作成] をクリックします。新しいファイアウォール ルールがコンソールに表示されるまで少し時間がかかる場合があります。表示されない場合は、[更新] をクリックしてルールを表示してみてください。
gcloud
- IPv4 トラフィックを許可するには、次のコマンドを実行します。
gcloud compute firewall-rules create allow-network-lb-ipv4 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=0.0.0.0/0
IPv6 トラフィックを許可するには、次のコマンドを実行します。
gcloud compute firewall-rules create allow-network-lb-ipv6 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=::/0
ロードバランサの構成
次に、ロードバランサを設定します。
ロードバランサを構成すると、構成した静的外部 IP アドレス宛てのパケットが仮想マシン インスタンスに送信されます。Compute Engine で提供されるイメージを使用する場合は、この IP アドレスを処理するようにインスタンスが自動的に構成されます。その他のイメージを使用する場合は、このアドレスを eth0
のエイリアスまたは各インスタンスのループバックとして構成する必要があります。
Console
- Google Cloud Console で [ロードバランサの作成] ページに移動します。
[ロードバランサの作成] ページに移動 [TCP 負荷分散] で [構成を開始] をクリックします。
[インターネット接続または内部専用] で [From Internet to my VMs] を選択します。
[マルチリージョンまたはシングル リージョン] で [シングル リージョンのみ] を選択します。
[バックエンド タイプ] で [バックエンド サービス] を選択します。
[続行] をクリックします。
バックエンドの構成
- 新しい TCP ロードバランサの画面で、新しいロードバランサの [名前] に「
tcp-network-lb
」と入力します。[リージョン] で [us-central1] を選択します。 - [バックエンドの構成] をクリックします。前に入力したロードバランサの名前が表示されますが、変更できません。
- [バックエンドの構成] 画面で、次の変更を行います。
- [バックエンド] で、[インスタンス グループ] プルダウンを使用して [
ig-us-1
] を選択します。[完了] をクリックします。[バックエンドを追加] をクリックし、この手順を繰り返してig-us-2
を追加します。 - [ヘルスチェック] で、[ヘルスチェックを作成] または [別のヘルスチェックを作成] を選択して、次の情報を入力します。
- 名前:
tcp-health-check
- プロトコル:
TCP
- ポート:
80
- 名前:
- [保存] をクリックします。
- [バックエンド] で、[インスタンス グループ] プルダウンを使用して [
- 続行する前に、[バックエンドの構成] の隣に青いチェックマークがあることを確認します。
フロントエンドの構成
- [フロントエンドの構成] をクリックします。
- [名前] に「
network-lb-forwarding-rule
」と入力します。 - [IP] にあるプルダウン メニューをクリックして、[IP アドレスを作成] を選択します。
- [新しい静的 IP アドレスの予約] 画面で、名前に「
network-lb-ip
」と入力します。 - [予約] をクリックします。
- [新しい静的 IP アドレスの予約] 画面で、名前に「
- [単一] を選択して、ポート番号に「
80
」を入力します。 [完了] ボタンをクリックします。
[フロントエンドの設定] の左側にある青い丸のチェックマークが表示されていれば、設定に成功しています。
構成を確認する
- [確認と確定] ボタンをクリックして、ロードバランサのすべての構成設定を確認します。
設定が正しい場合は、[作成] をクリックします。ロードバランサの作成には数分かかります。
[負荷分散] 画面で、新しいロードバランサの [バックエンド] 列に緑色のチェックマークが表示されていれば、新しく作成したロードバランサは正常な状態です。
gcloud
(IPv4 トラフィックのみ)ロードバランサに静的外部 IPv4 アドレスを作成します。
gcloud compute addresses create network-lb-ipv4 \ --region us-central1
この例では、IPv6 転送ルールでエフェメラル IP アドレスを使用しています。静的外部 IPv6 アドレスの予約は、まだプレビュー段階です。許可リストに登録されたプロジェクトが必要です。詳細については、外部 IPv6 アドレスの予約をご覧ください。
TCP ヘルスチェックを作成します。
gcloud compute health-checks create tcp tcp-health-check \ --region us-central1 \ --port 80
バックエンド サービスを作成します。
gcloud compute backend-services create network-lb-backend-service \ --protocol TCP \ --health-checks tcp-health-check \ --health-checks-region us-central1 \ --region us-central1
バックエンド サービスに、インスタンス グループを追加します。
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1
IPv4 トラフィックと IPv6 トラフィックのどちらを処理するかに応じて、転送ルールを作成します。両方のタイプのトラフィックを処理する両方の転送ルールを作成します。
IPv4 トラフィックの場合。 受信 TCP トラフィックをバックエンド サービスにルーティングする転送ルールを作成します。ステップ 1 で予約した IPv4 アドレスをロードバランサの静的外部 IP アドレスとして使用します。
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service network-lb-backend-service
IPv6 トラフィックの場合。 次のコマンドを使用して、エフェメラル IPv6 アドレスを持つ転送ルールを作成します。
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv6 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --ports 80 \ --backend-service network-lb-backend-service
ロードバランサをテストする
負荷分散サービスの構成が完了したので、ロードバランサの外部 IP アドレスにトラフィックの送信を開始できます。また、バックエンド インスタンスに分散されるトラフィックを監視できます。
ロードバランサの外部 IP アドレスを調べる
Console
- 負荷分散の [詳細] ページにある [転送ルール] タブに移動します。
[転送ルール] タブに移動 - ロードバランサが使用する転送ルールを探します。
- [アドレス] 列に表示された外部 IP アドレスをメモします。
gcloud: IPv4
次のコマンドを入力して、ロードバランサが使用する network-lb-forwarding-rule
転送ルールの外部 IPv4 アドレスを表示します。
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \ --region us-central1
gcloud: IPv6
次のコマンドを入力して、ロードバランサが使用する network-lb-forwarding-rule
転送ルールの外部 IPv6 アドレスを表示します。
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \ --region us-central1
ロードバランサにトラフィックを送信する
curl
を使用して IP アドレスに接続するロードバランサへのウェブ リクエストを作成します。
IPv4 接続のクライアントから、次のコマンドを実行します。
$ while true; do curl -m1 IPV4_ADDRESS; done
IPv6 接続のクライアントから、次のコマンドを実行します。
$ while true; do curl -m1 http://IPV6_ADDRESS; done
たとえば、割り当てられた 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 秒待ってから、もう一度やり直してください。
追加の構成オプション
このセクションでは、ネットワーク ロードバランサをさらにカスタマイズする方法について説明します。これらのタスクは省略可能です。これらは任意の順序で実行できます。
セッション アフィニティを構成する
この構成例では、セッション アフィニティが無効(値を NONE
に設定)のバックエンド サービスが作成されます。このセクションでは、バックエンド サービスを更新してロードバランサのセッション アフィニティの設定を変更する方法について説明します。
サポートされているセッション アフィニティのタイプについては、セッション アフィニティのオプションをご覧ください。
Console
Google Cloud Console で、[ロード バランシング] ページに移動します。
バックエンド サービスの名前をクリックしてから、[編集] をクリックします。
[TCP ロードバランサの編集] ページで、[バックエンドの構成] をクリックします。
[セッション アフィニティ] プルダウンでオプションを選択します。
[更新] をクリックします。
gcloud
次の gcloud
コマンドを使用して、バックエンド サービスのセッション アフィニティを更新します。
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --session-affinity=SESSION_AFFINITY_OPTION
プレースホルダを有効な値に置き換えます。
BACKEND_SERVICE
: 更新するバックエンド サービスSESSION_AFFINITY_OPTION
: 設定するセッション アフィニティ オプションネットワーク ロードバランサでサポートされている値の一覧については、セッション アフィニティのオプションをご覧ください。
接続トラッキング ポリシーを構成する
この構成例では、接続トラッキング ポリシーのデフォルト設定を使用してバックエンド サービスを作成しています。このセクションでは、バックエンド サービスを更新してロードバランサのデフォルトの接続トラッキング ポリシーを変更する方法について説明します。
接続トラッキング ポリシーには次の設定が含まれます。
- トラッキング モード
- 異常なバックエンドでの接続の永続性
- アイドル タイムアウト(60 秒、構成不可)
gcloud
次の gcloud compute
backend-services
コマンドを使用して、バックエンド サービスの接続トラッキング ポリシーを更新します。
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --tracking-mode=TRACKING_MODE \ --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR
プレースホルダを有効な値に置き換えます。
BACKEND_SERVICE
: 更新するバックエンド サービスTRACKING_MODE
: 受信パケットに使用される接続トラッキング モード。サポートされている値のリストについては、トラッキング モードをご覧ください。CONNECTION_PERSISTENCE_BEHAVIOR
: バックエンドが異常な場合の接続の永続性の動作。サポートされている値の一覧については、異常なバックエンドでの接続の永続性をご覧ください。
トラフィック ステアリングの構成
このセクションでは、ロードバランサのフロントエンド構成を更新して、ソース IP ベースのトラフィック ステアリングを設定する方法について説明します。トラフィック ステアリングの仕組みについては、トラフィック ステアリングをご覧ください。
以下の手順は、親のベース転送ルールがすでに作成されていることを前提としています。この例では、親と同じ IP アドレス、IP プロトコル、ポートを持つ 2 番目の転送ルール(ステアリング転送ルール)を作成します。このステアリング転送ルールはソース IP 範囲で構成されているため、これらのソース IP 範囲からのパケットの転送方法をカスタマイズできます。
gcloud
次のコマンドを使用して、バックエンド サービスを指すステアリング転送ルールを作成します。
gcloud beta compute backend-services create STEERING_FORWARDING_RULE_BS \ --load-balancing-scheme=EXTERNAL \ --backend-service=BACKEND_SERVICE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
次のコマンドを使用して、ターゲット インスタンスを指すステアリング転送ルールを作成します。
gcloud beta compute backend-services create STEERING_FORWARDING_RULE_TI \ --load-balancing-scheme=EXTERNAL \ --target-instance=TARGET_INSTANCE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
プレースホルダを有効な値に置き換えます。
FORWARDING_RULE
: 作成するステアリング転送ルールの名前。BACKEND_SERVICE
またはTARGET_INSTANCE
: このステアリング転送ルールがトラフィックを送信するバックエンド サービスまたはターゲット インスタンスの名前。親転送ルールがバックエンド サービスを指している場合でも、ターゲット インスタンスを指すステアリング転送ルールを作成できます。LOAD_BALANCER_VIP
、IP_PROTOCOL
、PORTS
: 作成するステアリング転送ルールの IP アドレス、IP プロトコル、ポート。これらの設定は、既存のベース転送ルールと一致する必要があります。REGION
: 作成する転送ルールのリージョン。SOURCE_IP_ADDRESS_RANGES
: IP アドレスまたは IP アドレス範囲のカンマ区切りリスト。この転送ルールは、受信パケットの送信元 IP アドレスがここで設定された IP 範囲のいずれかに該当する場合にのみ、トラフィックを転送します。
次のステップ
- ネットワーク ロードバランサをターゲット プール バックエンドからリージョン バックエンド サービスに移行する方法については、ネットワーク ロードバランサをターゲット プールからバックエンド サービスに移行するをご覧ください。
- ターゲット プールを使用したネットワーク ロードバランサの構成については、ターゲット プールを使用したネットワーク ロードバランサの設定をご覧ください。
- ネットワーク負荷分散のフェイルオーバーの構成方法については、ネットワーク負荷分散のフェイルオーバーの構成をご覧ください。
- リソースを削除するには、ロードバランサの設定の削除をご覧ください。