FQDN への下り(外向き)トラフィックを許可するグローバル ネットワーク ファイアウォール ポリシーを構成する

Google Cloud コンソールで、特定の完全修飾ドメイン名(FQDN)への下り(外向き)トラフィックを許可するグローバル ネットワーク ファイアウォール ポリシーを作成し、構成する方法について説明します。ファイアウォール ポリシーは、ネットワークから発信される他の下り(外向き)トラフィックをすべてブロックします。このクイックスタートでは、サブネットのある Virtual Private Cloud(VPC)ネットワークを作成し、VPC ネットワークに仮想マシン(VM)インスタンスを作成します。さらに、下り(外向き)ルールを使用するファイアウォール ポリシーを設定して、VM からファイアウォール ポリシーをテストします。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Compute ネットワーク管理者のロールroles/compute.networkAdmin)があることを確認します。

IPv4 サブネットを持つカスタム VPC ネットワークを作成する

IPv4 サブネットを持つカスタムモードの VPC ネットワークを作成します。

  1. Google Cloud コンソールの [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. [名前] に「vpc-fw-policy-egress」と入力します。

  4. [サブネット作成モード] で [カスタム] を選択します。

  5. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

    • 名前: 「subnet-1」と入力します。
    • リージョン: [us-central1] を選択します。
    • IPv4 範囲: 「10.0.0.0/24」と入力します。
  6. [完了] をクリックします。

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

VM を作成する

前のセクションで構成したサブネットに VM を作成します。

  1. Google Cloud コンソールで、[インスタンスの作成] ページに移動します。

    [インスタンスの作成] に移動

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

  3. [リージョン] で [us-central1 (Iowa)] を選択します。

  4. [詳細オプション] を開き、[ネットワーキング] を開きます。

  5. [ネットワーク インターフェース] セクションで、既存のネットワーク インターフェースを開き、次の構成パラメータを指定します。

    • ネットワーク: [vpc-fw-policy-egress] を選択します。
    • サブネットワーク: [subnet-1 IPv4(10.0.0.0/24)] を選択します。
    • 外部 IPv4 アドレス: [なし] を選択します。
  6. [完了] をクリックします。

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

Cloud Router と Cloud NAT ゲートウェイを作成する

前のセクションでは、外部 IP アドレスのない VM を作成しました。VM が公共のインターネットにアクセスできるようにするには、VM と同じリージョンとサブネットに Cloud Router と Cloud NAT ゲートウェイを作成します。

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. [開始] または [Cloud NAT ゲートウェイを作成] をクリックします。

    注: Cloud NAT ゲートウェイを初めて作成する場合は、[開始] をクリックします。既存のゲートウェイがある場合は、Google Cloud に [Cloud NAT ゲートウェイを作成] ボタンが表示されます。別のゲートウェイを作成するには、[Cloud NAT ゲートウェイを作成] をクリックします。

  3. [ゲートウェイ名] に「fw-egress-nat-gw」と入力します。

  4. [NAT タイプ] で、[パブリック] を選択します。

  5. [Cloud Router の選択] セクションで、次の構成パラメータを指定します。

    • ネットワーク: [vpc-fw-policy-egress] を選択します。
    • リージョン: [us-central1(アイオワ)] を選択します。
    • Cloud Router: [新しいルーターを作成] をクリックします。
      1. [名前] に「fw-egress-router」と入力します。
      2. [作成] をクリックします。
  6. [作成] をクリックします。

グローバル ネットワーク ファイアウォール ポリシーを作成して IAP を有効にする

ネットワーク内の VM で Identity-Aware Proxy を有効にするには、グローバル ネットワーク ファイアウォール ポリシーを作成し、ポリシーにファイアウォール ルールを追加します。IAP を使用すると、VM に管理者権限でアクセスできます。

次のようなファイアウォール ルールを作成する必要があります。

  • IAP TCP 転送を使用してアクセスできるようにするすべての VM に適用する。
  • IP アドレス範囲 35.235.240.0/20 からの上り(内向き)トラフィックを許可する。この範囲には、IAP が TCP 転送に使用するすべての IP アドレスが含まれています。
  • IAP TCP 転送を使用してアクセスするポートへの接続をすべて許可する(SSH の場合はポート 22 など)。

vpc-fw-policy-egress ネットワーク内のすべての VM に IAP アクセスを許可するには、次の操作を行います。

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

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

  3. [ポリシーの構成] セクションの [ポリシー名] に「fw-egress-policy」と入力します。

  4. [デプロイのスコープ] で [グローバル] を選択し、[続行] をクリックします。

  5. ポリシーのルールを作成するには、[ルールを追加] セクションで [ルールを追加] をクリックします。

    1. [優先度] に「100」と入力します。
    2. [トラフィックの方向] で [上り(内向き)] をオンにします。
    3. [一致したときのアクション] で [許可] をオンにします。
    4. [ログ] で [オン] を選択します。
    5. [ターゲット] セクションの [ターゲット タイプ] で、[ネットワーク上のすべてのインスタンス] を選択します。
    6. [送信元] セクションの [IP 範囲] に「35.235.240.0/20」と入力します。
    7. [プロトコルとポート] セクションで、[指定したプロトコルとポート] を選択します。
    8. [TCP] チェックボックスをオンにし、[ポート] に「22」と入力します。
    9. [作成] をクリックします。
  6. [続行] をクリックします。

  7. VPC ネットワークをポリシーに関連付けるには、[ポリシーと VPC ネットワークの関連付け] セクションで [関連付け] をクリックします。

  8. [vpc-fw-policy-egress] チェックボックスをオンにして、[関連付け] をクリックします。

  9. [続行] をクリックします。

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

すべての宛先への下り(外向き)トラフィックを拒否するファイアウォール ルールを追加する

すべての宛先への下り(外向き)トラフィックを拒否するには、fw-egress-policy にファイアウォール ルールを追加します。

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。

  3. [ルールを作成] をクリックします。

  4. [優先度] に「700」と入力します。

  5. [トラフィックの方向] に [下り(外向き)] を選択します。

  6. [一致したときのアクション] で [拒否] を選択します。

  7. [ログ] で [オン] を選択します。

  8. [送信先] セクションの [IP 範囲] に「0.0.0.0/0」と入力します。

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

特定の FQDN に対してのみ下り(外向き)トラフィックを許可するファイアウォール ルールを追加する

特定の FQDN ads.google.com に対してのみ下り(外向き)トラフィックを許可するには、fw-egress-policy にファイアウォール ルールを追加します。

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。

  3. [ルールを作成] をクリックします。

  4. [優先度] に「600」と入力します。

  5. [トラフィックの方向] に [下り(外向き)] を選択します。

  6. [一致したときのアクション] で [許可] をオンにします。

  7. [ログ] で [オン] を選択します。

  8. [送信先] セクションの [FQDN] に「ads.google.com」と入力します。

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

グローバル ネットワーク ファイアウォール ポリシーをテストする

グローバル ネットワーク ファイアウォール ポリシーを構成したら、次の手順でポリシーをテストします。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. instance-1-us VM の [接続] 列で [SSH] をクリックします。

  3. ブラウザでの SSH ダイアログで [承認] をクリックし、接続が確立されるのを待ちます。

  4. 次のコマンドを実行して、https://ads.google.com への下り(外向き)トラフィックが許可されていることを確認します。

      curl -I https://ads.google.com
    

    上記のコマンドは https://ads.google.com のヘッダー情報を返します。これは、下り(外向き)接続が許可されていることを意味します。

  5. 他の宛先に対する下り(外向き)トラフィックがブロックされていることを確認するには、任意の FQDN を指定して次のコマンドを実行します。

      curl -m 2 -I https://mail.yahoo.com
    

    上記のコマンドは Connection timed out メッセージを返します。これは、https://ads.google.com を除くすべての宛先への下り(外向き)トラフィックを拒否するファイアウォール ルールを作成したためです。

ログを確認する

ログにアクセスすることで、ファイアウォール ルールが下り(外向き)トラフィックに適用されたことを確認できます。次の手順でログを確認します。

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。

  3. [ヒットカウント] 列で、グローバル ネットワーク ファイアウォール ポリシーを作成するで作成したルールの数をクリックします。[ログ エクスプローラ] ページが開きます。

  4. 下り(外向き)トラフィックに適用されたファイアウォール ルールを確認するには、個々のログを開きます。関連するセクションを開くと、接続、処理、リモート ロケーション、ルールの詳細を表示できます。

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

このクイックスタートで作成したリソースを削除するには、次の操作を行います。

ファイアウォール ポリシーを削除する

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。

  3. [関連付け] タブをクリックします。

  4. vpc-fw-policy-egress のチェックボックスをオンにして、[関連付けを削除] をクリックします。

  5. [ファイアウォール ポリシーの関連付けの削除] ダイアログで、[削除] をクリックします。

  6. [削除] をクリックします。

  7. [ファイアウォール ポリシーの削除] ダイアログで、[削除] をクリックします。

VM を削除する

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. instance-1-us VM のチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. [instance-1-us の削除] ダイアログで、[削除] をクリックします。

Cloud NAT ゲートウェイと Cloud Router を削除する

  1. Google Cloud コンソールで [Cloud Router] ページに移動します。

    [Cloud Router] に移動

  2. fw-egress-router のチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. [fw-egress-router の削除] ダイアログで [削除] をクリックします。

Cloud Router を削除すると、関連する Cloud NAT ゲートウェイも削除されます。

VPC ネットワークとそのサブネットを削除する

  1. Google Cloud コンソールの [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [名前] 列で、[vpc-fw-policy-egress] をクリックします。

  3. [VPC ネットワークの削除] をクリックします。

  4. [ネットワークの削除] ダイアログで [削除] をクリックします。

VPC ネットワークを削除すると、そのサブネットも削除されます。

次のステップ