使用 IPAM 自动更新前缀列表
托管前缀列表是一组 CIDR 块,您可以在安全组规则和路由表中引用这些块,而无需指定单个 IP 地址。例如,可以创建一个包含所有三个 CIDR 的前缀列表,并在单个规则中引用它,而不必为 10.1.0.0/16、10.2.0.0/16 和 10.3.0.0/16 创建单独的安全组规则。
这些变量分为两种类型:
-
客户管理的前缀列表:您定义和管理的 IP 范围
-
AWS 管理的前缀列表:AWS 服务的 IP 范围(例如 S3 或 CloudFront)
IPAM 功能通过使您的 CIDR 条目与网络更改保持同步,自动管理客户管理的前缀列表。
它解决的问题
如果没有自动化,网络团队在基础设施发生变化时需要花费大量时间手动更新前缀列表,并在不同环境和区域之间维护一致的前缀列表。
IPAM 通过允许您创建自动填充前缀列表的规则来解决此问题。您可以使用两种方法:引用 IPAM 池中的 CIDR,或者基于实际的 AWS 资源创建规则,例如“包含所有标记为 env=prod 的 VPC”、“包含 us-east-1 中的所有子网”或“包含账户 123456789 拥有的所有弹性 IP 地址”。当您添加或删除这些资源时,IPAM 会自动使用其 CIDR 更新前缀列表。
工作方式
您可以创建规则,告诉 IPAM 要将哪些 IP 地址包含在前缀列表中。例如,“包含所有标记为 env=prod 的 VPC CIDR”。当您添加或删除生产 VPC 时,IPAM 会自动更新前缀列表。
何时使用
-
安全组:创建一条规则“包含所有标记为 env=prod 的 VPC”,这样,当您添加新的生产 VPC 时,它们会自动被允许出现在您的安全组规则中
-
多区域:在多个区域部署相同的 IPAM 规则,无需手动复制 CIDR 条目即可保持前缀列表一致。
-
动态基础设施:创建/删除 VPC 或子网时,它们的 CIDR 会自动添加到前缀列表/从前缀列表中删除,无需手动更新。
先决条件
在开始之前,请确保您满足以下条件:
设置步骤
步骤 1:创建 IPAM 前缀列表解析器
通过创建 IPAM 前缀列表解析器来定义要在前缀列表中包含哪些 CIDR。
步骤 2:创建用于连接到前缀列表的解析器目标
通过创建解析器目标,将解析器链接到现有前缀列表。使用步骤 1 中返回的解析器 ID。
IPAM 现在会根据规则自动更新前缀列表。前缀列表将填充符合您条件的 CIDR。
步骤 3:监控版本和同步
创建前缀列表解析器和目标后,前缀列表解析器会根据规则生成 CIDR 版本,然后目标会将这些 CIDR 从解析器同步到特定托管前缀列表。每个版本都是在特定时刻与规则匹配的 CIDR 的快照。每次由于基础设施变更导致 CIDR 列表发生变化时,版本号都会递增。
版本示例:
初始状态(版本 1)
生产环境:
vpc-prod-web (10.1.0.0/16) - 标记为 env=prod
vpc-prod-db (10.2.0.0/16) - 标记为 env=prod
解析器规则:包含所有标记为 env=prod 的 VPC
版本 1 CIDR:10.1.0.0/16、10.2.0.0/16
基础架构变更(版本 2)
添加了新的 VPC:
vpc-prod-api (10.3.0.0/16) - 标记为 env=prod
IPAM 会自动检测更改并创建新版本。
版本 2 CIDR:10.1.0.0/16、10.2.0.0/16、10.3.0.0/16
本节介绍如何使用 AWS 控制台或 AWS CLI 监控版本创建以及如何使用 AWS CLI 监控同步成功情况。
此外,建议您针对故障指标设置 CloudWatch 警报,因为您可能需要重新评估和调整 CIDR 选择规则,以保持在版本和前缀列表大小的限制范围内。有关与 IPAM 前缀列表相关的 CloudWatch 指标的列表,请参阅 IPAM 前缀列表解析器指标。
步骤 4:(可选)启用和禁用 IPAM 前缀列表同步
如果已将托管前缀列表配置为 IPAM 前缀列表目标,并且您想要更改前缀列表而无需访问 IPAM 前缀列表解析器目标的权限,则可以修改托管前缀列表并禁用与 IPAM 前缀列表解析器的同步。禁用后,前缀列表 CIDR 不会自动更新,您可以对其进行更改。启用后,前缀列表 CIDR 将根据关联的解析器的 CIDR 选择规则自动更新。