

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

# 更新此解决方案
<a name="update-the-solution"></a>

如果您之前部署了该解决方案，请按照以下步骤更新解决方案 CloudFormation 堆栈以获取最新版本的解决方案框架。在更新堆栈之前，请仔细阅读[更新注意事项](#update-considerations)。

1. 登录 A [WS CloudFormation 控制台](https://console.aws.amazon.com/cloudformation/)。

1. 在左侧导航菜单中选择 **Stacks**。

1. 选择您现有的`aws-waf-security-automations` CloudFormation 堆栈。

1. 选择**更新**。

1. 选择**替换当前模板**。

1. 在**指定模板**下：

   1. 选择 **Amazon S3 URL**。

   1. 复制 A `aws-waf-security-automations.template` [WS](aws-cloudformation-templates.md) 的链接 CloudFormation。

   1. 将链接粘贴到 **Amazon S3 URL** 框中。

   1. 确认 **Amazon S3 网址文本框中显示的模板网址**是否正确。

   1. 选择**下一步**。

   1. 再次选择**下一步**。

1. 在**参数**下，检查模板的参数，并根据需要进行修改。请参阅 [Step 1. Launch the stack](step-1.-launch-the-stack.md) 以获取有关参数的详细信息。

1. 选择 **Next**(下一步)。

1. 在 **配置堆栈选项** 页面上，请选择 **下一步**。

1. 在 **Review** 页面上，审核并确认设置。

1. 选中确认模板可能创建 IAM 资源的复选框。

1. 选择**查看更改集**并验证更改。

1. 选择**更新堆栈**以部署堆栈。

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的**状态**。您应在大约 15 分钟后看到 UPDATE\$1COMPLETE 状态。

## 更新注意事项
<a name="update-considerations"></a>

以下各节提供了更新此解决方案的限制和注意事项。

### 资源类型更新
<a name="resource-type-update"></a>

创建堆栈后，必须部署新的堆栈才能更新 **Endpoin** t 参数。更新堆栈时不要更改 **Endpoin** t 参数。

### WAFV2 升级
<a name="wafv2-upgrade"></a>

从 3.0 版本开始，此解决方案支持 AWS WAFV2。我们将所有 [AWS WAF C](https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) lassic API 调用替换为 [AW WAFV2 S API](https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html) 调用。这将移除对 Node.js 的依赖并使用最多的 up-to-date Python 运行时。要继续使用具有最新功能和改进的解决方案，必须将 3.0 或更高版本部署为新堆栈。

### 堆栈更新时的自定义
<a name="customizations-at-stack-update"></a>

该 out-of-box解决方案使用堆栈将一组带有默认配置的 AWS WAF 规则部署到您的 AWS 账户中。 CloudFormation 我们不建议对解决方案部署的规则进行自定义。堆栈更新会覆盖这些更改。如果您需要自定义规则，我们建议您在解决方案之外创建单独的规则。

### Bad bot 保护升级
<a name="badbot-upgrade"></a>

在 **4.1.0** 版本中，带有 **API Gatew** ay 的**访问处理程序** Lambda 已被弃用，取而代之的是该功能中增强的日志功能。`Log parser - Bad bot`现在，该解决方案不再使用通过 API Gateway 的直接请求，而是重复使用日志流来检测恶意机器人。

之前的实现：

1. 必需的访问处理程序 Lambda 和 API Gateway。

1. 使用 honeypot 端点直接处理请求。

1. 需要在网站上嵌入 honeypot 端点。

新实现 (4.1.0\$1)：Ba **d Bot Protection 日志解析器现已推**出：

1. 通过日志检查对 honeypot 端点的请求。

1. 激活 Ba **d Bot 保护**后处理请求。

1. 使用 WAF 过滤器**BadBotRuleFilter**识别不良的机器人请求。

1. 分析日志数据以识别超出定义配额的 IP 地址。

1. 更新 AWS WAF IP 设置条件以屏蔽已识别的地址。

此更改通过消除重复功能并利用现有的日志处理功能来简化架构。

### CDK 升级
<a name="CDK-upgrade"></a>

从 v4.1.0 版本开始，CDK 支持此解决方案。如果从 v4.1.0 以下的版本迁移。在 Cloudformation 中使用新的模板并更新解决方案。然后你可以开始使用 cdk deploy 通过终端在本地更新解决方案（有关更多信息，请参阅自述文件）如果你尝试直接使用 cdk deploy，那么你可能会看到这个错误：流量收集中的缩进不足

更新解决方案的另一种方法是使用解决方案提供的模板，然后转到 AWS 控制台的 Cloudformation 部分，点击更新解决方案，然后将新模板粘贴到那里。

**注意**  
如果您要从本解决方案的 3.0 或 3.1 版本升级到 3.2 或更高版本，并且已手动将 IP 地址插入到[允许或拒绝的 IP 集](modify-the-allowed-and-denied-ip-sets-optional.md)中，则将面临丢失这些 IP 地址的风险。为防止这种情况发生，请在升级解决方案之前，复制允许或拒绝的 IP 集中的 IP 地址。然后，在完成升级后，根据需要将 IP 地址重新添加到 IP 集中。请参阅[get-ip-set](https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-ip-set.html)和 C [update-ip-set](https://docs.aws.amazon.com/cli/latest/reference/wafv2/update-ip-set.html)LI 命令。如果您已经在使用 3.2 或更高版本，请忽略此步骤。