目標
- 自動スケーリングを有効にした複数のリージョンの Compute Engine マネージド インスタンス グループをデプロイします。
- 複数のリージョンにまたがるロードバランサを作成します。
- 世界中のさまざまなリージョンからのテスト トラフィックを生成します。
- Google Cloud コンソールを使用して、ロードバランサがどのようにリクエストをルーティングするか、また、インスタンス グループが需要に応じてどのように自動スケーリングを行うかを可視化します。
費用
このチュートリアルでは、以下を含む、 Google Cloud の課金対象となるコンポーネントを使用します。- Compute Engine
始める前に
- 
  
   
   
     
   
  
   
   
     
   
  
 
  
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
   
   
  
   
   
  
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
   
   
  
   
   
  
 
  
  
    
      Enable the Compute Engine API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
アプリケーション アーキテクチャ
アプリケーションには、次の Compute Engine コンポーネントが含まれています。
- インスタンス テンプレート: インスタンス グループ内の各インスタンスを作成するために使用されるテンプレート。
- インスタンス グループ: 受信トラフィックに基づいて自動スケーリングを行う複数のインスタンス グループ。
- ロードバランサ: インスタンス グループ間でトラフィックを分散する HTTP ロードバランサ。
- インスタンス: 世界中のさまざまなリージョンからのテスト トラフィックを生成する複数のテスト インスタンス。

ウェブサービスを設定する
インスタンス グループを作成する
コンソール
- インスタンス グループのネットワークを作成します。 - Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。 
- [VPC ネットワークを作成] をクリックします。 
- [名前] を - fortressnetに設定します。
- [サブネット作成モード] を [自動] に設定します。 
- ページの下部にある [作成] をクリックします。 
 
- ネットワークのファイアウォール ルールを作成します。このルールでは、インスタンスに送信されるすべての HTTP リクエストを許可します。 - Google Cloud コンソールで、[ファイアウォール ルール] ページに移動します。 
- [ファイアウォール ルールを作成] をクリックします。 
- [名前] を - fortressnet-allow-httpに設定します。
- [ネットワーク] で、 - fortressnetを選択します。
- [ターゲット] で、 - All instances in the networkを選択します。
- [送信元 IPv4 範囲] を - 0.0.0.0/0に設定します。
- [プロトコルとポート] で [指定したプロトコルとポート] を選択し、[TCP] チェックボックスをオンにして「 - 80」と入力します。
- [作成] をクリックします。 
 
- インスタンス テンプレートを作成します。各インスタンスで単純な Apache ウェブサーバーを起動する起動スクリプトを組み込みます。 - Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。 
- [インスタンス テンプレートを作成] をクリックします。 
- [名前] を - fort-templateに設定します。
- [マシンの構成] で - e2-micro(2 基の vCPU、1 GB のメモリ)を選択します。
- [詳細オプション] セクションで、[ネットワーキング] を開いて次の操作を行います。 - [ネットワーク インターフェース] セクションで、ネットワーク インターフェースを開いて編集します。
- [ネットワーク] で fortressnetを選択します。
 
- [管理] セクションの [自動化] に、次の起動スクリプトを入力します。 - apt update && apt -y install apache2 
- [作成] をクリックします。 
 
- インスタンス テンプレートを使用して、複数のリージョンのマネージド インスタンス グループを作成します。各インスタンス グループで自動スケーリングを構成します。 - Google Cloud コンソールで、[インスタンス グループ] ページに移動します。 
- [インスタンス グループを作成] をクリックして、新しいマネージド インスタンス グループを作成します。 
- [新しいマネージド インスタンス グループ(ステートレス)] を選択します。 
- [名前] を - us-central1-poolに設定します。
- [インスタンス テンプレート] で - fort-templateを選択します。
- [ロケーション] で [複数のゾーン] を選択します。 
- [リージョン] で - us-central1を選択します。[ゾーン] は、事前定義された値が選択されたままにしておきます。
- [自動スケーリング モード] で [オン: グループに対してインスタンスを追加および削除します] を選択します。 
- [インスタンスの最小数] を - 1に設定します。
- [インスタンスの最大数] を - 5に設定します。
- [自動スケーリング シグナル] で、デフォルトの選択(CPU 使用率)を編集して [シグナルタイプ] を [HTTP ロード バランシングの使用率] に設定します。 
- [HTTP ロード バランシング使用率の目標値] を - 80に設定します。
- [完了] をクリックします。 
- [作成] をクリックします。HTTP ロードバランサのバックエンド サービスにもインスタンス グループを割り当てる必要があることを示すメッセージがダイアログに表示されます。 
- 確認のダイアログで [確認] をクリックします。すべてのインスタンス グループを作成した後、ロードバランサを構成できます。 
- 次の変更を加えて上記の手順を繰り返し、さらに 2 つのインスタンス グループを作成します。 - 名前が europe-west1-poolでリージョンがeurope-west1のグループを作成します。
- 名前が asia-east1-poolでリージョンがasia-east1のグループを作成します。
 
- 名前が 
 
- (省略可)インスタンスが正常で、HTTP トラフィックを処理していることを確認します。1 つ以上のインスタンスの外部 IP アドレスをテストします。インスタンスが起動プロセスを完了するまで 1 分ほどかかることがあります。 - Google Cloud コンソールで、[VM インスタンス] ページに移動します。 
- 実行中の各インスタンスのインスタンス グループ名の横に表示される [ステータス] 列に、緑色のチェックマークが表示されていることを確認します。 
- インスタンスの外部 IP をコピーしてウェブブラウザに貼り付けます。 
 - 「Apache2 Debian デフォルト ページ」のウェブページが表示されます。 - 表示されない場合は、しばらくお待ちください。 
gcloud
- インスタンス グループのネットワークを作成します。 - gcloud compute networks create fortressnet --subnet-mode auto 
- ネットワークのファイアウォール ルールを作成します。このルールでは、インスタンスに送信されるすべての HTTP リクエストを許可します。 - gcloud compute firewall-rules create fortressnet-allow-http \ --network fortressnet \ --allow tcp:80
- インスタンス テンプレートを作成します。各インスタンスで単純な Apache ウェブサーバーを起動する起動スクリプトを組み込みます。 - gcloud compute instance-templates create fort-template \ --machine-type e2-micro \ --network fortressnet \ --metadata startup-script='apt update && apt -y install apache2'
- インスタンス テンプレートを使用して、複数のリージョンのマネージド インスタンス グループを作成します。各インスタンス グループで自動スケーリングを構成します。 - gcloud compute instance-groups managed create us-central1-pool \ --region us-central1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling us-central1-pool \ --region us-central1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8- gcloud compute instance-groups managed create europe-west1-pool \ --region europe-west1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling europe-west1-pool \ --region europe-west1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8- gcloud compute instance-groups managed create asia-east1-pool \ --region asia-east1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling asia-east1-pool \ --region asia-east1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8
- (省略可)インスタンスが正常で、HTTP トラフィックを処理していることを確認します。1 つ以上のインスタンスの外部 IP アドレスをテストします。インスタンスが起動プロセスを完了するまで 1 分ほどかかることがあります。 - インスタンスを一覧表示します。 - gcloud compute instances list 
- [ - STATUS] 列でインスタンスが- RUNNINGになっていることを確認します。
- [ - EXTERNAL_IP] 列の IP アドレスに対するクエリを実行して、インスタンスの動作を確認します。- curl http://EXTERNAL_IP | head 
 - <title>Apache2 Debian Default Page: It works</title>という行を含む HTML テキストが表示されます。- 表示されない場合は、しばらくお待ちください。 
ロードバランサの構成
ロードバランサは複数のバックエンド間でクライアント リクエストを分散します。
コンソール
ロードバランサの種類を選択する
- Google Cloud コンソールで、[ロード バランシング] ページに移動します。 
- [ロードバランサを作成] をクリックします。
- [ロードバランサの種類] で [アプリケーション ロードバランサ(HTTP / HTTPS)] を選択し、[次へ] をクリックします。
- [インターネット接続または内部] で [インターネット接続(外部)] を選択し、[次へ] をクリックします。
- [グローバルまたはシングル リージョンのデプロイ] で [グローバル ワークロードに最適] を選択し、[次へ] をクリックします。
- [ロードバランサの世代] で [グローバル外部アプリケーション ロードバランサ] を選択し、[次へ] をクリックします。
- [構成] をクリックします。
基本構成
- [ロードバランサの名前] を fortressnet-balancerに設定します。
バックエンドの構成
- [Create global external Application Load Balancer] ページで、[バックエンドの構成] をクリックします。
- [バックエンド サービスとバックエンド バケットの作成または選択] プルダウン メニューで、[バックエンド サービス]、[バックエンド サービスを作成] の順に選択します。[バックエンド サービスの作成] ダイアログ ボックスが表示されます。
- バックエンド サービスの [名前] を fortressnet-backend-serviceに設定します。
- [新しいバックエンド] ダイアログ ボックスで、[インスタンス グループ] を asia-east1-poolに設定します。
- [分散モード] で [レート] を選択します。
- [最大 RPS] をインスタンスあたり 100RPS に設定します。
- [完了] をクリックします。
- [バックエンドを追加] をクリックします。
- [新しいバックエンド] ダイアログ ボックスで、[インスタンス グループ] を europe-west1-poolに設定します。
- [分散モード] で [レート] を選択します。
- [最大 RPS] をインスタンスあたり 100RPS に設定します。
- [完了] をクリックします。
- [バックエンドを追加] をクリックします。
- [新しいバックエンド] ダイアログ ボックスで、[インスタンス グループ] を us-central1-poolに設定します。
- [分散モード] で [レート] を選択します。
- [最大 RPS] をインスタンスあたり 100RPS に設定します。
- [完了] をクリックします。
- [ヘルスチェック] で [ヘルスチェックを作成] を選択します。
- [名前] を http-basic-checkに設定します。
- [プロトコル] で HTTPを選択します。
- [ポート] を 80に設定します。
- [保存して次へ] をクリックします。
- [作成] をクリックします。
ホストとパスのルール
- [Create global external Application Load Balancer] ページの左パネルで、[ホストとパスのルール] をクリックします。
 この例では、すべてのトラフィックがデフォルト ルールに従うため、ホストまたはパスのルールを構成する必要はありません。したがって、事前設定されたデフォルト値をそのまま使用します。
フロントエンドの構成
- [Create global external Application Load Balancer] ページの左パネルで、[フロントエンドの構成] をクリックします。
- [名前] を fortressnet-http-ruleに設定します。
- [IP バージョン] で [IPv4] を選択します。
- [IP アドレス] で [IP アドレスを作成] を選択します。
- [新しい静的 IP アドレスの予約] ダイアログ ボックスで、[名前] を fortressnet-ipに設定します。
- [予約] をクリックしてしばらく待ちます。
- [新しいフロントエンドの IP とポート] ダイアログ ボックスの下部にある [完了] をクリックします。
- [フロントエンド IP とポートの追加] をクリックします。
- [名前] を fortressnet-http-ipv6-ruleに設定します。
- [IP バージョン] で [IPv6] を選択します。
- [IP アドレス] で [IP アドレスを作成] を選択します。
- ダイアログ ボックスで [名前] を fortressnet-ipv6に設定します。
- [予約] をクリックしてしばらく待ちます。
- [新しいフロントエンドの IP とポート] ダイアログ ボックスの下部にある [完了] をクリックします。
確認と完了
- [Create global external Application Load Balancer] ページの左パネルで、[確認と完了] をクリックします。
- 現在の設定と作成しようとしている内容を比較します。
- 設定が正しい場合は、左パネルの下部にある [作成] をクリックします。ロード バランシング画面に戻ります。ロードバランサが作成されると、その横に、ロードバランサが実行中であることを示す緑色のチェックマークが表示されます。
gcloud
バックエンドの構成
- 基本的なヘルスチェックを作成します。これにより、ロードバランサのバックエンドが HTTP リクエストに応答しているかどうかをチェックします。 - gcloud compute health-checks create http http-basic-check 
- グローバル バックエンド サービスを作成します。このバックエンド サービスは、ロードバランサから HTTP トラフィックを受信します。 - gcloud compute backend-services create fortressnet-backend-service \ --protocol HTTP \ --health-checks http-basic-check \ --global
- インスタンス グループをバックエンド サービスのリージョン バックエンドとして追加します。この構成では、インスタンスごとの 1 秒あたりの最大リクエスト数(RPS)に基づいてバックエンド間でトラフィックを分散します。 - gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group us-central1-pool \ --instance-group-region us-central1 \ --global gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group europe-west1-pool \ --instance-group-region europe-west1 \ --global gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group asia-east1-pool \ --instance-group-region asia-east1 \ --global
ホストとパスのルール
- URL マップを定義します。URL マップは、さまざまな URL をそれぞれ異なるバックエンド サービスにルーティングします。バックエンド サービスは 1 つしかないので、そのバックエンド サービスをすべての URL のデフォルト サービスとして設定します。 - gcloud compute url-maps create fortressnet-balancer \ --default-service fortressnet-backend-service
- HTTP プロキシルートを作成します。HTTP プロキシルートは HTTP リクエストを受け入れ、URL マップに従ってルーティングします。ここでは、すべてのリクエストを 1 つのバックエンド サービスに送信します。 - gcloud compute target-http-proxies create fortressnet-http-proxy \ --url-map fortressnet-balancer
フロントエンドの構成
- グローバル静的外部 IP アドレスを 2 つ作成します。一つは IPv4 用、もう一つは IPv6 用です。これらはロードバランサのグローバル外部 IP アドレスになります。 - gcloud compute addresses create fortressnet-ip \ --ip-version IPV4 \ --network-tier=PREMIUM \ --global gcloud compute addresses create fortressnet-ipv6 \ --ip-version IPV6 \ --network-tier=PREMIUM \ --global
- ロードバランサの外部 IP アドレスを調べます。 - gcloud compute addresses list 
- 外部 IP アドレスのグローバル転送ルールを作成します。このルールでは、IPv4 と IPv6 の両方の HTTP リクエストを HTTP プロキシに転送します。 - gcloud compute forwarding-rules create fortressnet-http-rule \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --global \ --target-http-proxy fortressnet-http-proxy \ --ports 80 \ --address LOAD_BALANCER_IP_ADDRESS- gcloud compute forwarding-rules create fortressnet-http-ipv6-rule \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --global \ --target-http-proxy fortressnet-http-proxy \ --ports 80 \ --address LOAD_BALANCER_IPV6_ADDRESS
(省略可)ロードバランサが機能していることを確認します。これには 1~3 分かかることがあります。
コンソール
- Google Cloud コンソールで、[ロード バランシング] ページに移動します。 
- [バックエンド] 列の - fortressnet-balancerに緑色のチェックマークが表示されるのを待ちます。
- fortressnet-balancerをクリックします。
- [フロントエンド] の [IP:ポート] 列に IPv4 アドレスをコピーします(IPv4 アドレスの形式は - www.xxx.yyy.zzzです。末尾のポート番号- :nnは必要ありません)。[フロントエンド] セクションが表示されない場合は、しばらく待ってからウェブページを再度読み込んでください。
- ウェブブラウザに IP アドレスを入力します。 
「Apache2 Debian デフォルト ページ」のウェブページが表示されます。
「エラー 404 - 見つかりません」というウェブページが表示された場合は、もう少し待ってみてください。
gcloud
- ロードバランサの外部 IP アドレスを調べます。 - gcloud compute addresses list 
- IPv4 アドレスに対するクエリを実行します(IPv4 アドレスの形式は - www.xxx.yyy.zzzです)。- curl http://LOAD_BALANCER_IP_ADDRESS | head 
<title>Apache2 Debian Default Page: It works</title> という行を含む HTML テキストが表示されます。
<title>Error 404 (Not Found)!!1</title> が表示された場合は、もう少し待ってみてください。
おすすめの方法: ロードバランサとヘルスチェックからの内部トラフィックだけを許可する安全なファイアウォールを作成します。次に、すべての HTTP リクエストを許可している元のファイアウォールを削除します。これにより、個々のインスタンスが外部のクライアントからアクセスできなくなります。
コンソール
- ロードバランサとヘルスチェックからのトラフィックのみを許可する新しいファイアウォールを作成します。 - Google Cloud コンソールで、[ファイアウォール ルール] ページに移動します。 
- [ファイアウォール ルールを作成] をクリックします。 
- [名前] を - fortressnet-allow-load-balancerに設定します。
- [ネットワーク] で、 - fortressnetを選択します。
- [ターゲット] で、 - All instances in the networkを選択します。
- [ソース IP の範囲] に「 - 130.211.0.0/22」と入力して Enter キーを押し、次に「- 35.191.0.0/16」と入力してもう一度 Enter キーを押します。
- [プロトコルとポート] で [tcp] を選択し、「 - 80」と入力します。
- [作成] をクリックします。 
 
- すべてを許可する元のファイアウォールを削除します。 - fortressnet-allow-httpの横にあるチェックボックスをオンにします。
- ページの上部にある [削除] をクリックします。
- ダイアログ ボックスで [削除] をクリックします。
 
gcloud
- ロードバランサとヘルスチェックからのトラフィックのみを許可する新しいファイアウォールを作成します。 - gcloud compute firewall-rules create fortressnet-allow-load-balancer \ --network fortressnet \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --allow tcp:80
- すべてを許可する元のファイアウォールを削除します。 - gcloud compute firewall-rules delete fortressnet-allow-http -q 
(省略可)自動スケーリングとロード バランシングが機能していることを確認する
テスト トラフィックを生成する
ヨーロッパでは朝にあたる時間帯に、ご自分のウェブサービスがインターネット上で急激に人気になったとします。ヨーロッパで突然発生した大量のクライアント リクエストを生成してみましょう。
コンソール
- Siege 負荷テストツールをインストールしたインスタンスを作成します。 - Google Cloud コンソールで [インスタンスの作成] ページに移動します。 
- [名前] を - europe-loadtestに設定します。
- [リージョン] で、 - europe-west1を選択します。
- 詳細な設定を行う場合は、[詳細オプション] セクションを開いて次の操作を行います。 - [管理] セクションを開きます。
- [自動化] フィールドに、次の起動スクリプトを入力します。apt -y install siege 
 
- VM を作成するには、[作成] をクリックします。 
 
- ロードバランサの IPv4 アドレスを取得します。 - Google Cloud コンソールで、[ロード バランシング] ページに移動します。 
- [ - fortressnet-balancer] をクリックします。
- [フロントエンド] の [IP:ポート] 列に IPv4 アドレスをコピーします(IPv4 アドレスの形式は - www.xxx.yyy.zzzです)。
 
- 負荷テスト インスタンスに SSH で接続します。 - Google Cloud コンソールで、[VM インスタンス] ページに移動します。 
- [名前] 列の - europe-loadtestインスタンスに緑色のチェックマークが表示されるのを待ちます。
- [接続] 列の - europe-loadtestで [SSH] をクリックします。
 
- Siege を開始します。ロードバランサの IPv4 アドレスをターゲットに指定します。 - siege -c150 http://LOAD_BALANCER_IP_ADDRESS 
gcloud
- Siege 負荷テストツールをインストールしたインスタンスを作成します。 - gcloud compute instances create europe-loadtest \ --network default \ --zone europe-west1-c \ --metadata startup-script='apt -y install siege'
- ロードバランサの IPv4 アドレスを取得します。 - gcloud compute addresses list 
- gcloudコマンドを使用できる新しい Shell セッションを開きます。- 新しい Shell セッションで、負荷テスト インスタンスに SSH で接続します。 - gcloud compute ssh --zone europe-west1-c europe-loadtest 
- Siege を開始します。ロードバランサの IPv4 アドレスをターゲットに指定します。 - siege -c150 http://LOAD_BALANCER_IP_ADDRESS 
 
siege コマンドを実行すると、「The server is now under siege...」という出力が表示されます。
[alert] Zip encoding disabled; siege requires zlib support to enable it ** SIEGE 4.0.2 ** Preparing 150 concurrent users for battle. The server is now under siege...
ロード バランシングと自動スケーリングのモニタリング
- Google Cloud コンソールで、[ロード バランシング] ページに移動します。 
- fortressnet-balancerという名前のロードバランサをクリックします。
- [モニタリング] タブをクリックします。 
- [バックエンド] プルダウンで - fortressnet-backend-serviceを選択します。
十分なデータが表示されるまで最大 10 分ほどかかることがあります。まもなく次のような画面が表示されます。

ここでは次のことが行われます。
- 負荷テストにより大量のトラフィックが一斉に送信されます。最初、ロードバランサは、3 つのバックエンド間で均等にリクエストを分散します。リクエストの数がすぐに自動スケーリングの制限を超え、サーバーが - Backend 5xx errorsを返すことさえあります(このメッセージはモニタリング ディスプレイに表示されます)。オートスケーラーは、必要に応じて追加のインスタンスを起動します。
- 自動スケーリングが容量のニーズに追いつきます。リクエストのレイテンシを最小限に抑えるため、Compute Engine のロードバランサは、クライアントに最も近いバックエンドにリクエストをルーティングしようとします。この場合、負荷テストのトラフィックはヨーロッパから発信されているため、ロードバランサはヨーロッパのバックエンドにより多くのリクエストをルーティングします。その結果、自動スケーリングでは、ヨーロッパのバックエンドでより多くのインスタンスを起動することで、リクエストの大部分を処理しようとします。 
テスト トラフィックを別の場所で生成する
ご自分のウェブサービスが午後に、アジアでもインターネット上で人気になったとします。アジアからの大量のリクエストを生成してみましょう。
コンソール
- Siege 負荷テストツールをインストールした別のインスタンスを作成するには、次の操作を行います。 - Google Cloud コンソールで、[VM インスタンス] ページに移動します。 
- [インスタンスを作成] をクリックします。 
- [名前] を - asia-loadtestに設定します。
- [リージョン] で、 - asia-east1を選択します。
- [詳細オプション] セクションを開きます。 
- [管理] セクションを開きます。 
- [自動化] セクションで、次の起動スクリプトを入力します。 - apt -y install siege 
- [作成] をクリックします。 
 
- ロードバランサの IP アドレスを取得するには、次の操作を行います。 - Google Cloud コンソールで、[ロード バランシング] ページに移動します。 
- [ - fortressnet-balancer] をクリックします。
- [フロントエンド] の [IP:ポート] 列に IPv4 アドレスをコピーします(IPv4 アドレスの形式は - www.xxx.yyy.zzzです)。
 
- 負荷テスト インスタンスに SSH で接続します。 - [名前] 列の asia-loadtestインスタンスに緑色のチェックマークが表示されるのを待ちます。
- [接続] 列の asia-loadtestで [SSH] をクリックします。
 
- [名前] 列の 
- Siege を開始します。ロードバランサの IPv4 アドレスをターゲットに指定します。 - siege -c150 http://LOAD_BALANCER_IP_ADDRESS 
gcloud
- 元の Shell セッションで、Siege 負荷テストツールをインストールした別のインスタンスを作成します。 - gcloud compute instances create asia-loadtest \ --network default \ --zone asia-east1-c \ --metadata startup-script='apt -y install siege'
- ロードバランサの IPv4 アドレスを取得します。 - gcloud compute addresses list 
- gcloudコマンドを使用できる新しい Shell セッションを開きます。- 新しい Shell セッションで、負荷テスト インスタンスに SSH で接続します。 - gcloud compute ssh --zone asia-east1-c asia-loadtest 
- Siege を開始します。ロードバランサの IPv4 アドレスをターゲットに指定します。 - siege -c150 http://LOAD_BALANCER_IP_ADDRESS 
 
「The server is now under siege...」という出力が再び表示されます。
[alert] Zip encoding disabled; siege requires zlib support to enable it ** SIEGE 4.0.2 ** Preparing 150 concurrent users for battle. The server is now under siege...
ロード バランシングと自動スケーリングのモニタリング
前のロード バランシング モニタリング ディスプレイに戻ります。十分なデータが新たに表示されるまで最大 10 分ほどかかることがあります。まもなく次のような画面が表示されます。

ここでは次のことが行われます。
- この場合も、負荷テストにより一斉に大量のリクエストが送信されます。最初、ロードバランサは、既存の 3 つのバックエンド間で均等にリクエストを分散します。リクエストの数が自動スケーリングの制限を超えると、オートスケーラーは必要に応じて追加のインスタンスを起動します。 
- 自動スケーリングが新たな容量のニーズに追いつきます。ロードバランサは、最も近い使用可能なバックエンドにリクエストをルーティングします。その結果、アジアのバックエンドは主にアジアからのリクエストを受け取り、ヨーロッパのバックエンドは主にヨーロッパからのリクエストを受け取ります。また、残りのすべてのリクエストは米国のバックエンドが受け取ります。 
クリーンアップ
チュートリアルが終了したら、作成したリソースをクリーンアップして、割り当ての使用を停止し、課金されないようにできます。次のセクションで、リソースを削除または無効にする方法を説明します。
プロジェクトの削除
課金されないようにする最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
インスタンスの削除
Compute Engine インスタンスを削除するには:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
次のステップ
- ロード バランシング処理能力に基づくスケーリングを行う。
- Google Cloudでのグローバルなロード バランシング。
- Google Cloudでのスケーラブルで復元力を備えたウェブ アプリケーションの構築。
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。