ファイアウォール ポリシーのアドレス グループを構成する


このチュートリアルでは、ネットワーク内のファイアウォール ポリシーのアドレス グループを作成して構成する方法について説明します。ここでは、サブネットを持つ Virtual Private Cloud(VPC)ネットワークを作成し、プロジェクト スコープのアドレス グループを作成します。さらに、アドレス グループとファイアウォール ルールを使用するファイアウォール ポリシーを設定して、ファイアウォールルールをテストします。詳細については、ファイアウォール ポリシーのアドレス グループをご覧ください。

目標

このチュートリアルでは、次のタスクを行う方法を説明します。

  • サブネットを持つ 2 つのカスタム VPC ネットワークを作成します。
  • 3 つの仮想マシン(VM)インスタンスを作成します。1 つの VPC ネットワークの別々のサブネットに 2 つのコンシューマー VM を作成し、2 番目の VPC ネットワークにプロデューサー VM を作成します。すべての VM は外部 IP アドレスなしで作成されます。
  • Apache サーバーをサーバー VM にインストールします。
  • VPC ネットワーク ピアリングを作成します。
  • Cloud Router と Cloud NAT ゲートウェイを作成して、プロデューサー VM が公共のインターネットにアクセスできるようにします。
  • プロジェクト スコープのアドレス グループを作成します。
  • 次のルールを使用してグローバル ネットワーク ファイアウォール ポリシーを作成します。
    • VM との Identity-Aware Proxy(IAP)の SSH 接続を許可します。
    • プロジェクト スコープのアドレス グループを使用して、許可されたコンシューマー VM からプロデューサー VM へのトラフィックを許可します。
  • 接続をテストします。

次の図は、2 つのカスタム VPC ネットワーク内の us-central1 リージョンのプロデューサー VM とコンシューマー VM 間のトラフィックを示しています。グローバル ネットワーク ファイアウォール ポリシーは、プロジェクト スコープのアドレス グループ ルールを使用して、vm-consumer-allowed VM と vm-producer VM 間の上り(内向き)トラフィックを許可します。すべての VM には、すべてのトラフィックを拒否する暗黙的な上り(内向き)ファイアウォール ルールがあるため、vm-consumer-blocked VM と vm-producer VM 間のトラフィックは拒否されます。

サブネットから別の VPC ネットワーク内のターゲット VM への上り(内向き)トラフィックを許可するグローバル ネットワーク ファイアウォール ポリシー。
サブネットから別の VPC ネットワーク内のターゲット 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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. プロジェクトで Compute Engine API を有効にします。
  7. Compute ネットワーク管理者のロールroles/compute.networkAdmin)があることを確認します。
  8. プロジェクトで Identity-Aware Proxy API を有効にします。
  9. コマンドラインから作業する場合は、Google Cloud CLI をインストールします。ツールのコンセプトとインストールについては、gcloud CLI の概要をご覧ください。

    注: Google Cloud CLI を初めて実行する場合は、gcloud init コマンドを実行して gcloud CLI ディレクトリを初期化します。

サブネットを持つコンシューマー VPC ネットワークを作成する

このセクションでは、2 つの IPv4 サブネット(subnet-consumer-allowedsubnet-consumer-blocked)を持つコンシューマー VPC ネットワークを作成します。

コンソール

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

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

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

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

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

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

    • 名前: subnet-consumer-allowed
    • リージョン: us-central1
    • IPv4 範囲: 192.168.10.0/29
  6. [完了] をクリックします。

  7. [サブネットを追加] をクリックし、次の構成パラメータを指定します。

    • 名前: subnet-consumer-blocked
    • リージョン: us-central1
    • IPv4 範囲: 192.168.20.0/29
  8. [完了] をクリックします。

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

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. VPC ネットワークを作成するには、次のコマンドを実行します。

    gcloud compute networks create vpc-consumer \
      --subnet-mode=custom
    
  3. [Cloud Shell の承認] ダイアログで、[承認] をクリックします。

  4. サブネットを作成するには、次のコマンドを実行します。

    gcloud compute networks subnets create subnet-consumer-allowed \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.10.0/29
    
  5. 別のサブネットを作成するには、次のコマンドを実行します。

    gcloud compute networks subnets create subnet-consumer-blocked \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.20.0/29
    

サブネットを持つプロデューサー VPC ネットワークを作成する

このセクションでは、IPv4 サブネットを持つプロデューサー VPC ネットワークを作成します。

コンソール

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

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

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

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

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

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

    • 名前: subnet-vpc-producer
    • リージョン: us-central1
    • IPv4 範囲: 172.16.10.0/29
  6. [完了] をクリックします。

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

gcloud

  1. VPC ネットワークを作成するには、次のコマンドを実行します。

    gcloud compute networks create vpc-producer \
      --subnet-mode=custom
    
  2. サブネットを作成するには、次のコマンドを実行します。

    gcloud compute networks subnets create subnet-vpc-producer \
      --network=vpc-producer \
      --region=us-central1 \
      --range=172.16.10.0/29
    

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

vm-producer VM が公共のインターネットにアクセスできるように、Cloud Router と Cloud NAT ゲートウェイを作成します。

コンソール

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

    [Cloud NAT] に移動

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

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

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

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

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

gcloud

  1. Cloud Router を作成するには、次のコマンドを実行します。

    gcloud compute routers create router-addressgrp \
      --network=vpc-producer \
      --region=us-central1
    
  2. Cloud NAT ゲートウェイを作成するには、次のコマンドを実行します。

    gcloud compute routers nats create nat-gateway-addressgrp \
      --router=router-addressgrp \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

VM を作成する

前のセクションで作成した VPC ネットワークの各サブネットに、外部 IP アドレスのない VM を作成します。

コンシューマーが許可した VPC ネットワークに VM を作成する

subnet-consumer-allowed サブネットに VM を作成します。

コンソール

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

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

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

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

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

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

    • ネットワーク: vpc-consumer
    • サブネットワーク: subnet-consumer-allowed IPv4 (192.168.10.0/29)
    • 外部 IPv4 アドレス: なし
  6. [完了] をクリックします。

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

gcloud

gcloud compute instances create vm-consumer-allowed \
     --network=vpc-consumer \
     --zone=us-central1-a \
     --stack-type=IPV4_ONLY \
     --no-address \
     --subnet=subnet-consumer-allowed

コンシューマーがブロックした VPC ネットワークに VM を作成する

このセクションでは、subnet-consumer-blocked サブネットに VM を作成します。

コンソール

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

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

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

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

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

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

    • ネットワーク: vpc-consumer
    • サブネットワーク: subnet-consumer-blocked IPv4 (192.168.20.0/29)
    • 外部 IPv4 アドレス: なし
  6. [完了] をクリックします。

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

gcloud

gcloud compute instances create vm-consumer-blocked \
    --network=vpc-consumer \
    --zone=us-central1-a \
    --stack-type=IPV4_ONLY \
    --no-address \
    --subnet=subnet-consumer-blocked

プロデューサー VPC ネットワークに VM を作成する

サブネット subnet-vpc-producer に VM を作成し、Apache サーバーをインストールします。

コンソール

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

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

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

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

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

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

    • ネットワーク: vpc-producer
    • サブネットワーク: subnet-vpc-producer IPv4 (172.16.10.0/29)
  6. [完了] をクリックします。

  7. [管理] セクションを開きます。

  8. [自動化] セクションの [起動スクリプト] フィールドに、次のスクリプトを入力します。

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      # Read VM network configuration:
      md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
      vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
      filter="{print \$NF}"
      vm_network="$(curl $md_vm/network-interfaces/0/network \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      vm_zone="$(curl $md_vm/zone \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      # Apache configuration:
      echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
      tee /var/www/html/index.html
      systemctl restart apache2
    

    上記のスクリプトは、この VM に Apache ウェブサーバーをデプロイして起動します。

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

gcloud

プロデューサー VM を作成するには、次のコマンドを実行します。

  gcloud compute instances create vm-producer \
      --network=vpc-producer \
      --zone=us-central1-a \
      --stack-type=IPV4_ONLY \
      --no-address \
      --subnet=subnet-vpc-producer \
      --image-project=debian-cloud \
      --image-family=debian-10 \
      --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        # Read VM network configuration:
        md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
        vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
        filter="{print \$NF}"
        vm_network="$(curl $md_vm/network-interfaces/0/network \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        vm_zone="$(curl $md_vm/zone \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        # Apache configuration:
        echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
        tee /var/www/html/index.html
        systemctl restart apache2'

VPC ネットワーク ピアリング接続を作成する

同じプロジェクト内の vpc-consumervpc-producer VPC ネットワークを非公開で接続するには、VPC ネットワーク ピアリングを使用します。VPC ネットワーク ピアリングを使用すると、VPC ネットワークが同じプロジェクトまたは組織に属しているかどうかにかかわらず、2 つの VPC ネットワーク間で内部 IP アドレス接続を使用できます。

vpc-consumervpc-producer とピアリングする

VPC ネットワーク ピアリングを正常に確立するには、vpc-consumer ネットワークと vpc-producer ネットワークのピアリング関係を個別に構成する必要があります。

コンソール

vpc-consumer ネットワークと vpc-producer ネットワークの間に VPC ネットワーク ピアリングを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] に移動

  2. [接続を作成] をクリックします。

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

  4. [名前] フィールドに「peering-cp」と入力します。

  5. [VPC ネットワーク] で [vpc-consumer] を選択します。

  6. [VPC ネットワークの名前] で [vpc-producer] を選択します。

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

gcloud

vpc-consumervpc-producer の間に VPC ネットワーク ピアリングを作成するには、次のコマンドを実行します。

gcloud compute networks peerings create peering-cp \
    --network=vpc-consumer \
    --peer-network=vpc-producer \
    --stack-type=IPV4_ONLY

vpc-producer ネットワークを vpc-consumer ネットワークとピアリングする

コンソール

vpc-producervpc-consumer の間に VPC ネットワーク ピアリングを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] に移動

  2. [接続を作成] をクリックします。

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

  4. [名前] フィールドに「peering-pc」と入力します。

  5. [VPC ネットワーク] で [vpc-producer] を選択します。

  6. [VPC ネットワークの名前] で [vpc-consumer] を選択します。

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

gcloud

vpc-producervpc-consumer の間に VPC ネットワーク ピアリングを作成するには、次のコマンドを実行します。

gcloud compute networks peerings create peering-pc \
    --network=vpc-producer \
    --peer-network=vpc-consumer \
    --stack-type=IPV4_ONLY

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

IAP を有効にするには、グローバル ネットワーク ファイアウォール ポリシーを作成し、ファイアウォール ルールを追加します。IAP により、VM インスタンスに対する管理者権限が付与されます。

ファイアウォール ルールには次の特徴があります。

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

コンソール

次の手順で、IAP が vpc-consumer ネットワークと vpc-producer ネットワーク内のすべての VM インスタンスにアクセスできるようにします。

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

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

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

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

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

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

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

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

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

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

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

gcloud

IAP が vpc-producer ネットワーク内の VM インスタンスにアクセスできるようにするには、次のコマンドを実行します。

  1. ファイアウォール ポリシーを作成するには、次のコマンドを実行します。

    gcloud compute network-firewall-policies create fw-policy-addressgrp \
        --global
    
  2. すべての宛先へのトラフィックを許可し、ログを有効にするファイアウォール ルールを作成するには、次のコマンドを実行します。

    gcloud compute network-firewall-policies rules create 100 \
        --firewall-policy=fw-policy-addressgrp \
        --direction=INGRESS \
        --action=ALLOW \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 \
        --global-firewall-policy
    
  3. ファイアウォール ポリシーをプロデューサー VPC ネットワークに関連付けるには、次のコマンドを実行します。

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-producer \
        --name=pol-association-vpc-producer \
        --global-firewall-policy
    
  4. ファイアウォール ポリシーをコンシューマー VPC ネットワークに関連付けるには、次のコマンドを実行します。

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-consumer \
        --name=pol-association-vpc-consumer \
        --global-firewall-policy
    

プロジェクト スコープのアドレス グループを作成する

vpc-consumer VPC ネットワークの subnet-consumer-allowed サブネットに割り当てられた IP アドレスを使用する、プロジェクト スコープのアドレス グループを作成します。

プロジェクト スコープのアドレス グループの詳細については、ファイアウォール ポリシーでアドレス グループを使用するをご覧ください。

コンソール

  1. Google Cloud コンソールで、[アドレス グループ] ページに移動します。

    [アドレス グループ] に移動

  2. [アドレス グループを作成] をクリックします。

  3. [名前] フィールドに「address-group-pc」と入力します。

  4. [スコープ] で [グローバル] を選択します。

  5. [タイプ] で [IPv4] を選択します。

  6. [容量] フィールドに「1000」と入力します。

  7. [IP アドレス] フィールドに「192.168.10.0/29」と入力します。

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

gcloud

  1. Cloud Shell ターミナルを初めて使用する場合は、Google Cloud コンソールで「Cloud Shell をアクティブにするalt='' をクリックします。

  2. アドレス グループを作成するには、次のコマンドを実行します。

    gcloud network-security address-groups create address-group-pc \
        --type IPv4 \
        --capacity 1000 \
        --location global
    
  3. [Cloud Shell の承認] ダイアログで、[承認] をクリックします。

  4. アイテムをアドレス グループに追加するには、次のコマンドを実行します。

    gcloud network-security address-groups add-items address-group-pc \
        --items 192.168.10.0/29 \
        --location global
    

    IP 範囲 192.168.10.0/29 は、vpc-consumer VPC ネットワークの subnet-consumer-allowed サブネットに割り当てられます。

アドレス グループへのトラフィックを許可するファイアウォール ルールを追加する

vm-consumer-allowed VM からの上り(内向き)接続を許可するには、プロジェクト スコープのアドレス グループ address-group-pc を送信元 IP アドレスとして追加するファイアウォール ルールを作成します。

コンソール

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

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

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

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

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

  5. [トラフィックの方向] で [上り(内向き)] をオンにします。

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

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

  8. [ターゲット] セクションの [ターゲット タイプ] で、[ネットワーク上のすべてのインスタンス] を選択します。

  9. [送信元] セクションの [アドレス グループ] で、[address-group-pc (PROJECT_ID)] を選択して [OK] をクリックします。

    address-group-pc IP アドレス グループには、コンシューマー VPC ネットワークのサブネット subnet-consumer-allowed に割り当てられた 192.168.10.0/29 の IP 範囲が含まれます。

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

gcloud

ファイアウォール ポリシーを更新するには、次のコマンドを実行します。

gcloud compute network-firewall-policies rules create 150 \
    --firewall-policy=fw-policy-addressgrp \
    --direction=INGRESS \
    --action=ALLOW \
    --src-address-groups=projects/PROJECT_ID/locations/global/addressGroups/address-group-pc \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

接続をテストする

vm-consumer-allowed VM から vm-producer VM への接続と、vm-consumer-blocked VM から vm-producer VM への接続をテストします。

vm-consumer-allowed VM から vm-producer VM へのトラフィックをテストする

コンソール

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

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

  2. vm-producer VM の [内部 IP] 列から、VM の内部 IP アドレスをコピーします。

  3. vm-consumer-allowed VM の [接続] 列で [SSH] をクリックします。

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

  5. 接続を確認するには、次のコマンドを実行します。

    curl INTERNAL_IP -m 2
    

    INTERNAL_IP は、vm-producer VM の IP アドレスに置き換えます。

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

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  6. [ブラウザでの SSH] ダイアログを閉じます。

gcloud

  1. vm-producer VM の内部 IP アドレスを表示するには、次のコマンドを実行します。

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    プロンプトが表示されたら、n キーを押して確定し、Enter キーを押します。vm-producer VM の内部 IP アドレスをメモしてください。

  2. SSH を使用して vm-consumer-allowed VM に接続するには、次のコマンドを実行します。

    gcloud compute ssh vm-consumer-allowed \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. 接続を確認するには、次のコマンドを実行します。

    curl INTERNAL_IP -m 2
    

    INTERNAL_IP は、vm-producer VM の内部 IP アドレスに置き換えます。

    想定されるレスポンス メッセージは次のとおりです。

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  4. SSH 接続を終了するには、「exit」と入力します。

vm-consumer-blocked VM から vm-producer VM へのトラフィックをテストする

コンソール

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

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

  2. vm-producer VM の [内部 IP] 列から、VM の内部 IP アドレスをコピーします。

  3. vm-consumer-blocked VM の [接続] 列で [SSH] をクリックします。

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

  5. 接続を確認するには、次のコマンドを実行します。

    curl INTERNAL_IP -m 2
    

    INTERNAL_IP は、vm-producer VM の IP アドレスに置き換えます。

    どの VM にも、すべてのトラフィックを拒否する暗黙的な上り(内向き)ファイアウォール ルールが作成されるため、「Connection timed out」というメッセージが返されるのは想定の動作です。トラフィックを許可するには、ファイアウォール ポリシーに上り(内向き)ルールを追加します。

  6. [ブラウザでの SSH] ダイアログを閉じます。

gcloud

  1. vm-producer VM の内部 IP アドレスを表示するには、次のコマンドを実行します。

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    プロンプトが表示されたら、n キーを押して確定し、Enter キーを押します。vm-producer VM の内部 IP アドレスをメモしてください。

  2. SSH を使用して vm-consumer-blocked VM に接続するには、次のコマンドを実行します。

    gcloud compute ssh vm-consumer-blocked \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. 接続を確認するには、次のコマンドを実行します。

    curl INTERNAL_IP -m 2
    

    INTERNAL_IP は、vm-producer VM の内部 IP アドレスに置き換えます。

    どの VM にも、すべてのトラフィックを拒否する暗黙的な上り(内向き)ファイアウォール ルールが作成されるため、「Connection timed out」というメッセージが返されるのは想定の動作です。トラフィックを許可するには、ファイアウォール ポリシーに上り(内向き)ルールを追加します。

  4. SSH 接続を終了するには、「exit」と入力します。

ログを確認する

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

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

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

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

  3. [ヒットカウント] 列で、アドレス グループへのトラフィックを許可するファイアウォール ルールを追加するで作成したルールの数を選択します。[ログ エクスプローラ] ページが開きます。

  4. 上り(内向き)トラフィックに適用されたファイアウォール ルールを確認するには、個々のログを開きます。ルールの詳細、処理、インスタンスの詳細を確認できます。

クリーンアップ

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

このチュートリアルで作成したリソースを削除するには、次の操作を行います。

アドレス グループを削除する

コンソール

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

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

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

  3. [ファイアウォール ルール] セクションで、ファイアウォール ルール 150 のチェックボックスをオンにします。

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

  5. Google Cloud コンソールで、[アドレス グループ] ページに移動します。

    [アドレス グループ] に移動

  6. [アドレス グループ] セクションで、address-group-pc の横にあるチェックボックスをオンにします。

  7. [ 削除] をクリックします。確認のため、もう一度 [削除] をクリックします。

gcloud

  1. address-group-pc IP アドレス グループに関連付けられたファイアウォール ルールを削除するには、次のコマンドを実行します。

    gcloud compute network-firewall-policies rules delete 150 \
        --firewall-policy fw-policy-addressgrp \
        --global-firewall-policy
    
  2. アドレス グループから既存のアイテムを削除するには、次のコマンドを実行します。

    gcloud network-security address-groups remove-items address-group-pc \
        --items 192.168.10.0/29 \
        --location global
    
  3. IP アドレス グループを削除するには、次のコマンドを実行します。

    gcloud network-security address-groups delete address-group-pc \
        --location global
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

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

コンソール

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

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

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

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

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

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

  6. fw-policy-addressgrp の横にある [削除] をクリックします。

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

gcloud

  1. ファイアウォール ポリシーと VPC プロデューサー ネットワークの関連付けを削除します。

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-producer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  2. ファイアウォール ポリシーと VPC コンシューマー ネットワークの関連付けを削除します。

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-consumer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  3. ファイアウォール ポリシーを削除します。

    gcloud compute network-firewall-policies delete fw-policy-addressgrp \
        --global
    

VPC ネットワーク ピアリングを削除する

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] に移動

  2. peering-cppeering-pc のチェックボックスをオンにします。

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

  4. [2 個のピアリングを削除しますか?] ダイアログで、[削除] をクリックします。

gcloud

  1. コンシューマー VPC とプロデューサー VPC の間のピアリングを削除するには、次のコマンドを実行します。

    gcloud compute networks peerings delete peering-cp \
        --network=vpc-consumer
    
  2. プロデューサー VPC とコンシューマー VPC の間のピアリングを削除するには、次のコマンドを実行します。

    gcloud compute networks peerings delete peering-pc \
        --network=vpc-producer
    

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

コンソール

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

    [Cloud Router] に移動

  2. [router-addressgrp] チェックボックスをオンにします。

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

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

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

gcloud

router-addressgrp Cloud Router を削除するには、次のコマンドを実行します。

gcloud compute routers delete router-addressgrp \
    --region=us-central1

プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

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

VM を削除する

コンソール

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

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

  2. vm-consumer-allowed VM、vm-consumer-blocked VM、vm-producer VM のチェックボックスをオンにします。

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

  4. [3 個のインスタンスを削除しますか?] ダイアログで、[削除] をクリックします。

gcloud

  1. すべての VM を削除するには、次のコマンドを実行します。

    gcloud compute instances delete vm-consumer-allowed vm-consumer-blocked vm-producer \
        --zone=us-central1-a
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

コンシューマー VPC ネットワークとそのサブネットを削除する

コンソール

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

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

  2. [名前] 列で [vpc-consumer] をクリックします。

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

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

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

gcloud

  1. vpc-consumer VPC ネットワークのサブネットを削除するには、次のコマンドを実行します。

    gcloud compute networks subnets delete subnet-consumer-allowed subnet-consumer-blocked \
       --region=us-central1
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

  2. 次のコマンドを実行して、vpc-consumer VPC ネットワークを作成します。

    gcloud compute networks delete vpc-consumer
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

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

コンソール

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

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

  2. [名前] 列で [vpc-producer] をクリックします。

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

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

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

gcloud

  1. vpc-producer VPC ネットワークのサブネットを削除するには、次のコマンドを実行します。

    gcloud compute networks subnets delete subnet-vpc-producer \
       --region=us-central1
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

  2. 次のコマンドを実行して、vpc-producer VPC ネットワークを作成します。

    gcloud compute networks delete vpc-producer
    

    プロンプトが表示されたら、Y キーを押して確定し、Enter キーを押します。

次のステップ