arrow_back

Google Cloud Armor によるトラフィック拒否リストの構成

ログイン 参加
700 以上のラボとコースにアクセス

Google Cloud Armor によるトラフィック拒否リストの構成

ラボ 1時間 30分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

アプリケーション ロード バランシング(HTTP/HTTPS)は、Google の世界中のポイント オブ プレゼンス(POP)で Google ネットワークのエッジに実装されています。アプリケーション ロードバランサを送信先とするユーザー トラフィックは、ユーザーに最も近い POP に入った後、Google のグローバル ネットワークでロードバランスされて、十分な容量がある最も近いバックエンドに送られます。

Google Cloud Armor の IP の拒否リスト / 許可リストを使用すると、ユーザーや悪意のあるトラフィックにできるだけ近い Google Cloud のエッジで、アプリケーション ロードバランサへのアクセスを制限または許可できます。これにより、悪意のあるユーザーまたはトラフィックがリソースを消費したり、Virtual Private Cloud(VPC)ネットワークに侵入したりすることを防止できます。

このラボでは、グローバルなバックエンドを使用するアプリケーション ロードバランサがデプロイされていることを確認します。このロードバランサは、起動時に自動でプロビジョニングされます。デプロイの確認後、ロードバランサへのアクセスのテスト用 VM を作成します。最後に、ロードバランサのストレステストを行い、Google Cloud Armor を使用してストレステストの IP を拒否リストに追加します。

目標

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

  • アプリケーション ロードバランサがデプロイされていることを確認する。
  • アプリケーション ロードバランサへのアクセスのテスト用 VM を作成する。
  • Google Cloud Armor を使用して IP アドレスを拒否リストに追加し、アプリケーション ロードバランサへのアクセスを制限する。

設定と要件

各ラボでは、新しい 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. アプリケーション ロードバランサがデプロイされていることを確認する

このタスクでは、グローバル アプリケーション ロードバランサがデプロイされていることを確認します。アプリケーション ロードバランサはラボの開始時に自動で作成され、シンプルなウェブ アプリケーションに使用されます。このアプリケーションは Google Cloud Armor の機能のデモを行うためにデプロイされます。

  1. Google Cloud コンソールのタイトルバーで、[Cloud Shell をアクティブにする]()をクリックします。プロンプトが表示されたら、[続行]、[承認] の順にクリックします。

  2. 次のコマンドを実行して、ロードバランサがデプロイおよび登録されていることを確認します。

gcloud compute backend-services get-health web-backend --global 注: このコマンドを再実行し、3 つのインスタンスが「正常」であるというレスポンスが返されるまで待ちます。これはコンソールでモニタリングすることもできます(ナビゲーション メニュー > [すべてのプロダクトを表示] > [ネットワーク サービス] > [ロード バランシング])。
  1. 次のコマンドを実行して、ロードバランサの IP アドレスを取得します。
gcloud compute forwarding-rules describe web-rule --global
  1. IPAddress プロパティの値をコピーします。

この IP アドレスを記録しておいてください。後のセクションでも使用します。

  1. 新しいブラウザタブを開き、IP アドレス http://{IP_ADDRESS} へのアクセスを試行します。

{IP_ADDRESS} は、ロードバランサの IP アドレスに置き換えます。IP アドレスの入力を求められた場合は、中括弧は含めないでください。

IP アドレスが安全な接続をサポートしていないというメッセージが表示された場合は、[サイトへ移動] をクリックします。

次のようなメッセージが表示されるまでページを更新し続けます。

注: アプリケーション ロードバランサにアクセスできるようになるまでに数分かかる場合があります。それまでに 404 エラーまたは 502 エラーが表示される場合があります。いずれかのバックエンドのページが表示されるまで繰り返し試してください。
  1. Cloud Shell で、次の curl コマンドを使用して目的の IP アドレスにアクセスします。
while true; do curl -m1 {IP_ADDRESS}; done

レスポンスは、異なるゾーンに作成されたバックエンドから返されます。

  1. Ctrl+C キーを押して前のコマンドを停止します。

タスク 2. ロードバランサへのアクセスのテスト用 VM の作成

  1. Google Cloud コンソールのナビゲーション メニュー)で、[Compute Engine] > [VM インスタンス] をクリックします。

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

  3. [マシンの構成] ページで、次の値を入力します。

    フィールド (入力または選択)
    名前 access-test
    リージョン
    ゾーン
  4. 他はすべてデフォルトのままで [作成] をクリックします。

  5. 起動したら、[SSH] ボタンをクリックしてインスタンスに接続します。

  6. インスタンスで次のコマンドを実行して、ロードバランサにアクセスします。

curl -m1 {IP_ADDRESS}

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

<!doctype html><html><body><h1>Web server</h1><h2>This server is in zone: projects/104716457480/zones/{{{ project_0.default_zone | ZONE }}}</h2> </body></html>

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ロードバランサへのアクセスのテスト用 VM の作成

タスク 3. Google Cloud Armor でのセキュリティ ポリシーの作成

拒否リストへの access-test VM の追加

注: ここでは、access-test VM からロードバランサへのアクセスを拒否リストに追加するためのセキュリティ ポリシーを作成します。このポリシーを使用して、悪意のあるクライアントからのアクセスをブロックできます。アプリケーション ロードバランサにアクセスしようとしているクライアントの外部 IP アドレスを特定するには、いくつかの方法があります。たとえば、VPC フローログに記録されたトラフィックを BigQuery で調べると、大量の受信リクエストを特定できます。
  1. Google Cloud コンソールのナビゲーション メニュー)で、[Compute Engine] > [VM インスタンス] をクリックします。
  2. access-test VM の外部 IP アドレスを見つけてコピーします。この情報は後のステップで必要になります。
  3. Google Cloud コンソールのナビゲーション メニュー)で、[すべてのプロダクトを表示] > [ネットワーキング] > [ネットワーク セキュリティ] > [Cloud Armor ポリシー] をクリックします。
  4. [ポリシーを作成] をクリックします。
  5. [名前] フィールドに「blocklist-access-test」と入力し、[デフォルトのルール アクション] を [許可] に設定します。
  6. [次のステップ] をクリックします。
  7. [ルールの追加] をクリックします。
  8. 以下の値を設定し、他はすべてデフォルト値のままにします。

プロパティ

モード

基本モード(IP アドレスまたは IP 範囲のみ)

一致

access-test VM の外部 IP を入力

アクション

拒否

レスポンス コード

404(ファイル未検出)

優先度

1000

注: 拒否ステータスを「404」に設定する点に注意してください。
  1. [ルールの変更を保存] をクリックします。
  2. [次のステップ] をクリックします。
  3. [+ ターゲットを追加] をクリックします。
  4. [タイプ 1] で [バックエンド サービス(外部アプリケーション ロードバランサ)] を選択します。
  5. [バックエンド サービス ターゲット 1] で [web-backend] を選択します。
  6. [次のステップ] をクリックします。
  7. [完了] をクリックします。
  8. [ポリシーを作成] をクリックします。
注: デフォルトのルールを [拒否] に設定して、承認されたユーザーまたは IP アドレスからのトラフィックのみを許可することもできます。

ポリシーの作成が完了するまで待ってから次のステップに進みます。

セキュリティ ポリシーの確認

  1. access-test VM の SSH セッションに戻ります。
  2. インスタンスで curl コマンドを再実行してロードバランサにアクセスします。
curl -m1 {IP_ADDRESS}

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

出力:

<!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>404</title>404 Not Found 注: セキュリティ ポリシーが有効になるまでに数分かかる場合があります。バックエンドにアクセスできる場合は、「404 見つかりません」のエラーが表示されるまで繰り返し試してください。
  1. ローカルのブラウザからロードバランサ IP へのアクセスを試行します。拒否リストには access-test VM を追加しただけなので、この IP にはアクセスできるはずです。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Google Cloud Armor でのセキュリティ ポリシーの作成

タスク 4. Google Cloud Armor のログの表示

  1. Google Cloud コンソールのナビゲーション メニュー)で、[すべてのプロダクトを表示] > [ネットワーキング] > [ネットワーク セキュリティ] > [Cloud Armor ポリシー] をクリックします。
  2. [blocklist-access-test] をクリックします。
  3. [ログ] をクリックします。
  4. [ポリシーログを表示] をクリックして最新のログに移動します。プロンプトが表示されたら、通知を閉じます。
  5. 404 のログを見つけたら、そのログエントリを開きます。
  6. [httpRequest] を展開します。
  7. リクエストの送信元は access-test VM の IP アドレスのはずです。
  8. 他のログエントリもいくつか確認してみます。

お疲れさまでした

このラボでは、次の作業を行いました。

  • アプリケーション ロードバランサがデプロイされていることを確認しました。
  • アプリケーション ロードバランサへのアクセスのテスト用 VM を作成しました。
  • Google Cloud Armor を使用して IP アドレスを拒否リストに追加し、アプリケーション ロードバランサへのアクセスを制限しました。

次のラボを受講する

Cloud Armor に関する知識を深めることを検討している方は、次のコースを受講してください。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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