高度なトラフィック管理(Envoy)を使用した外部 HTTPS LB の Codelab

1. はじめに

高度なトラフィック管理(Envoy)を備えた外部 HTTPS ロードバランサの Codelab へようこそ。

高度なトラフィック管理機能を含む最新バージョンの HTTP(S) 外部ロードバランサには、既存の従来のグローバル外部 HTTP(S) ロードバランサのすべての機能が含まれていますが、高度なトラフィック管理機能のリストは増え続けています。これらの機能の一部はロードバランサに新しく追加されたもので、一部は既存の機能の強化です。これらの機能の一部を以下に示します。

  • 重み付けによるトラフィック分割
  • リクエストのミラーリング
  • 外れ値検出
  • リクエストの再試行
  • フォールト インジェクション
  • 追加のバックエンド セッション アフィニティのオプション
  • 追加のヘッダー変換のオプション
  • クロスオリジン リソース シェアリング(CORS)
  • 新しいロード バランシング アルゴリズム

学習内容

  • マネージド インスタンス グループと関連する VPC ルールとファイアウォール ルールを設定する方法
  • 新しいロードバランサの高度なトラフィック管理機能の使用方法
  • 高度なトラフィック管理機能が意図したとおりに動作していることを検証する方法。

必要なもの

  • ネットワーキングと HTTP に関する基本的な知識
  • Unix / Linux コマンドラインに関する基本的な知識

Codelab のトポロジとユースケース

dd8bd5e8e1341878.png

図 1 - HTTP ロードバランサのルーティング トポロジ

このコードラボでは、東部、西部、中部に 1 つずつ、3 つのマネージド インスタンス グループを設定します。グローバル外部 HTTPS ロードバランサを作成します。ロードバランサは、Envoy ベースのロードバランサがサポートする高度な機能のリストからいくつかの機能を利用します。デプロイが完了したら、シミュレートされた負荷を生成し、設定した構成が適切に機能していることを確認します。

2. 設定と要件

セルフペース型の環境設定

  1. Google Cloud Console にログインして、プロジェクトを新規作成するか、既存のプロジェクトを再利用します。Gmail アカウントも Google Workspace アカウントもまだお持ちでない場合は、アカウントを作成してください。

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • プロジェクト名は、このプロジェクトの参加者に表示される名称です。Google API では使用されない文字列です。いつでも更新できます。
  • プロジェクト ID は、すべての Google Cloud プロジェクトにおいて一意でなければならず、不変です(設定後は変更できません)。Cloud コンソールでは一意の文字列が自動生成されます。通常は、この内容を意識する必要はありません。ほとんどの Codelab では、プロジェクト ID(通常は PROJECT_ID と識別されます)を参照する必要があります。生成された ID が好みではない場合は、ランダムに別の ID を生成できます。または、ご自身で試して、利用可能かどうかを確認することもできます。このステップ以降は変更できず、プロジェクトを通して同じ ID になります。
  • なお、3 つ目の値として、一部の API が使用するプロジェクト番号があります。これら 3 つの値について詳しくは、こちらのドキュメントをご覧ください。
  1. 次に、Cloud のリソースや API を使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行って、費用が生じたとしても、少額です。このチュートリアルの終了後に請求が発生しないようにリソースをシャットダウンするには、作成したリソースを削除するか、プロジェクトを削除します。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアル プログラムをご利用いただけます。

Cloud Shell を起動する

Google Cloud はノートパソコンからリモートで操作できますが、この Codelab では、Google Cloud Shell(Cloud 上で動作するコマンドライン環境)を使用します。

Google Cloud Console で、右上のツールバーにある Cloud Shell アイコンをクリックします。

55efc1aaa7a4d3ad.png

プロビジョニングと環境への接続にはそれほど時間はかかりません。完了すると、次のように表示されます。

7ffe5cbb04455448.png

この仮想マシンには、必要な開発ツールがすべて用意されています。永続的なホーム ディレクトリが 5 GB 用意されており、Google Cloud で稼働します。そのため、ネットワークのパフォーマンスと認証機能が大幅に向上しています。この Codelab での作業はすべて、ブラウザ内から実行できます。インストールは不要です。

始める前に

Cloud Shell で、プロジェクト ID が設定されていることを確認します。

gcloud config list project

gcloud config set project [YOUR-PROJECT-NAME]

PROJECT_ID=[YOUR-PROJECT-NAME]

echo $PROJECT_ID

API を有効にする

必要なサービスをすべて有効にする

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com

3. VPC ネットワークを作成する

VPC ネットワークを作成する

Cloud Shell から

gcloud compute networks create httplbs --subnet-mode=auto

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs].
NAME: httplbs
SUBNET_MODE: AUTO
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:

VPC ファイアウォール ルールを作成する

VPC を作成したら、ファイアウォール ルールを作成します。ファイアウォール ルールは、すべての IP がテスト アプリケーションのウェブサイトの外部 IP にポート 80 で HTTP トラフィックとしてアクセスできるようにするために使用されます。

Cloud Shell から

gcloud compute firewall-rules create httplb-allow-http-rule \
--allow tcp:80 \
--network httplbs \
--source-ranges 0.0.0.0/0 \
--priority 700

出力

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule].
Creating firewall...done.
NAME: httplb-allow-http-rule
NETWORK: httplbs
DIRECTION: INGRESS
PRIORITY: 700
ALLOW: tcp:80
DENY:
DISABLED: False

4. マネージド インスタンス グループを設定する

HTTP ロードバランサで使用されるバックエンド リソースのパターンを含むマネージド インスタンス グループを設定する必要があります。まず、各リージョンで作成される VM の構成を定義するインスタンス テンプレートを作成します。次に、各リージョンのバックエンドに対して、インスタンス テンプレートを参照するマネージド インスタンス グループを作成します。

マネージド インスタンス グループは、スコープ内のゾーンまたはリージョンに設定できます。このラボ演習では、3 つのリージョン マネージド インスタンス グループ(us-east1、us-west1、us-central1 に 1 つずつ)を作成します。

このセクションでは、インスタンスの作成時に参照される、事前に作成された起動スクリプトを確認できます。この起動スクリプトは、ウェブ アプリケーションのシミュレーションに使用するウェブサーバー機能をインストールして有効にします。こちらのスクリプトをご参照ください。

東、西、中央のインスタンス テンプレートを作成する

最初のステップは、us-east-1 インスタンス テンプレートを作成することです。

Cloud Shell から

gcloud compute instance-templates create us-east1-template \
   --region=us-east1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template].
NAME: us-east1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00

次のステップでは、us-west-1 インスタンス テンプレートを作成します。

Cloud Shell から

gcloud compute instance-templates create us-west1-template \
   --region=us-west1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template].
NAME: us-west1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00

次のステップでは、us-central-1 インスタンス テンプレートを作成します。

Cloud Shell から

gcloud compute instance-templates create us-central1-template \
   --region=us-central1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --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'

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template].
NAME: us-central1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00

次の gcloud コマンドを使用して、インスタンス テンプレートが正常に作成されたことを確認できます。

Cloud Shell から

gcloud compute instance-templates list

出力

NAME                  MACHINE_TYPE   PREEMPTIBLE  CREATION_TIMESTAMP
us-central1-template   n1-standard-1         2021-11-09T09:25:37.263-08:00
us-east1-template      n1-standard-1         2021-11-09T09:24:35.275-08:00
us-west1-template      n1-standard-1         2021-11-09T09:25:08.016-08:00

東、西、中央のマネージド インスタンス グループを作成する

ここで、先ほど作成したインスタンス テンプレートからマネージド インスタンス グループを作成する必要があります。

Cloud Shell から

gcloud compute instance-groups managed create us-east1-mig \
--base-instance-name=us-east1-mig \
--size=1 \
--template=us-east1-template \
--zone=us-east1-b 

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig].
NAME: us-east1-mig
LOCATION: us-east1-b
SCOPE: zone
BASE_INSTANCE_NAME: us-east1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-east1-template
AUTOSCALED: no

Cloud Shell から

gcloud compute instance-groups managed create us-west1-mig \
--base-instance-name=us-west1-mig \
--size=1 \
--template=us-west1-template \
--zone=us-west1-a  

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig].
NAME: us-west1-mig
LOCATION: us-west1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-west1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-west1-template
AUTOSCALED: no

Cloud Shell から

gcloud compute instance-groups managed create us-central1-mig \
--base-instance-name=us-central1-mig \
--size=1 \
--template=us-central1-template \
--zone=us-central1-a 

出力

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig].
NAME: us-central1-mig
LOCATION: us-central1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-central1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-central1-template
AUTOSCALED: no

次の gcloud コマンドを使用して、インスタンス グループが正常に作成されたことを確認できます。

Cloud Shell から

gcloud compute instance-groups list

出力

NAME                  LOCATION      SCOPE   NETWORK         MANAGED INSTANCES
us-central1-mig       us-central1   zone    httplbs          Yes      1
us-west1-mig          us-west1      zone    httplbs          Yes      1
us-east1-mig          us-east1      zone    httplbs          Yes      1

ウェブサーバーの機能を確認する

各インスタンスは、次の内容をレンダリングする単純な PHP スクリプトを使用して Apache ウェブサーバーを実行するように構成されています。

c87ca81d3125ac61.png

ウェブサーバーが正しく機能していることを確認するには、[Compute Engine] -> [VM インスタンス] に移動します。新しいインスタンス(us-east1-mig-xxx など)がインスタンス グループの定義に従って作成されていることを確認します。

次に、ブラウザでウェブ リクエストを送信して、ウェブサーバーが実行されていることを確認します(起動に 1 分ほどかかることがあります)。Compute Engine の [VM インスタンス] ページで、インスタンス グループによって作成されたインスタンスを選択し、その外部(パブリック)IP をクリックします。

または、ブラウザで http://<IP_Address> に移動します。

5. ロードバランサを設定する

ヘルスチェックの作成

まず、サービスが正常に稼働していることを確認するための基本的なヘルスチェックを作成する必要があります。ここでは基本的なヘルスチェックを作成しますが、より高度なカスタマイズも可能です。

Cloud Shell から

gcloud compute health-checks create http http-basic-check \
    --port 80

外部 IP アドレスを予約する

このステップでは、後でロードバランサに接続されるグローバルに利用可能な静的 IP アドレスを予約する必要があります。

Cloud Shell から

gcloud compute addresses create lb-ipv4-2 \
    --ip-version=IPV4 \
    --global

予約した IP アドレスをメモしておきます。

gcloud compute addresses describe lb-ipv4-2 \
    --format="get(address)" \
    --global

バックエンド サービスを作成する

次に、前に作成したマネージド インスタンス グループごとにバックエンド サービスを作成する必要があります。東部、西部、中部で 1 つずつ。

東リージョンのマネージド インスタンス グループのバックエンド サービスを作成する。

Cloud Shell から

gcloud compute backend-services create east-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

West マネージド インスタンス グループのバックエンド サービスを作成します。

Cloud Shell から

gcloud compute backend-services create west-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Central マネージド インスタンス グループのバックエンド サービスを作成します。

Cloud Shell から

gcloud compute backend-services create central-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

バックエンド サービスに MIG を追加する

各アプリケーション クラスタのバックエンド サービスを作成したので、先ほど作成したマネージド インスタンス グループを各バックエンド サービスに追加する必要があります。

バックエンド サービスに East MIG を追加します。

Cloud Shell から

gcloud compute backend-services add-backend east-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-east1-mig \
    --instance-group-zone=us-east1-b \
    --global

バックエンド サービスに West MIG を追加します。

Cloud Shell から

gcloud compute backend-services add-backend west-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-west1-mig \
    --instance-group-zone=us-west1-a \
    --global

バックエンド サービスに中央 MIG を追加します。

Cloud Shell から

gcloud compute backend-services add-backend central-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-central1-mig \
    --instance-group-zone=us-central1-a \
    --global

URL マップを作成する

このラボの高度なトラフィック管理機能は、URL マップに存在します。構成を含む .yaml ファイルを作成する必要があります。.yaml ファイル内で /roundrobbin のプレフィックス一致を作成したため、/roundrobbin に一致するトラフィックのみがこれらの構成の影響を受けます。トラフィックの 50% が east-backend-service に、トラフィックの 50% が west-backend-service に送信されるように指定しました。また、すべてのレスポンスにレスポンス ヘッダー値 {test} を追加しました。最後に、すべてのトラフィックを central-backend-service にミラーリングするように追加しました。トラフィックは複製され、テストのみを目的としてここに送信されます。

この例を .yaml ファイルとしてマシンに保存します。

defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
kind: compute #urlMap
name: web-map-http
hostRules:
- hosts:
  - '*'
  pathMatcher: matcher1
pathMatchers:
- defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
  name: matcher1
  routeRules:
  - matchRules:
    - prefixMatch: /roundrobbin
    priority: 2
    headerAction:
        responseHeadersToAdd:
          - headerName: test
            headerValue: value
            replace: True
    routeAction:
        weightedBackendServices:
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
          weight: 50
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service
          weight: 50
        retryPolicy:
            retryConditions: ['502', '504']
            numRetries: 3
            perTryTimeout:
                seconds: 1
                nanos: 50
        requestMirrorPolicy:
          backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service

マシンからドキュメントをインポートして、URL マップを作成します。ソースパスは、.yaml ファイルの保存場所によって異なります。

Cloud Shell から

gcloud compute url-maps import web-map-http \
   --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \
   --global

HTTP フロントエンドを作成する

ロードバランサの作成の最後のステップは、フロントエンドの作成です。これにより、前に予約した IP アドレスが、作成したロードバランサの URL マップにマッピングされます。

Cloud Shell から

gcloud compute target-http-proxies create http-lb-proxy-adv \
    --url-map=web-map-http

次に、前に予約した IP アドレスを HTTP プロキシにマッピングするグローバル転送ルールを作成する必要があります。

Cloud Shell から

gcloud compute forwarding-rules create http-content-rule \
    --load-balancing-scheme EXTERNAL_MANAGED \
    --address=lb-ipv4-2 \
    --global \
    --target-http-proxy=http-lb-proxy-adv \
    --ports=80

6. 高度なトラフィック機能が動作していることを確認する

実装されたトラフィック分割機能が機能していることを確認するには、負荷を生成する必要があります。これを行うには、負荷をシミュレートする新しい VM を作成します。

SSH を許可するファイアウォール ルールを作成する

トラフィックを生成する VM に SSH 接続するには、まず、VM への SSH トラフィックを許可するファイアウォール ルールを作成する必要があります。

Cloud Shell から

gcloud compute firewall-rules create fw-allow-ssh \
    --network=httplbs \
    --action=allow \
    --direction=ingress \
    --target-tags=allow-ssh \
    --rules=tcp:22

出力

NAME          NETWORK  DIRECTION  PRIORITY  ALLOW   DENY  DISABLED
fw-allow-ssh  httplbs  INGRESS    1000      tcp:22        False

Siege-vm を作成する

次に、負荷の生成に使用する siege-vm を作成します。

Cloud Shell から

gcloud compute instances create siege-vm \
    --network=httplbs \
    --zone=us-east4-c \
    --machine-type=e2-medium \
    --tags=allow-ssh,http-server \
    --metadata=startup-script='sudo apt-get -y install siege'

出力

NAME     ZONE        MACHINE_TYPE INTERNAL_IP  EXTERNAL_IP    STATUS
siege-vm us-east4-c  e2-medium    10.150.0.3   34.85.218.119  RUNNING

次に、作成した VM に SSH 接続できます。作成したら、[SSH] をクリックしてターミナルを起動し、接続します。

接続したら、次のコマンドを実行して負荷を生成します。外部 HTTP ロードバランサ用に先ほど予約した IP アドレスを使用します。

Cloud Shell から

siege -c 250 http://[$lb-ipv4-2]/roundrobbin

出力

New configuration template added to /home/cloudcurriculumdeveloper/.siege
Run siege -C to view the current settings in that file
[alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...

負荷分散を確認する

Siege が実行されているので、トラフィックが東と西のマネージド インスタンス グループに均等に分散されていることを確認します。また、トラフィック ミラーリングが機能し、トラフィックが中央のマネージド インスタンス グループに送信されていることも確認できます。

Cloud コンソールのナビゲーション メニューで、[ネットワーク サービス] > [ロード バランシング] をクリックします。ロードバランサ web-map-http を選択します。[モニタリング] タブに移動すると、次のグラフが表示されます。

f4d6803db44be253.png

この MIG へのトラフィック分割をリアルタイムで確認できます。50/50 のラウンドロビン分割を構成したため、トラフィックは均等に分割されます。

作成したトラフィック ミラーリング ポリシーが機能していることを確認するには、central-backend-service マネージド インスタンス グループの使用率を確認する必要があります。これを行うには、[コンピューティング]、[Compute Engine]、[インスタンス グループ] に移動して、us-central1-mig を選択します。次に、[モニタリング] タブに移動します。

cf25e44d511529e7.png

グラフにデータが入力され、トラフィックがこのマネージド インスタンス グループにミラーリングされたことが示されます。

Stop the Siege

高度なトラフィック分割が機能していることを確認したので、siege を停止します。これを行うには、siege-vm の SSH ターミナルに戻り、Ctrl+C キーを押して実行中の siege を停止します。

送信されるレスポンス ヘッダーを検証する

クリーンアップする前に、適切なレスポンス ヘッダーが HTTP ロードバランサから送信されていることを簡単に検証できます。コンテンツ値を含むヘッダー テストを送信するように構成していました。Cloud Shell から curl コマンドを実行すると、想定どおりのレスポンスが返されます。

Cloud Shell から

curl -svo /dev/null http://lb-ipv4-2/roundrobbin

出力

*   Trying lb-ipv4-2..
* TCP_NODELAY set
* Connected to  lb-ipv4-2 ( lb-ipv4-2) port 80 (#0)
> GET /roundrobbin HTTP/1.1
> Host:  lb-ipv4-2
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< date: Wed, 10 Nov 2021 17:05:27 GMT
< server: envoy
< Content-Length: 273
< content-type: text/html; charset=iso-8859-1
< via: 1.1 google
< test: value
<
{ [273 bytes data]
* Connection #0 to host 34.149.2.26 left intact
* Closing connection 0

7. ラボのクリーンアップ

ラボ環境が完了したので、削除します。次のコマンドを実行して、テスト環境を削除してください。

Cloud Shell から

gcloud compute instances delete siege-vm --zone=us-east4-c

gcloud compute forwarding-rules delete http-content-rule --global
gcloud compute target-http-proxies delete http-lb-proxy-adv
gcloud compute url-maps delete web-map-http
gcloud compute backend-services delete east-backend-service --global
gcloud compute backend-services delete west-backend-service --global
gcloud compute backend-services delete central-backend-service --global

gcloud compute addresses delete lb-ipv4-2 --global
gcloud compute health-checks delete http-basic-check 

gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b
gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a
gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a

gcloud compute instance-templates delete "us-east1-template" 
gcloud compute instance-templates delete "us-west1-template" 
gcloud compute instance-templates delete "us-central1-template" 

gcloud compute firewall-rules delete httplb-allow-http-rule
gcloud compute firewall-rules delete fw-allow-ssh

gcloud compute networks delete httplbs 

8. 完了

高度なトラフィック管理(Envoy)を使用した外部 HTTPs ロードバランサの Codelab を完了しました。

学習した内容

  • マネージド インスタンス グループと関連する VPC ルールとファイアウォール ルールを設定する方法
  • 新しいロードバランサの高度なトラフィック管理機能の使用方法
  • 高度なトラフィック管理機能が意図したとおりに動作していることを検証する方法。

次のステップ

  • URL の書き換え、CORS ヘッダーの追加など、他の高度なルーティング機能をお試しください(リンク)。