

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

# 在允许和拒绝的 AWS WAF IP 集上配置 IP 保留
<a name="configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets"></a>

您可以在解决方案创建的允许和拒绝的 AWS WAF IP 集上配置 IP 保留。以下各节说明了它的工作原理并提供了设置步骤。

## 工作原理
<a name="how-it-works"></a>

 **描述了 AWS WAF 允许和拒绝列表以及其他 AWS 资源的架构图** 

![\[IP 保留\]](http://docs.aws.amazon.com/zh_cn/solutions/latest/security-automations-for-aws-waf/images/ip-retention.png)


1. 当用户更新（添加或删除 IP 地址）允许或拒绝的 WAF IP 集时，此操作将调用 AWS WAF `UpdateIPSet` API 调用并创建事件。

1. A [mazon EventBridge](https://aws.amazon.com/eventbridge/) 事件规则根据预定义的事件模式检测事件，并调用 Lambda 函数来设置更新后存在于 IP 集中的所有 IP 地址的保留期。

1. Lambda 函数处理事件，提取与 IP 保留相关的数据（例如 IP 集名称、ID、范围、IP 地址），然后将其插入到 DynamoDB 表中。它还会为每个 DynamoDB 项目插入一个`ExpirationTime`属性。该解决方案通过在事件时间中添加用户定义的保留期来计算到期时间。该表已开启 [DynamoDB Stream](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) s 和 T [ime to Live (TTL)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html)。TTL 属性为。`ExpirationTime`

1. 当项目达到其过期时间时，将调用 TTL，DynamoDB 会在项目到期时间后将其从表中删除。删除该项目后，已删除的项目将添加到 DynamoDB 流中，DynamoDB 流会调用 Lambda 函数进行下游处理。

1. Lambda 函数从 DynamoDB 流中获取有关已删除项目的信息，然后调用 AWS WAF API，将项目中包含的过期 IP 地址从目标 AWS WAF IP 集中删除。

## 开启 IP 保留
<a name="turn-on-ip-retention"></a>

请按照以下步骤开启 IP 保留：

1. 在您[部署](deploy-the-solution.md)或[更新](update-the-solution.md)的 Cloudformation 堆栈中，输入 “**允许的 IP 集” 的 IP 保留期（分钟）**和 “**拒绝的 IP 集” 的 IP 保留期（分钟）**。最短保留期为 15 分钟。该解决方案将介于`0`和之间的任意数字`15`视为`15`。有关部署配置的更多信息，请参阅[步骤 1。Launch the stack](step-1.-launch-the-stack.md)。

1. 如果您想在从 AWS WAF IP 集中删除过期的 IP 地址时收到电子邮件通知，请输入电子邮件地址。如果您选择接收电子邮件通知，则必须使用解决方案成功部署后收到的电子邮件中的链接确认订阅。有关部署配置的更多信息，请参阅[步骤 1。Launch the stack](step-1.-launch-the-stack.md)。

1. 通过添加或删除 IP 地址来更新 AWS WAF IP 集。这将启动 IP 保留流程并创建一个 DynamoDB 项目，包括 IP 过期列表。此过期列表由更新后存在于 AWS WAF IP 集中的 IP 地址组成。

1. 当 DynamoDB 项目达到其过期时间并从表中删除后，该解决方案将从 WAF IP 集中删除该项目 IP 过期列表中包含的 IP 地址。

**注意**  
根据 DynamoDB 删除按照 TTL 过期的项目的时间，从 AWS WAF IP 集中删除过期的 IP 地址的实际操作可能会有所不同。DynamoDB TTL 的删除主要取决于表的大小和活动级别。由于 DynamoDB 删除操作可能会延迟，因此 AWS WAF 删除操作可能会延迟。通常，该解决方案会在删除 DynamoDB TTL 后不久从 AWS WAF IP 集中删除过期的 IP 地址。*有关更多信息，请参阅亚马逊 [DynamoDB 开发者指南中的 DynamoDB 上线时间 (TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/howitworks-ttl.html))。*