迁移不使用网络标记和服务账号的 VPC 防火墙规则

如果您的 Virtual Private Cloud (VPC) 防火墙规则不使用任何网络标记或服务账号,请执行以下任务,将 VPC 防火墙规则迁移到全球网络防火墙政策:

  1. 评估您的环境
  2. 迁移 VPC 防火墙规则
  3. 查看新的全球网络防火墙政策
  4. 完成迁移后任务

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. 确保您的 Google Cloud 项目已启用结算功能

  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. 确保您的 Google Cloud 项目已启用结算功能

  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 Security Admin 角色 (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 网络之前,Google 建议您查看该政策,以确保迁移过程已准确完成。

验证防火墙政策规则配置,并检查是否已为每个规则正确迁移以下规则组成部分:

  • 相对优先级
  • 流量方向
  • 对匹配项执行的操作
  • 日志设置
  • 目标参数
  • 来源参数(适用于入站流量规则)
  • 目的地参数(适用于出站流量规则)
  • 协议和端口限制条件

如需详细了解防火墙政策规则的组成部分,请参阅防火墙政策规则

迁移后的任务

如需激活和使用全球网络防火墙政策,您必须完成以下部分中介绍的迁移后任务。

将全球网络防火墙政策与您的网络关联

迁移工具会根据现有 VPC 防火墙规则创建全球网络防火墙政策。您必须手动将该政策与所需的 VPC 网络相关联,才能为该网络中的所有虚拟机激活政策规则。如需关联全球网络防火墙政策,请使用 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 新一代防火墙会先评估 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-policy 显示在 TYPE: network-firewall 之前,则系统会先评估全球网络防火墙政策。

如需详细了解如何更改政策和规则评估顺序,请参阅更改政策和规则评估顺序

// 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 防火墙规则

Google 建议您先停用 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

后续步骤