Google Cloud コンソールで、特定の完全修飾ドメイン名(FQDN)への下り(外向き)トラフィックを許可するグローバル ネットワーク ファイアウォール ポリシーを作成して構成する方法について説明します。ファイアウォール ポリシーは、ネットワークから発信される他の下り(外向き)トラフィックをすべてブロックします。このクイックスタートでは、サブネットのある Virtual Private Cloud(VPC)ネットワークを作成し、VPC ネットワークに仮想マシン(VM)インスタンスを作成します。さらに、下り(外向き)ルールを使用するファイアウォール ポリシーを設定して、VM からファイアウォール ポリシーをテストします。
始める前に
- 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.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. - ファイアウォール ポリシーとファイアウォール ポリシー ルールのコンセプトを理解していることを確認します。
- Cloud NGFW の料金について確認します。詳細については、Cloud NGFW の料金をご覧ください。
-
Compute ネットワーク管理者のロール(
roles/compute.networkAdmin) -
Compute インスタンス管理者(v1)のロール (
roles/compute.instanceAdmin.v1) -
Compute セキュリティ管理者のロール (
roles/compute.securityAdmin) -
ログ閲覧者ロール (
roles/logging.viewer) Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。
[VPC ネットワークを作成] をクリックします。
[名前] に「
vpc-fw-policy-egress」と入力します。[サブネット作成モード] で [カスタム] を選択します。
[新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
- 名前: 「
subnet-1」と入力します。 - リージョン: [us-central1] を選択します。
- IPv4 範囲: 「
10.0.0.0/24」と入力します。
- 名前: 「
[完了] をクリックします。
[作成] をクリックします。
Google Cloud コンソールで [インスタンスの作成] ページに移動します。
[マシンの構成] ペインで、次の操作を行います。
- [名前] に「
instance-1-us」と入力します。 - [リージョン] で
us-central1 (Iowa)を選択します。
- [名前] に「
ナビゲーション メニューで、[ネットワーキング] をクリックします。
- [ネットワーク インターフェース] セクションで、
defaultをクリックし、次の構成パラメータを指定します。- ネットワーク:
vpc-fw-policy-egress - サブネットワーク:
subnet-1 IPv4 (10.0.0.0/24) - 外部 IPv4 アドレス: なし
- ネットワーク:
- [完了] をクリックします。
- [ネットワーク インターフェース] セクションで、
[作成] をクリックします。
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
[開始] または [Cloud NAT ゲートウェイを作成] をクリックします。
注: Cloud NAT ゲートウェイを初めて作成する場合は、[開始] をクリックします。既存のゲートウェイがある場合は、 Google Cloudに [Cloud NAT ゲートウェイを作成] ボタンが表示されます。別のゲートウェイを作成するには、[Cloud NAT ゲートウェイを作成] をクリックします。
[ゲートウェイ名] に「
fw-egress-nat-gw」と入力します。[NAT タイプ] で、[パブリック] を選択します。
[Cloud Router の選択] セクションで、次の構成パラメータを指定します。
- ネットワーク: [vpc-fw-policy-egress] を選択します。
- リージョン: [us-central1(アイオワ)] を選択します。
- Cloud Router: [新しいルーターを作成] をクリックします。
- [名前] に「
fw-egress-router」と入力します。 - [作成] をクリックします。
- [名前] に「
[作成] をクリックします。
- IAP TCP 転送を使用してアクセスできるようにするすべての VM に適用する。
- IP アドレス範囲
35.235.240.0/20からの上り(内向き)トラフィックを許可する。この範囲には、IAP が TCP 転送に使用するすべての IP アドレスが含まれています。 - IAP TCP 転送を使用してアクセスするポートへの接続をすべて許可する(SSH の場合はポート
22など)。 Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ファイアウォール ポリシーを作成] をクリックします。
[ポリシーの構成] セクションの [ポリシー名] に「
fw-egress-policy」と入力します。[デプロイのスコープ] で [グローバル] を選択し、[続行] をクリックします。
ポリシーのルールを作成するには、[ルールを追加] セクションで [ルールを追加] をクリックします。
- [優先度] に「
100」と入力します。 - [トラフィックの方向] で [上り(内向き)] をオンにします。
- [一致したときのアクション] で [許可] をオンにします。
- [ログ] で [オン] を選択します。
- [ターゲット] セクションの [ターゲット タイプ] で、[ネットワーク上のすべてのインスタンス] を選択します。
- [送信元] セクションの [IP 範囲] に「
35.235.240.0/20」と入力します。 - [プロトコルとポート] セクションで、[指定したプロトコルとポート] を選択します。
- [TCP] チェックボックスをオンにし、[ポート] に「
22」と入力します。 - [作成] をクリックします。
- [優先度] に「
[続行] をクリックします。
VPC ネットワークをポリシーに関連付けるには、[ポリシーと VPC ネットワークの関連付け] セクションで [関連付け] をクリックします。
[vpc-fw-policy-egress] チェックボックスをオンにして、[関連付け] をクリックします。
[続行] をクリックします。
[作成] をクリックします。
Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。
[ルールを作成] をクリックします。
[優先度] に「
700」と入力します。[トラフィックの方向] に [下り(外向き)] を選択します。
[一致したときのアクション] で [拒否] を選択します。
[ログ] で [オン] を選択します。
[送信先] セクションの [IP 範囲] に「
0.0.0.0/0」と入力します。[作成] をクリックします。
Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。
[ルールを作成] をクリックします。
[優先度] に「
600」と入力します。[トラフィックの方向] に [下り(外向き)] を選択します。
[一致したときのアクション] で [許可] をオンにします。
[ログ] で [オン] を選択します。
[送信先] セクションの [FQDN] に「
ads.google.com」と入力します。[作成] をクリックします。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
instance-1-usVM の [接続] 列で [SSH] をクリックします。ブラウザでの SSH ダイアログで [承認] をクリックし、接続が確立されるのを待ちます。
次のコマンドを実行して、https://ads.google.com への下り(外向き)トラフィックが許可されていることを確認します。
curl -I https://ads.google.com
上記のコマンドは https://ads.google.com のヘッダー情報を返します。これは、下り(外向き)接続が許可されていることを意味します。
他の宛先に対する下り(外向き)トラフィックがブロックされていることを確認するには、任意の FQDN を指定して次のコマンドを実行します。
curl -m 2 -I https://mail.yahoo.com
上記のコマンドは
Connection timed outメッセージを返します。これは、https://ads.google.com を除くすべての宛先への下り(外向き)トラフィックを拒否するファイアウォール ルールを作成したためです。Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。
[ヒットカウント] 列で、グローバル ネットワーク ファイアウォール ポリシーを作成するで作成したルールの数をクリックします。[ログ エクスプローラ] ページが開きます。
下り(外向き)トラフィックに適用されたファイアウォール ルールを確認するには、個々のログを開きます。関連するセクションを開くと、接続、処理、リモート ロケーション、ルールの詳細を表示できます。
Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ネットワーク ファイアウォール ポリシー] セクションで、[fw-egress-policy] をクリックします。
[関連付け] タブをクリックします。
vpc-fw-policy-egressのチェックボックスをオンにして、[関連付けを削除] をクリックします。[ファイアウォール ポリシーの関連付けの削除] ダイアログで、[削除] をクリックします。
[削除] をクリックします。
[ファイアウォール ポリシーの削除] ダイアログで、[削除] をクリックします。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
instance-1-usVM のチェックボックスをオンにします。[削除] をクリックします。
[instance-1-us の削除] ダイアログで、[削除] をクリックします。
Google Cloud コンソールで、[Cloud Router] ページに移動します。
fw-egress-routerのチェックボックスをオンにします。[削除] をクリックします。
[fw-egress-router の削除] ダイアログで [削除] をクリックします。
Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。
[名前] 列で、[vpc-fw-policy-egress] をクリックします。
[VPC ネットワークの削除] をクリックします。
[ネットワークの削除] ダイアログで [削除] をクリックします。
- VPC ファイアウォール ルールを作成、更新、モニタリング、削除するには、VPC ファイアウォール ルールを使用するをご覧ください。
必要なロール
カスタム VPC ネットワーク、VM、Cloud Router、Cloud NAT、グローバル ネットワーク ファイアウォール ポリシーとそのルールを作成し、ログを表示するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
IPv4 サブネットを持つカスタム VPC ネットワークを作成する
IPv4 サブネットを持つカスタムモードの VPC ネットワークを作成します。
VM を作成する
前のセクションで構成したサブネットに VM を作成します。
Cloud Router と Cloud NAT ゲートウェイを作成する
前のセクションでは、外部 IP アドレスのない VM を作成しました。VM が公共のインターネットにアクセスできるようにするには、VM と同じリージョンとサブネットに Cloud Router と Cloud NAT ゲートウェイを作成します。
IAP TCP トンネリングを許可するグローバル ネットワーク ファイアウォール ポリシーを作成する
ネットワーク内の VM で Identity-Aware Proxy トンネリングを許可するには、グローバル ネットワーク ファイアウォール ポリシーを作成し、ポリシーにファイアウォール ルールを追加します。IAP を使用すると、VM に管理者権限でアクセスできます。
次のようなファイアウォール ルールを作成する必要があります。
vpc-fw-policy-egress ネットワーク内のすべての VM に IAP アクセスを許可するには、次の操作を行います。
すべての宛先への下り(外向き)トラフィックを拒否するファイアウォール ルールを追加する
すべての宛先への下り(外向き)トラフィックを拒否するには、fw-egress-policy にファイアウォール ルールを追加します。
特定の FQDN に対してのみ下り(外向き)トラフィックを許可するファイアウォール ルールを追加する
特定の FQDN ads.google.com に対してのみ下り(外向き)トラフィックを許可するには、fw-egress-policy にファイアウォール ルールを追加します。
グローバル ネットワーク ファイアウォール ポリシーをテストする
グローバル ネットワーク ファイアウォール ポリシーを構成したら、次の手順でポリシーをテストします。
ログを確認する
ログにアクセスすることで、ファイアウォール ルールが下り(外向き)トラフィックに適用されたことを確認できます。次の手順でログを確認します。
クリーンアップ
このクイックスタートで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
このクイックスタートで作成したリソースを削除するには、次の操作を行います。
ファイアウォール ポリシーを削除する
VM を削除する
Cloud NAT ゲートウェイと Cloud Router を削除する
Cloud Router を削除すると、関連する Cloud NAT ゲートウェイも削除されます。
VPC ネットワークとそのサブネットを削除する
VPC ネットワークを削除すると、そのサブネットも削除されます。