如何从 AWS WAF Classic 迁移到 AWS WAF,以及迁移过程中的停机时间是多少?

3 分钟阅读
0

我想将我当前的 AWS WAF Classic 部署迁移到 AWS WAF。我还想知道迁移过程所涉及的停机时间。

解决方案

**注意:**在开始迁移之前,请参阅迁移注意事项和限制

使用以下选项之一从 AWS WAF Classic 迁移到 AWS WAF。

手动迁移

对于简单的 AWS WAF 部署使用手动迁移。手动迁移会在 AWS WAF 中重新创建 AWS WAF Classic 资源。在迁移完成之前,迁移可能会导致请求处理不一致。

要执行手动迁移,请完成以下操作:

  1. 设置 AWS WAF
  2. 完成迁移 Web ACL:切换中的步骤。
  3. 查看您的新 Web 访问控制列表 (Web ACL),并根据需要更新其配置

Security Automations for AWS WAF(自动)

使用 Security Automations for AWS WAF 来自动迁移到 AWS WAF。该解决方案使用 AWS CloudFormation。然后,将新的 Web ACL 与支持的资源相关联,例如:

  • Amazon CloudFront 分配
  • Amazon API Gateway REST API
  • 应用程序负载均衡器
  • AWS AppSync GraphQ
  • Amazon Cognito 用户池
  • AWS App Runner 服务
  • AWS Verified Access 实例

此迁移过程中不涉及停机时间。最佳做法是在生产环境中实施规则之前测试和调整您的 AWS WAF 保护

**注意:**当您使用 Security Automations for AWS WAF 从 AWS WAF Classic 迁移时,不得使用 AWS WAF Classic 迁移向导。如需了解其他信息,请参阅迁移注意事项和限制

要使用 Security Automations for AWS WAF 来部署新的 Web ACL,请完成以下步骤:

  1. 打开 Security Automations for AWS WAF
  2. Deployment options(部署选项)下,选择 Launch in the AWS Console(在 AWS 控制台中启动)。
  3. 对于 Region(区域),选择要在其中创建 AWS WAF 资源的 AWS 区域。
  4. 对于 Create stack(创建堆栈),请使用默认设置,然后选择 Next(下一步)。
  5. 输入 Stack name(堆栈名称),然后为您的用例选择 Parameters(参数)。有关 Parameters(参数)的信息,请参阅“步骤 1:启动堆栈”。
    **注意:**您必须选择与当前 AWS WAF Classic 中的资源相匹配的 Endpoint Type(端点类型)。如果您使用 API Gateway REST API 或应用程序负载均衡器,请选择 ALB
  6. 选择 Next(下一步)。
  7. (可选)配置堆栈选项或使用默认设置。然后,选择 Next(下一步)。
  8. 查看您的配置。然后,确认 CloudFormation 将在您的账户中创建 AWS Identity and Access Management (IAM) 资源。
  9. 选择 Create stack(创建堆栈)。

CloudFormation 将使用安全自动化所需的所有资源创建新的堆栈,包括新的 AWS WAF Web ACL。

**注意:**新的 Web ACL 不会自动与任何 AWS 资源相关联。

要完成向 AWS WAF 的迁移,您必须手动将 AWS WAF Web ACL 与您的 AWS 资源相关联。此过程会自动断开 AWS 资源与 AWS WAF Classic Web ACL 的关联。将该资源与新的 AWS WAF Web ACL 关联后,Web ACL 的规则将检查传入请求。

迁移到 AWS WAF 后,最佳做法是查看新 Web ACL 并根据需要更新其配置

**注意:**您可能需要手动重新创建无法自动迁移的现有规则。有关详细信息,请参阅迁移 Web ACL:手动跟进

AWS WAF Classic 迁移向导(自动)

使用 AWS WAF Classic 迁移向导可自动将现有 AWS WAF Classic 资源迁移到 AWS WAF。在某些情况下,您不得使用 AWS WAF Classic 迁移向导。有关详细信息,请参阅迁移注意事项和限制

此迁移过程中不涉及停机时间。最佳做法是在生产环境中实施规则之前测试和调整您的 AWS WAF 保护

要使用 AWS WAF Classic 迁移向导部署新的 Web ACL,请完成以下步骤:

  1. 打开 AWS WAF 控制台
  2. 在导航窗格中,选择 Switch to AWS WAF Classic(切换到 AWS WAF Classic)。
  3. 在导航窗格中,选择 Web ACLs,然后选择 Migration Wizard(迁移向导)。
  4. 对于 Web ACL,选择要在其中创建 AWS WAF 资源的区域。然后,选择要迁移的 AWS WAF Classic Web ACL。
  5. 对于 Migration configuration(迁移配置),选择 Create new(新建)。这将创建一个新的 S3 存储桶,CloudFormation 将在迁移期间使用该存储桶。
    **注意:**S3 存储桶必须与 Web ACL 位于同一区域,且其名称必须以 aws-waf-migration- 前缀开头。
    最佳做法是使用“自动应用迁移所需的存储桶策略”以避免权限问题。
  6. 对于“选择如何处理无法迁移的规则”,选择最适合您要求的选项。
    **注意:**最佳做法是使用“排除无法迁移的规则”继续执行迁移。但是,您必须手动创建无法自动迁移的规则。
  7. 选择 Next(下一步)。
  8. 选择 Start creating CloudFormation template(开始创建 CloudFormation 模板)。
  9. 选择 Create CloudFormation Stack(创建 CloudFormation 堆栈)
  10. 对于 Create stack(创建堆栈),请使用默认设置,然后选择 Next(下一步)。
  11. 输入 Stack name(堆栈名称),然后为您的用例选择 Parameters(参数)。有关 Parameters(参数)的信息,请参阅“步骤 1:启动堆栈”。
    **注意:**您必须选择与当前 AWS WAF Classic 中的资源相匹配的 Endpoint Type(端点类型)。如果您使用 API Gateway REST API 或应用程序负载均衡器,请选择 ALB
  12. 选择 Next(下一步)。
  13. (可选)配置堆栈选项或使用默认设置。然后,选择 Next(下一步)。
  14. 查看您的配置,然后选择 Create Stack(创建堆栈)。

CloudFormation 将使用从 AWS WAF Classic 迁移的所有资源创建新堆栈,包括新的 AWS WAF Web ACL。

**注意:**新的 Web ACL 不会自动与任何 AWS 资源相关联。

要完成向 AWS WAF 的迁移,您必须手动将 AWS WAF Web ACL 与您的 AWS 资源相关联。此过程会自动断开 AWS 资源与 AWS WAF Classic Web ACL 的关联。将该资源与新的 AWS WAF Web ACL 关联后,Web ACL 的规则将检查传入请求。

迁移到 AWS WAF 后,最佳做法是查看新 Web ACL 并根据需要更新其配置

**注意:**您可能需要手动重新创建无法自动迁移的现有规则。有关详细信息,请参阅迁移 Web ACL:手动跟进

相关信息

将 AWS WAF Classic 中的规则迁移到新 AWS WAF

AWS 官方
AWS 官方已更新 10 个月前