AWS 托管规则的发布候选部署 - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS 托管规则的发布候选部署

当托管规则组 AWS 有一组候选规则变更时,它会在临时候选版本部署中对其进行测试。 AWS 根据生产流量在计数模式下评估候选规则,并执行最终调整活动,包括减少误报。 AWS 测试以这种方式为所有使用规则组默认版本的客户发布候选规则。候选发布版本部署不适用于使用静态版本规则组的客户。

如果您使用默认版本,则候选发布版本部署不会改变规则组管理 Web 流量的方式。在测试候选规则时,您可能会注意到以下几点:

  • 默认版本名称从 Default (using Version_X.Y) 更改为 Default (using Version_X.Y_PLUS_RC_COUNT)

  • Amazon 中的其他计数指标 CloudWatch 名称RC_COUNT中包含其名称。它们由候选发布规则生成。

AWS 测试候选版本大约一周,然后将其删除并将默认版本重置为当前推荐的静态版本。

AWS 对候选版本部署执行以下步骤:

  1. 创建候选版本 — 根据当前推荐的静态版本(即默认版本所指向的版本) AWS 添加候选版本。

    候选发布版本的名称是附加了 _PLUS_RC_COUNT 的静态版本名称。例如,如果当前推荐的静态版本是 Version_2.1,则候选发布版本将命名为 Version_2.1_PLUS_RC_COUNT

    候选发布版本包含以下规则:

    • 规则完全从当前推荐的静态版本中复制,规则配置未做任何更改。

    • 候选新规则,规则操作设置为 Count,名称以 _RC_COUNT 结尾。

      大多数候选规则都对规则组中已存在的规则提供了改进建议。每条规则的名称都是在现有规则的名称后附上 _RC_COUNT

  2. 将默认版本设置为候选版本并进行测试 — AWS 将默认版本设置为指向新的候选版本,以根据您的生产流量进行测试。测试通常需要大约一周的时间。

    您将看到默认版本的名称从仅表示静态版本的名称(如 Default (using Version_1.4))更改为表示静态版本加上候选发布规则(如 Default (using Version_1.4_PLUS_RC_COUNT))。此命名方案使您能够识别管理 Web 流量的静态版本。

    下图显示了此时示例规则组版本的状态。

    图的顶部是三个堆叠的静态版本,位于顶层的是 Version_1.4。与静态版本堆栈分开的是版本 Version_1.4_PLUS_RC_COUNT。此版本包含 Version_1.4 中的规则,还包含两个候选发布规则,即 RuleB_RC_COUNT 和 RuleZ_RC_COUNT,两者都带有计数操作。默认版本指示器指向 Version_1.4_PLUS_RC_COUNT。

    候选版本规则始终使用 Count 操作进行配置,因此它们不会改变规则组管理 Web 流量的方式。

    候选发布规则生成 Amazon CloudWatch 计数指标, AWS 用于验证行为和识别误报。 AWS 根据需要进行调整,以调整候选发布版本计数规则的行为。

    候选发布版本不是静态版本,也无法从静态规则组版本列表中进行选择。您只能在默认版本规范中看到候选发布版本的名称。

  3. 将默认版本恢复为推荐的静态版本-测试候选发布规则后, AWS 将默认版本设置回当前推荐的静态版本。默认版本名称设置会删除结_PLUS_RC_COUNT尾,并且规则组停止为候选发布规则生成 CloudWatch 计数指标。这是一个静默更改,与部署默认版本回滚不同。

    下图显示了候选发布版本测试完成后示例规则组版本的状态。

    这又是典型的版本状态图。三个静态版本 Version_1.2、Version_1.3 和 Version_1.4 堆叠在一起,Version_1.4 位于顶部。Version_1.4 有两个规则,分别为规则 A 和 规则 B,两者都有生产操作。默认版本指示器指向 Version_1.4。
定时和通知

AWS 根据需要部署候选发布版本,以测试规则组的改进。

  • SNS — 在部署开始时 AWS 发送 SNS 通知。该通知指明了测试候选发布版本的预计时间。测试完成后, AWS 默默返回静态版本设置的默认值,不另行通知。

  • 更改日志- AWS 不更新此类部署的变更日志或本指南的其他部分。