如何从 AWS WAF Classic 迁移到 AWS WAF,迁移期间的停机时间有多长?

3 分钟阅读
0

我想将当前的 AWS WAF Classic 部署迁移到 AWS WAF。该怎么办? 迁移中是否涉及停机时间?

简短描述

从 AWS WAF Classic 迁移到 AWS WAF 有三种选择:

  • 手动迁移
  • 使用 AWS WAF 安全自动化实现自动迁移
  • 使用 AWS WAF Classic 迁移向导实现自动迁移

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

解决方案

手动迁移

手动迁移适用于简单的 AWS WAF 部署。手动迁移是使用 AWS WAF 重新创建经典的 AWS WAF 资源。从 AWS WAF 经典 Web ACL 关联切换到新的 AWS WAF Web ACL 可能会导致短暂的中断。

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

  1. 要创建新的 AWS WAF 部署,请参阅 AWS WAF 入门
  2. 完成迁移 Web ACL:切换中的步骤。
  3. 请参阅迁移 Web ACL:其他注意事项以优化新的 AWS WAF 部署。

AWS WAF 安全自动化迁移

借助 AWS WAF 安全自动化,使用 AWS CloudFormation 自动迁移到 AWS WAF。然后,将新的 Web ACL 与支持的资源相关联,例如:

  • Amazon CloudFront 分配
  • Amazon API Gateway REST API
  • 应用程序负载均衡器 (ALB)
  • AWS AppSync GraphQL API

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

**重要提示:**迁移由 AWS WAF 安全自动化创建的 AWS WAF Classic 部署时,不得使用 AWS WAF Classic 迁移向导。有关其他信息,请参阅迁移注意事项和限制

要使用 AWS WAF 安全自动化部署新的 Web ACL,请执行以下操作:

  1. 打开 AWS WAF Automation on AWS(AWS 上的 AWS WAF 自动化)页面。
  2. 导航至 AWS Solution overview(AWS 解决方案概述)。
  3. 在图表右侧选择 Launch in the AWS Console(在 AWS 控制台中启动)。
  4. 对于 Region(区域),选择要在其中创建 AWS WAF 资源的 AWS 区域。
  5. 对于 Create stack(创建堆栈),使用默认设置,然后选择 Next(下一步)。
  6. 输入Stack name(堆栈名称),然后为您的使用案例选择 Parameters(参数)。有关 Parameters(参数)的信息,请参阅启动堆栈
    重要提示:请务必选择正确的 Endpoint Type(端点类型)。此类型必须与您当前在 AWS WAF Classic 中使用的资源相匹配。如果您使用的是 Amazon API Gateway REST API 或应用程序负载均衡器,请选择 ALB
  7. 选择 Next(下一步)。
  8. (可选)配置堆栈选项或使用默认设置。然后,选择 Next(下一步)。
  9. 查看您的配置。接下来,确认 CloudFormation 将在您的账户中创建 AWS Identity and Access Management (IAM) 资源。
  10. 选择 Create stack(创建堆栈)。

CloudFormation 创建了一个新堆栈,其中包含 AWS 安全自动化所需的所有资源,包括一个新的 AWS WAF Web ACL。
**重要提示:**新的 AWS WAF Web ACL 不会自动与任何 AWS 资源关联。

要完成向 AWS WAF 的迁移,您必须手动将 AWS WAF Web ACL 与您的 AWS 资源相关联。此过程会自动解除 AWS 资源与 AWS WAF Classic Web ACL 的关联。资源与此 AWS WAF Web ACL 关联后,将根据新 AWS WAF Web ACL 中的规则对请求进行检查。

成功迁移到 AWS WAF 后,最佳实践是查看迁移 Web ACL:其他注意事项以优化新的 AWS WAF 部署。

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

使用 AWS WAF Classic 迁移向导自动迁移

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

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

要使用自动化 AWS WAF Classic 迁移向导部署新的 Web ACL,请执行以下操作:

  1. 打开 AWS WAF console(AWS WAF 控制台)。
  2. 在导航窗格中,选择 Switch to AWS WAF Classic(切换到 AWS WAF Classic)。
  3. 在导航窗格中选择 Web ACL
  4. 在主页顶部,选择 migration wizard(迁移向导)。
  5. 对于 Web ACL,请选择要在其中创建 AWS WAF 资源的 AWS 区域。然后,选择要迁移的 AWS WAF Classic Web ACL。
  6. 对于 Migration configuration(迁移配置),选择 Create new(新建)以创建一个新的 S3 存储桶,供 CloudFormation 在迁移期间使用。 **注意:**S3 存储桶必须与 Web ACL 位于同一区域,并且其名称必须以前缀 aws-waf-migration- 开头。
    最佳实践是使用 Auto apply the bucket policy required for migration(自动应用迁移所需的存储桶策略),以避免权限问题。
    Choose how to handle rules that can't be migrated(选择如何处理无法迁移的规则)选择首选选项。
    **注意:**最佳实践是使用 Exclude rules that can't be migrated(排除无法迁移的规则)以继续迁移。但是,您必须手动创建迁移完成后无法自动迁移的规则。
  7. 选择 Next(下一步)。
  8. 选择 Start creating CloudFormation template(开始创建 CloudFormation 模板)。
  9. 选择 Create CloudFormation Stack(创建 CloudFormation 堆栈)以开始部署 AWS WAF CloudFormation 堆栈。
  10. 对于 Create stack(创建堆栈),使用默认设置,然后选择 Next(下一步)。
  11. 输入Stack name(堆栈名称),然后为您的使用案例选择 Parameters(参数)。有关 Parameters(参数)的信息,请参阅启动堆栈
    重要提示:请务必选择正确的 Endpoint Type(端点类型)。此类型必须与您当前在 AWS WAF Classic 中使用的资源相匹配。如果您使用的是 Amazon API Gateway REST API 或应用程序负载均衡器,请选择 ALB
  12. 选择 Next(下一步)。
  13. (可选)配置堆栈选项或使用默认设置。然后,选择 Next(下一步)。
  14. 检查您的配置,然后选择 Create Stack(创建堆栈)。

CloudFormation 使用从 AWS WAF Classic 迁移的所有资源创建一个新堆栈,包括一个新的 AWS WAF Web ACL。
**重要提示:**新的 AWS WAF Web ACL 不会自动与任何 AWS 资源关联。

要完成向 AWS WAF 的迁移,您必须手动将 AWS WAF Web ACL 与您的 AWS 资源相关联。此过程会自动解除 AWS 资源与 AWS WAF Classic Web ACL 的关联。资源与此 AWS WAF Web ACL 关联后,将根据新 AWS WAF Web ACL 中的规则对请求进行检查。

成功迁移到 AWS WAF 后,最佳实践是查看迁移 Web ACL:其他注意事项以优化新的 AWS WAF 部署。

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


相关信息

将您的规则从 AWS WAF Classic 迁移到新的 AWS WAF

AWS 官方
AWS 官方已更新 2 年前
没有评论