このページでは、Google Cloud コンソール、Google Cloud CLI、または Terraform を使用してファイアウォール エンドポイントを構成し、Virtual Private Cloud(VPC)ネットワークに関連付ける方法について説明します。
ゾーンレベルでファイアウォール エンドポイントを作成し、同じゾーン内の 1 つ以上の VPC ネットワークに関連付けます。VPC ネットワークに関連付けられたファイアウォール ポリシーでレイヤ 7 インスペクションが有効になっている場合、一致したトラフィックは透過的にインターセプトされ、ファイアウォール エンドポイントに転送されます。
ジャンボ フレームのサポートの有無にかかわらず、ファイアウォール エンドポイントを作成できます。ファイアウォール エンドポイントでサポートされているパケットサイズについては、サポートされているパケットサイズをご覧ください。
始める前に
ファイアウォール エンドポイントと関連付けを構成する前に、次の操作を行います。
- VPC ネットワークとサブネットがあることを確認します。
- 必要な API を有効にします。
- Google Cloud プロジェクトの Compute Engine API(Compute Engine API)。
- 課金に使用する Google Cloud プロジェクトの Network Security API。
- Google Cloud プロジェクトの Certificate Authority Service API。
gcloudコマンドラインのサンプルを実行する場合は、gcloud CLI をインストールします。
ロールと権限
ファイアウォール エンドポイントの作成に必要な権限を取得するには、組織またはプロジェクトに必要な Identity and Access Management(IAM)ロールを付与するよう管理者に依頼してください。詳細については、アクセスを管理するをご覧ください。
このページに記載されているオペレーションの進行状況を確認するには、ユーザー アカウントに Compute ネットワーク ユーザー(roles/compute.networkUser)ロールが付与されていることを確認します。このロールには次の権限が含まれています。
networksecurity.operations.getnetworksecurity.operations.list
割り当て
ファイアウォール エンドポイントと関連付けの割り当てについては、割り当てと上限をご覧ください。
ファイアウォール エンドポイントを作成する
特定のゾーンにファイアウォール エンドポイントを作成します。
組織レベルのエンドポイント
ファイアウォール エンドポイントは組織レベルで作成できます。これらのエンドポイントは、組織レベルのセキュリティ プロファイル グループのみをサポートします。
コンソール
Google Cloud コンソールで、[ファイアウォール エンドポイント] ページに移動します。
プロジェクト セレクタのメニューで、組織を選択します。
[作成] をクリックします。
[リージョン] リストで、ファイアウォール エンドポイントを作成するリージョンを選択します。
[ゾーン] リストで、ファイアウォール エンドポイントを作成するゾーンを選択します。
必要に応じて、[名前] フィールドに名前を入力します。
[課金プロジェクト] リストで、ファイアウォール エンドポイントの課金に使用する Google Cloud プロジェクトを選択します。
[続行] をクリックします。
エンドポイントでジャンボ フレームをサポートする場合は、[ジャンボ フレームのサポートを有効にする] チェックボックスをオンにします。それ以外の場合は、このチェックボックスをオフにします。
[続行] をクリックします。
ファイアウォール エンドポイントの関連付けを追加する場合は、[エンドポイントの関連付けを追加] をクリックします。それ以外の場合は、この手順をスキップします。
- [プロジェクト] リストで、ファイアウォール エンドポイントの関連付けを作成する Google Cloud プロジェクトを選択します。
- Google Cloud プロジェクトで Compute Engine API または Network Security API が有効になっていない場合は、[有効にする] をクリックします。
- [ネットワーク] リストで、ファイアウォール エンドポイントに関連付けるネットワークを選択します。
- [TLS インスペクション ポリシー] リストで、この関連付けに追加する TLS インスペクション ポリシーを選択します。
- 別の関連付けを追加するには、[エンドポイントの関連付けを追加] をクリックします。
[作成] をクリックします。
gcloud
ファイアウォール エンドポイントを作成するには、gcloud network-security
firewall-endpoints create コマンドを使用します。
gcloud network-security firewall-endpoints create NAME \
--organization ORGANIZATION_ID \
--zone ZONE \
--enable-jumbo-frames \
--billing-project BILLING_PROJECT_ID
次のように置き換えます。
NAME: ファイアウォール エンドポイントの名前。ORGANIZATION_ID: エンドポイントが有効になっている組織。ZONE: エンドポイントがアクティブになっているゾーン。BILLING_PROJECT_ID: ファイアウォール エンドポイントの課金に使用される Google Cloud プロジェクト ID。
サイズが最大 8,500 バイトのジャンボ フレームをサポートするファイアウォール エンドポイントを作成するには、オプションの --enable-jumbo-frames フラグを使用します。このフラグをスキップすると、ジャンボ フレームをサポートしないエンドポイントが作成されます。ファイアウォール エンドポイントでサポートされているパケットサイズについては、サポートされているパケットサイズをご覧ください。
ファイアウォール エンドポイントを VPC ネットワークに関連付けるには、ファイアウォール エンドポイントの関連付けを作成するをご覧ください。
Terraform
google_network_security_firewall_endpoint Terraform リソースを使用します。
resource "google_network_security_firewall_endpoint" "default" {
name = "my-firewall-endpoint"
parent = "organizations/123456789"
location = "us-central1-a"
billing_project_id = "my-project-name"
enable_jumbo_frames = true
}
サイズが最大 8,500 バイトのジャンボ フレームをサポートするファイアウォール エンドポイントを作成するには、enable_jumbo_frames フィールドを true に設定します。ジャンボ フレームをサポートしないファイアウォール エンドポイントを作成するには、このフィールドを false に設定します。ファイアウォール エンドポイントでサポートされているパケットサイズについては、サポートされているパケットサイズをご覧ください。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
プロジェクト レベルのエンドポイント
ファイアウォール エンドポイントはプロジェクト レベルで作成できます。これらのエンドポイントは、組織レベルとプロジェクト レベルの両方のセキュリティ プロファイル グループをサポートしています。
gcloud
ファイアウォール エンドポイントを作成するには、gcloud beta network-security
firewall-endpoints create コマンドを使用します。
gcloud beta network-security firewall-endpoints create NAME \
--project PROJECT_ID \
--zone ZONE \
--enable-jumbo-frames
次のように置き換えます。
NAME: ファイアウォール エンドポイントの名前。PROJECT_ID: エンドポイントが有効になっているプロジェクト。ZONE: エンドポイントがアクティブになっているゾーン。
サイズが最大 8,500 バイトのジャンボ フレームをサポートするファイアウォール エンドポイントを作成するには、オプションの --enable-jumbo-frames フラグを使用します。このフラグをスキップすると、ジャンボ フレームをサポートしないエンドポイントが作成されます。ファイアウォール エンドポイントでサポートされているパケットサイズについては、サポートされているパケットサイズをご覧ください。
ファイアウォール エンドポイントを VPC ネットワークに関連付けるには、ファイアウォール エンドポイントの関連付けを作成するをご覧ください。
ファイアウォール エンドポイントの関連付けの作成
ファイアウォール エンドポイントの関連付けは、ファイアウォール エンドポイントを特定のゾーンの VPC ネットワークに接続します。この関連付けにより、そのゾーン内の関連付けられたネットワークのインターセプト ルールに一致するトラフィックがファイアウォール エンドポイントによって検査されます。
関連付けを作成する前に、ファイアウォール エンドポイントがあることを確認します。
関連付けの要件
エンドポイントの関連付けを構成する場合は、次の要件を満たしてください。
- ゾーンの制約: 関連付けは、ファイアウォール エンドポイントと同じゾーンに作成する必要があります。トラフィック検査を効果的に行うには、コンピューティング インスタンスがデプロイされているゾーンで関連付けを作成します。
- ゾーンごとに 1 つのエンドポイント: 単一のゾーンでは、VPC ネットワークを 1 つのファイアウォール エンドポイント(プロジェクト レベル(プレビュー)または組織レベル)にのみ関連付けることができます。ただし、単一の VPC ネットワークを複数の異なるゾーンにまたがる異なるファイアウォール エンドポイントに関連付けることはできます。
- プロジェクト間の関連付け: VPC ネットワークを別のプロジェクトのファイアウォール エンドポイントに関連付けることができます。
- プロジェクト レベルのエンドポイント(プレビュー)を使用する場合、エンドポイントのプロジェクトは VPC ネットワークと同じ組織に存在する必要があります。
- リソース マッピング: 関連付けはプロジェクト レベルのリソースです。関連付けが組織レベルのファイアウォール エンドポイントを指している場合でも、コンピューティング インスタンスがデプロイされている特定のプロジェクト内で関連付けを作成します。
ジャンボ フレームをサポートするファイアウォール エンドポイントは、最大 8,500 バイトのパケットのみを受け入れることができます。ジャンボ フレームをサポートしていないファイアウォール エンドポイントは、最大 1,460 バイトのパケットのみを受け入れることができます。URL フィルタリング サービスまたは侵入検知 / 防御サービスが必要な場合は、関連する VPC ネットワークで 8,500 バイトと 1,460 バイトの最大伝送単位(MTU)の上限を使用するように構成することをおすすめします。詳細については、 サポートされているパケットサイズをご覧ください。
コンソール
Google Cloud コンソールで、[ファイアウォール エンドポイント] ページに移動します。
プロジェクト選択メニューで、 Google Cloud プロジェクトを選択します。
[エンドポイントの関連付けを作成] をクリックします。
[リージョン] リストで、ファイアウォール エンドポイントの関連付けを作成するリージョンを選択します。
[ゾーン] リストで、ファイアウォール エンドポイントの関連付けを作成するゾーンを選択します。
[ファイアウォール エンドポイント] リストで、関連付けに追加するファイアウォール エンドポイントを選択します。
[ネットワーク] リストで、関連付けに追加するネットワークを選択します。
[TLS インスペクション ポリシー] リストで、この関連付けに追加する TLS インスペクション ポリシーを選択します。
[作成] をクリックします。
gcloud
ファイアウォール エンドポイントの関連付けを作成するには、gcloud network-security firewall-endpoint-associations create コマンドを使用します。
組織レベルのファイアウォール エンドポイント
gcloud network-security firewall-endpoint-associations \
create NAME \
--endpoint organizations/ORGANIZATION_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
プロジェクト レベルのファイアウォール エンドポイント
gcloud beta network-security firewall-endpoint-associations \
create NAME \
--endpoint projects/ENDPOINT_PROJECT_ID/locations/ZONE/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
--network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
--zone ZONE \
--project PROJECT_ID \
[ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]
次のように置き換えます。
NAME: ファイアウォール エンドポイントの関連付けの名前。ORGANIZATION_ID: 組織レベルのファイアウォール エンドポイントが作成される組織 ID。ENDPOINT_PROJECT_ID: プロジェクト レベルのファイアウォール エンドポイントが作成される Google Cloud プロジェクト ID。ZONE: ファイアウォール エンドポイントのゾーン。FIREWALL_ENDPOINT_NAME: ファイアウォール エンドポイントの名前。PROJECT_NAME: ネットワークの Google Cloud プロジェクト名。NETWORK_NAME: ネットワークの名前。PROJECT_ID: 関連付けが作成される Google Cloud プロジェクト ID。これは、トラフィックをインターセプトするプロジェクトにする必要があります。TLS_PROJECT_NAME: TLS インスペクション ポリシーの Google Cloud プロジェクト名。REGION_NAME: TLS インスペクション ポリシーのリージョン名。TLS_POLICY_NAME: TLS インスペクション ポリシーの名前。このポリシーは、指定したネットワーク上の暗号化されたトラフィックの TLS インスペクションに使用されます。これは省略可能な引数です。