ネットワーク タグとサービス アカウントを使用しない VPC ファイアウォール ルールを移行する

Virtual Private Cloud(VPC)ファイアウォール ルールでネットワーク タグまたはサービス アカウントを使用していない場合は、次のタスクを実行して、VPC ファイアウォール ルールをグローバル ネットワーク ファイアウォール ポリシーに移行します。

  1. 環境を評価します
  2. VPC ファイアウォール ルールを移行します
  3. 新しいグローバル ネットワーク ファイアウォール ポリシーを確認します
  4. 移行後のタスクを完了します

始める前に

  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. Enable the Compute Engine API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  9. Enable the Compute Engine API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Compute セキュリティ管理者のロールroles/compute.securityAdmin)があることを確認します。

環境を評価する

  1. ネットワーク内の既存の VPC ファイアウォール ルールの数を確認します。
  2. 各 VPC ファイアウォール ルールに関連付けられている優先度をメモします。
  3. グローバル ネットワーク ファイアウォール ポリシーの作成、関連付け、変更、表示に必要な Identity and Access Management(IAM)ロールと権限があることを確認します。

VPC ファイアウォール ルールを移行する

環境を評価したら、compute firewall-rules migrate コマンドを使用して VPC ファイアウォール ルールをグローバル ネットワーク ファイアウォール ポリシーに移行します。

gcloud beta compute firewall-rules migrate \
    --source-network=NETWORK_NAME \
    –-target-firewall-policy=POLICY_NAME

次のように置き換えます。

  • NETWORK_NAME: 移行する VPC ファイアウォール ルールを含む VPC ネットワークの名前。
  • POLICY_NAME: 移行中に作成するグローバル ネットワーク ファイアウォール ポリシーの名前。

新しいグローバル ネットワーク ファイアウォール ポリシーを確認する

新しいグローバル ネットワーク ファイアウォール ポリシーを VPC ネットワークに適用する前に、ポリシーを確認して、移行プロセスが正しく完了していることを確認することをおすすめします。

ファイアウォール ポリシー ルールの構成を確認し、次のルール コンポーネントが各ルールに正しく移行されているかどうかを確認します。

  • 相対的な優先度
  • トラフィックの方向
  • 一致したときのアクション
  • ログの設定
  • ターゲット パラメータ
  • 送信元パラメータ(上り(内向き)ルール用)
  • 宛先パラメータ(下り(外向き)ルール用)
  • プロトコルとポートの制約

ファイアウォール ポリシー ルールのコンポーネントの詳細については、ファイアウォール ポリシー ルールをご覧ください。

移行後のタスク

グローバル ネットワーク ファイアウォール ポリシーを有効にして使用するには、次のセクションで説明する移行後タスクを完了する必要があります。

グローバル ネットワーク ファイアウォール ポリシーをネットワークに関連付ける

移行ツールは、既存の VPC ファイアウォール ルールに基づいてグローバル ネットワーク ファイアウォール ポリシーを作成します。ポリシーを必要な VPC ネットワークに手動で関連付けると、そのネットワーク内の VM でポリシールールが有効になります。グローバル ネットワーク ファイアウォール ポリシーを関連付けるには、compute network-firewall-policies associations create コマンドを使用します。

gcloud compute network-firewall-policies associations create \
    --firewall-policy=POLICY_NAME \
    --network=NETWORK_NAME \
    --global-firewall-policy
    --replace-association-on-target

次のように置き換えます。

  • POLICY_NAME: VPC ネットワークに関連付けるグローバル ネットワーク ポリシーの名前。
  • NETWORK_NAME: VPC ネットワークの名前。

グローバル ネットワーク ファイアウォール ポリシーを VPC ネットワークに関連付ける方法については、ポリシーをネットワークに関連付けるをご覧ください。

ポリシーとルールの評価の順序を変更する

デフォルトでは、Cloud Next Generation Firewall はグローバル ネットワーク ファイアウォール ポリシーを評価する前に VPC ファイアウォール ルールを評価します。グローバル ネットワーク ファイアウォール ポリシーが VPC ファイアウォール ルールよりも優先されるようにするには、compute networks update コマンドを使用してルールの評価順序を変更します。

gcloud compute networks update NETWORK-NAME \
    --network-firewall-policy-enforcement-order=BEFORE_CLASSIC_FIREWALL

NETWORK_NAME は、VPC ネットワークの名前に置き換えます。

グローバル ネットワーク ファイアウォール ポリシーが VPC ファイアウォール ルールの前に評価されるかどうかを確認するには、compute networks get-effective-firewalls コマンドを使用します。

gcloud compute networks get-effective-firewalls NETWORK_NAME

上記のコマンドの出力で、TYPE: network-firewall の前に TYPE: network-firewall-policy が表示されている場合は、グローバル ネットワーク ファイアウォール ポリシーが最初に評価されます。

ポリシーとルールの評価順序の変更の詳細については、ポリシーとルールの評価順序を変更するをご覧ください。

// tslint:disable-next-line:objectLiteralShorthand

ファイアウォール ルールのロギングを有効にする

ロギングを使用すると、ファイアウォール ルールが意図したとおりに機能しているかどうか確認できます。移行ツールは、新しいグローバル ネットワーク ファイアウォール ポリシーを作成するときに、既存の VPC ファイアウォール ルールのロギング ステータスを保持します。グローバル ネットワーク ファイアウォール ポリシー内のルールのロギングが有効になっていることを確認します。ファイアウォール ポリシー ルールのロギングを有効にするには、compute network-firewall-policies rules update コマンドを使用します。

gcloud compute network-firewall-policies rules update PRIORITY \
    --firewall-policy=POLICY_NAME \
    --enable-logging
    --global-firewall-policy

次のように置き換えます。

  • PRIORITY: 更新するルールの優先度。
  • POLICY_NAME: ルールを更新するグローバル ネットワーク ファイアウォール ポリシーの名前。

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

VPC ファイアウォール ルールを削除する前に、グローバル ネットワーク ファイアウォール ポリシーをテストして、ルールに一致するトラフィックが、期待どおりにポリシールールで処理されているかどうかを確認します。

手順は次のとおりです。

  1. VPC ファイアウォール ルールとグローバル ネットワーク ファイアウォール ポリシーのロギングが有効になっていることを確認します。
  2. グローバル ネットワーク ファイアウォール ポリシーが VPC ファイアウォール ルールの前に評価されるように、ルールの評価順序を変更します。
  3. ログをモニタリングして、グローバル ネットワーク ファイアウォール ポリシーがヒットし、VPC ファイアウォール ルールがシャドーイングされていることを確認します。

ネットワークから VPC ファイアウォール ルールを削除する

完全に削除する前に、VPC ファイアウォール ルールを無効にすることをおすすめします。移行ツールで作成されたグローバル ネットワーク ファイアウォール ポリシーが想定どおりの結果を提供できない場合は、これらのルールに戻すことができます。

VPC ファイアウォール ルールを無効にするには、compute firewall-rules update コマンドを使用します。

gcloud compute firewall-rules update RULE_NAME --disabled

RULE_NAME は、無効にする VPC ファイアウォール ルールの名前に置き換えます。

VPC ファイアウォール ルールを削除するには、compute firewall-rules delete コマンドを使用します。

gcloud compute firewall-rules delete RULE_NAME

次のステップ