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

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

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

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

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

  4. 启用 Compute Engine API。

    启用 API

  5. 安装 Google Cloud CLI。
  6. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  7. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

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

  9. 启用 Compute Engine API。

    启用 API

  10. 安装 Google Cloud CLI。
  11. 如需初始化 gcloud CLI,请运行以下命令:

    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 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-policyTYPE: network-firewall 之前显示,则先评估全球网络防火墙政策。

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

// tslint:disable-next-line:objectLiteralShorthand

启用防火墙规则日志记录

Logging 可帮助您确定防火墙规则是否如期发挥作用。迁移工具在创建新的全球网络防火墙政策时,会保留现有 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

后续步骤