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. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Compute Engine and Identity-Aware Proxy (IAP) API を有効にします。

    API を有効にする

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Compute Engine and Identity-Aware Proxy (IAP) API を有効にします。

    API を有効にする

  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 ネットワークを削除すると、そのサブネットも削除されます。

次のステップ