ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

Google Cloud Armor でアプリケーション ロードバランサを構成する

ラボ 40分 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP215

Google Cloud セルフペース ラボのロゴ

概要

分散型エンタープライズ環境では、レイテンシとセキュリティはしばしば相反する優先事項となります。Google Cloud のグローバル外部アプリケーション ロードバランサは、ユーザー トラフィックを Google エッジ(ポイント オブ プレゼンス)で終端し、Google のプライベート光ファイバー バックボーンを介して、最も健全で最も近いバックエンドにルーティングすることで、この問題に対処します。

これらのバックエンドを保護するために、Google Cloud Armor はエッジでレイヤ 7 フィルタリングと IP 制御を提供します。拒否リストを実装することで、悪意のあるトラフィック(レイヤ 7 フラッドなど)を、Virtual Private Cloud(VPC)に到達する前、またはバックエンドのリソースを消費する前に遮断できます。

このラボでは、グローバルなバックエンドを使ってアプリケーション ロードバランサを構成します。さらに、そのロードバランサに対するストレステストを実施し、Cloud Armor を使ってストレステストの IP アドレスを拒否リストに登録します。

ロード バランシングを示すネットワーク図

目標

このラボでは、次のタスクの実行方法について学びます。

  • マネージド インスタンス グループ(MIG)を使用して、クロスリージョンのフェイルオーバー構成を設計する。
  • Cloud Armor を使用して、エッジレベルのセキュリティ ポリシーを実装する。
  • 同時実行性の高いストレステストで、トラフィックの分散とオーバーフローの仕組みを検証する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

タスク 1. HTTP とヘルスチェックのファイアウォール ルールを構成する

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

ロードバランサはバックエンド インスタンスと通信できる必要があります。このラボでは、ウェブサーバーに Apache を使用しているため、ポート 80 を開く必要があります。

  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [VPC ネットワーク] > [ファイアウォール] に移動します。

  2. [ファイアウォール ルールを作成] をクリックします。

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 default-allow-http
    ネットワーク default
    ターゲット 指定されたターゲットタグ
    ターゲットタグ http-server
    ソースフィルタ IPv4 範囲
    送信元 IPv4 範囲 0.0.0.0/0
    プロトコルとポート 指定したプロトコルとポート → [TCP] のチェックボックスをオンにして「80」と入力

ここでは http-server タグを指定します。この後、VM に http-server タグを適用することで、ネットワークがどのマシンでウェブ トラフィックを受信できるかを正確に把握できるようになります。

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

ヘルスチェックのファイアウォール ルールを作成する

ヘルスチェックでは、ロードバランサのどのインスタンスが新しい接続を受け取れるかを判別します。アプリケーション ロード バランシングでは、ロード バランシング インスタンスへのヘルスチェックのプローブが、範囲 130.211.0.0/2235.191.0.0/16 のアドレスから送信されます。ファイアウォール ルールで、この接続を許可する必要があります。

  1. [ファイアウォール ポリシー] ページで、[ファイアウォール ルールを作成] をクリックします。

  2. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 default-allow-health-check
    ネットワーク default
    ターゲット 指定されたターゲットタグ
    ターゲットタグ http-server
    ソースフィルタ IPv4 範囲
    送信元 IPv4 範囲 130.211.0.0/2235.191.0.0/16
    プロトコルとポート tcp
    注: 2 つの送信元 IPv4 範囲は 1 つずつ入力し、区切りには Space キーを使用します。
  3. [作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 HTTP とヘルスチェックのファイアウォール ルールを構成する

タスク 2. インスタンス テンプレートを構成し、インスタンス グループを作成する

インスタンス テンプレートを定義する

ウェブサーバーの構築方法を定義する必要があります。これらのサーバーは異なるリージョンに配置されるため、ネットワーク インターフェースのスコープが正しく設定されていることを確認する必要があります。

このテンプレートでは、マシンタイプ、ブートディスク イメージ、サブネット、ラベル、その他のインスタンス プロパティを定義します。

  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [インスタンス テンプレート] に移動して、[インスタンス テンプレートを作成] をクリックします。

  2. [名前] に「-template」と入力します。

  3. [ロケーション] で [グローバル] を選択します。

  4. [シリーズ] で [E2] を選択します。

  5. [マシンタイプ] で [e2-micro] を選択します。

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

  7. [ネットワーキング] をクリックします。以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク タグ http-server
  8. [ネットワーク インターフェース] で [default] をクリックします。以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク default
    サブネットワーク default

    [完了] をクリックします。

ネットワーク タグの http-server によって、HTTPヘルスチェックのファイアウォール ルールがこれらのインスタンスに確実に適用されます。

  1. [管理] タブをクリックします。

  2. [メタデータ] で [+ 項目を追加] をクリックし、次の値を指定します。

    キー
    startup-script-url gs://spls/gsp215/gcpnet/httplb/startup.sh

startup-script-url では、インスタンスの開始時に実行されるスクリプトを指定します。このスクリプトが Apache をインストールして、クライアント IP や、VM インスタンスの名前、リージョン、ゾーンを含めるようスタートページを変更します。こちらのスクリプトを参照してください。

  1. [作成] をクリックします。
  2. インスタンス テンプレートの作成が完了するまで待ちます。

リージョン ミラーを作成する

次に、最初のテンプレートを選択して [同様のものを作成] をクリックし、subnet-b 用の別のインスタンス テンプレートを作成します。

  1. [-template] をクリックし、上部の [+ 同様のものを作成] オプションをクリックします。
  2. [名前] に「-template」と入力します。
  3. [ロケーション] で [グローバル] が選択されていることを確認します。
  4. [詳細オプション] をクリックします。
  5. [ネットワーキング] をクリックします。
  6. http-serverネットワーク タグとして追加されていることを確認します。
  7. [ネットワーク インターフェース] の [サブネットワーク] でデフォルト(を選択します。
  8. [完了] をクリックします。
  9. [作成] をクリックします。

マネージド インスタンス グループを作成する

マネージド インスタンス グループを に 1 つ、 に 1 つ作成します。

  1. 引き続き [Compute Engine] で、左側のメニューの [インスタンス グループ] をクリックします。

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

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 -mig(必要に応じて、名前から余分なスペースを削除してください)
    ロケーション マルチゾーン
    リージョン
    インスタンス テンプレート -template
    [自動スケーリング] > [自動スケーリングを構成] > [インスタンスの最小数] 1
    インスタンスの最大数 2
    [自動スケーリング シグナル] > プルダウンをクリック > [シグナルタイプ] CPU 使用率
    CPU 使用率の目標値 80、[完了] をクリック
    初期化期間 45

マネージド インスタンス グループには、負荷の増減に基づいて、マネージド インスタンス グループのインスタンスを自動的に追加または削除できる自動スケーリング機能が備わっています。自動スケーリングによってトラフィックの増加をアプリケーションで適切に処理できるようになり、リソースの必要性が低下した場合には費用を抑えることができます。自動スケーリングのポリシーを定義しておけば、測定された負荷に基づいて自動的にスケーリングが実行されます。

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

同じ手順を繰り返して、2 つ目のインスタンス グループ -mig に作成します。

  1. [インスタンス グループを作成] をクリックします。

  2. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 -mig
    ロケーション マルチゾーン
    リージョン
    インスタンス テンプレート -template
    [自動スケーリング] > [自動スケーリングを構成] > [インスタンスの最小数] 1
    インスタンスの最大数 2
    [自動スケーリング シグナル] > プルダウンをクリック > [シグナルタイプ] CPU 使用率
    CPU 使用率の目標値 80、[完了] をクリック
    初期化期間 45
  3. [作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 インスタンス テンプレートとインスタンス グループを構成する

バックエンドを確認する

両方のリージョンで VM インスタンスが作成されていることを確認し、それらの HTTP サイトにアクセスします。

  1. 引き続き [Compute Engine] で、左側のメニューの [VM インスタンス] をクリックします。

  2. 名前が「-mig」で始まるインスタンスと「-mig」で始まるインスタンスが存在します。

    これらのインスタンスはマネージド インスタンス グループに含まれています。

  3. -mig のインスタンスの [外部 IP] をクリックします。

    [クライアント IP](自分の IP アドレス)、[ホスト名](-mig で始まるもの)、[サーバーのロケーション]( のゾーン)が表示されるはずです。

  4. -mig のインスタンスの [外部 IP] をクリックします。

    [クライアント IP](自分の IP アドレス)、[ホスト名](-mig で始まるもの)、[サーバーのロケーション]( のゾーン)が表示されるはずです。

注: [ホスト名] と [サーバーのロケーション] から、アプリケーション ロードバランサのトラフィックの送信先がわかります。

タスク 3. アプリケーション ロードバランサを構成する

以下のネットワーク図に示されるように、アプリケーション ロードバランサを構成して、2 つのバックエンド(-mig-mig)間でトラフィックを分散します。

ロード バランシングを示すネットワーク図

構成を開始する

  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [すべてのプロダクトを表示] > [ネットワーキング] > [ネットワーク サービス] > [ロード バランシング] をクリックします。

  2. [+ ロードバランサを作成] をクリックします。

  3. [アプリケーション ロードバランサ(HTTP / HTTPS)] で [次へ] をクリックします。

  4. [インターネット接続または内部] で [インターネット接続(外部)] を選択し、[次へ] をクリックします。

  5. [グローバルまたはシングル リージョンのデプロイ] で [グローバル ワークロードに最適] を選択し、[次へ] をクリックします。

  6. [ロードバランサの世代] で [グローバル外部アプリケーション ロードバランサ] を選択し、[次へ] をクリックします。

  7. [ロードバランサの作成] で [構成] をクリックします。

  8. [ロードバランサの名前] を http-lb に設定します。

フロントエンドを構成する

ホストとパスのルールは、トラフィックの振り分け方法を決定します。たとえば、動画のトラフィックと静的トラフィックをそれぞれ異なるバックエンドに振り分けることができます。ただし、このラボではホストとパスのルールは構成しません。

  1. [フロントエンドの構成] をクリックします。

  2. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    プロトコル HTTP
    IP バージョン IPv4
    IP アドレス エフェメラル
    ポート 80
  3. [完了] をクリックします。

  4. [フロントエンドの IP とポートを追加] をクリックします。

  5. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    プロトコル HTTP
    IP バージョン IPv6
    IP アドレス 自動割り当て
    ポート 80
  6. [完了] をクリックします。

アプリケーション ロード バランシングは、IPv4 アドレスと IPv6 アドレスのクライアント トラフィックに対応しています。クライアントの IPv6 リクエストはグローバル ロード バランシング層で終端され、IPv4 経由でバックエンドにプロキシされます。

バックエンドを構成する

バックエンド サービスは、受信したトラフィックを、接続されている 1 つ以上のバックエンドに振り分けます。各バックエンドは、1 つのインスタンス グループと、処理できる容量に関する追加のメタデータで構成されます。

  1. [バックエンドの構成] をクリックします。

  2. [バックエンド サービスとバックエンド バケット] で、[バックエンド サービスを作成] をクリックします。

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(指定されたオプションを選択)
    名前 http-backend
    インスタンス グループ -mig
    ポート番号 80
    分散モード レート
    最大 RPS 50
    容量 100

この構成は、ロードバランサが -mig の各インスタンスの 1 秒あたりのリクエスト数(RPS)を 50 以下に維持しようとすることを意味します。

  1. [完了] をクリックします。

  2. [バックエンドを追加] をクリックします。

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(指定されたオプションを選択)
    インスタンス グループ -mig
    ポート番号 80
    分散モード 使用率
    バックエンドの最大使用率 80
    容量 100

この構成は、ロードバランサが -mig の各インスタンスの CPU 使用率を 80% 以下に維持しようとすることを意味します。

  1. [完了] をクリックします。

  2. [ヘルスチェック] で [ヘルスチェックを作成] を選択します。

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(指定されたオプションを選択)
    名前 http-health-check
    プロトコル TCP
    ポート 80

ヘルスチェックでは、どのインスタンスが新しい接続を受け付けるかを確認します。この HTTP ヘルスチェックは、5 秒ごとにインスタンスをポーリングし、レスポンスを最大 5 秒間待機して、2 回連続して成功した場合は正常、2 回連続して失敗した場合は異常として処理します。

  1. [作成] をクリックします。
  2. [ロギングを有効にする] チェックボックスをオンにします。
  3. [サンプルレート] を「1」に設定します。
  4. [作成] をクリックすると、バックエンド サービスが作成されます。
  5. [OK] をクリックします。

アプリケーション ロードバランサを確認して作成する

  1. [確認と完了] をクリックします。
  2. [バックエンド] サービスと [フロントエンド] サービスを確認します。
  3. [作成] をクリックします。
  4. ロードバランサの作成が完了するまで待ちます。
  5. ロードバランサの名前(http-lb)をクリックします。
  6. 次のタスクのために、[フロントエンド] セクションに表示されているロードバランサの IPv4 アドレスと IPv6 アドレスをメモしておきます。これ以降は、これらのアドレスをそれぞれ [LB_IP_v4][LB_IP_v6] と呼びます。
注: 16 進数形式のアドレスが IPv6 アドレスです。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーション ロードバランサを構成する

タスク 4. アプリケーション ロードバランサをテストする

バックエンドのためのアプリケーション ロードバランサを作成したので、トラフィックがバックエンド サービスに振り分けられていることを確認します。

アプリケーション ロードバランサにアクセスする

アプリケーション ロードバランサへの IPv4 アクセスをテストするには、ブラウザで新しいタブを開いて http://[LB_IP_v4] に移動します。[LB_IP_v4] はロードバランサの IPv4 アドレスに置き換えてください。

注: アプリケーション ロードバランサへのアクセスには最大で 5 分ほどかかることがあります。その間に 404 エラーまたは 502 エラーが表示される場合があります。いずれかのバックエンドのページが表示されるまで繰り返し試してください。 注: への近さに応じて、トラフィックが -mig インスタンスまたは -mig インスタンスに振り分けられます。

ローカル IPv6 アドレスがある場合は、http://[LB_IP_v6] に移動してアプリケーション ロードバランサの IPv6 アドレスも試してください。[LB_IP_v6] はロードバランサの IPv6 アドレスに置き換えてください。

アプリケーション ロードバランサのストレステストを実施する

新しい VM を作成し、アプリケーション ロードバランサに対する負荷を siege でシミュレートして、負荷が高くなるとトラフィックが両方のバックエンドに分散されることを確認します。

  1. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [VM インスタンス] に移動します。

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

  3. [マシンの構成] を参照します。

    以下の値を選択します。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 siege-vm
    リージョン
    ゾーン
    シリーズ E2

よりも のほうに近いため、負荷が高すぎる場合を除いてトラフィックは -mig のみに振り分けられるはずです。

  1. [作成] をクリックします。
  2. siege-vm インスタンスの作成が完了するまで待ちます。
  3. siege-vm で [SSH] をクリックし、ターミナルを起動して接続します。
  4. 次のコマンドを実行して siege をインストールします。
sudo apt-get -y install siege
  1. 次のコマンドを実行して、アプリケーション ロードバランサの IPv4 アドレスを環境変数に保存します。[LB_IP_v4] はロードバランサの IPv4 アドレスに置き換えてください。
export LB_IP=[LB_IP_v4]
  1. 次のコマンドを実行して負荷をシミュレートします。
siege -c 150 -t120s http://$LB_IP
  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [すべてのプロダクトを表示] > [ネットワーキング] > [ネットワーク サービス] > [ロード バランシング] をクリックします。

  2. [バックエンド] をクリックします。

  3. [http-backend] をクリックします。

  4. [http-lb] に移動します。

  5. [モニタリング] タブをクリックします。

  6. 北アメリカと 2 つのバックエンドの間のフロントエンド ロケーション(受信トラフィック合計)を 2~3 分間モニタリングします。

最初はトラフィックが -mig のみに送られますが、RPS が増加すると にも振り分けられるようになります。

これで、デフォルトではトラフィックが最も近いバックエンドに振り分けられ、負荷が非常に高くなるとバックエンド間で分散されることがわかりました。

  1. siege-vmSSH ターミナルに戻ります。
  2. siege が実行中の場合は Ctrl+C キーを押して停止します。

出力は次のようになります。

New configuration template added to /home/student-02-dd02c94b8808/.siege Run siege -C to view the current settings in that file { "transactions": 24729, "availability": 100.00, "elapsed_time": 119.07, "data_transferred": 3.77, "response_time": 0.66, "transaction_rate": 207.68, "throughput": 0.03, "concurrency": 137.64, "successful_transactions": 24729, "failed_transactions": 0, "longest_transaction": 10.45, "shortest_transaction": 0.03 }

タスク 5. siege-vm を拒否リストに登録する

Cloud Armor を使用して siege-vm を拒否リストに登録し、この VM インスタンスがアプリケーション ロードバランサにアクセスできないようにします。

セキュリティ ポリシーを作成する

Cloud Armor セキュリティ ポリシーを作成し、siege-vm に対する拒否リストルールを設定します。

  1. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [VM インスタンス] に移動します。
  2. siege-vm外部 IP をメモします。以降はこれを [SIEGE_IP] と呼びます。
注: アプリケーション ロードバランサにアクセスしようとしているクライアントの外部 IP アドレスを特定するには、いくつかの方法があります。たとえば、BigQuery の VPC フローログに記録されたトラフィックを調べると、大量の受信リクエストを特定できます。
  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [すべてのプロダクトを表示] > [ネットワーキング] > [ネットワーク セキュリティ] > [Cloud Armor ポリシー] をクリックします。

  2. [+ ポリシーを作成] をクリックします。

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 denylist-siege
    デフォルトのルール アクション 許可
  4. [次のステップ] をクリックします。

  5. [ルールの追加] をクリックします。

  6. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    条件 > 一致 SIEGE_IP を入力
    アクション 拒否
    レスポンス コード 403(アクセス拒否)
    優先度 1000
  7. [ルールの変更を保存] をクリックします。

  8. [次のステップ] をクリックします。

  9. [ターゲットを追加] をクリックします。

  10. [タイプ] で [バックエンド サービス(外部アプリケーション ロードバランサ)] を選択します。

  11. [バックエンド サービス] で [http-backend] を選択し、プロンプトが表示されたら [置き換える] をクリックして確定します。

  12. [ポリシーを作成] をクリックします。

注: デフォルトのルールを [拒否] に設定したうえで、承認されたユーザー(IP アドレス)からのトラフィックのみを許可リストに登録する(許可する)こともできます。
  1. ポリシーの作成が完了するまで待ってから次のステップに進みます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 siege-vm を拒否リストに登録する

セキュリティ ポリシーを確認する

siege-vm がアプリケーション ロードバランサにアクセスできなくなったことを確認します。

  1. siege-vmSSH ターミナルに戻ります。
  2. ロードバランサにアクセスするには次のコマンドを実行します。
curl http://$LB_IP

出力は次のようになります。

<!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>403</title>403 Forbidden 注: セキュリティ ポリシーが有効になるまでに数分かかる場合があります。バックエンドにアクセスできた場合は、403 Forbidden エラーが表示されるまで繰り返し試してください。
  1. ブラウザで新しいタブを開いて http://[LB_IP_v4] に移動します。[LB_IP_v4] はロードバランサの IPv4 アドレスに置き換えてください。
注: デフォルトのルールでトラフィックが許可されているため、ブラウザからはアプリケーション ロードバランサにアクセスできます。siege-vm からアクセスできないのは、先ほど拒否ルールを実装したからです。
  1. siege-vm の SSH ターミナルに戻り、次のコマンドを実行して負荷をシミュレートします。
siege -c 150 -t120s http://$LB_IP

このコマンドでは何も出力されません。

セキュリティ ポリシーのログを調べて、このトラフィックもブロックされているかどうかを確認します。

  1. コンソールで、ナビゲーション メニュー > [ネットワーク セキュリティ] > [Cloud Armor ポリシー] に移動します。
  2. [denylist-siege] をクリックします。
  3. [ログ] をクリックします。
  4. [ポリシーログを表示] をクリックします。
  5. [ロギング] ページで [クエリのプレビュー] のテキストすべてを削除します。[すべてのリソース] プルダウンから [アプリケーション ロードバランサ] > [http-lb-forwarding-rule] > [http-lb] を選択し、[適用] をクリックします。
  6. [クエリを実行] をクリックします。
  7. [クエリ結果] でログエントリを開きます。
  8. [httpRequest] を開きます。

リクエストの送信元が siege-vm の IP アドレスになっているはずです。そうでない場合は、別のログエントリを開きます。

  1. [jsonPayload] を開きます。
  2. [enforcedSecurityPolicy] を開きます。
  3. [configuredAction] が DENY、[name] が denylist-siege になっています。

[クエリ結果] ページ

Cloud Armor セキュリティ ポリシーによって作成されるログを調べると、トラフィックが拒否または許可された日時や、トラフィックの送信元を特定できます。

お疲れさまでした

のバックエンドを使用してアプリケーション ロードバランサを構成しました。次に、VM を使用してロードバランサのストレステストを実施し、Cloud Armor でこの VM の IP アドレスを拒否リストに登録しました。 最後に、セキュリティ ポリシーのログを調べて、トラフィックがブロックされた理由を特定しました。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2026 年 3 月 12 日

ラボの最終テスト日: 2026 年 2 月 25 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。