# 规模化管理IP地址-IPAM

开始使用AWS的时候需要做3件事：分配IP地址给VPCs，设置路由表，设置安全组。通常会遇到以下问题：

1. 花费大量时间找到不冲突的IP地址，需要将IP更快地分配给开发。
2. 需要简化路由设计和安全配置
3. 很难检测到IP资源耗尽
4. 需要更快的故障排除和审核
5. 需要跨账户分享Bring your own IP(BYOIP)

## 什么是IPAM？

AWS IPAM（Amazon VPC IP Address Manager）是Amazon Virtual Private Cloud（VPC）的一项功能，它使得用户能够更轻松地规划、跟踪和监控AWS工作负载的IP地址。IPAM通过自动化工作流帮助用户更高效地管理IP地址。

IPAM的主要作用包括：

1. **组织IP地址空间**：用户可以将IP地址空间组织到路由域和安全域中，以适应不同的业务需求。
2. **监控IP地址使用情况**：IPAM允许用户监控正在使用的IP地址空间，并根据业务规则监控资源的使用情况。
3. **查看IP地址分配历史**：用户可以查看企业中IP地址分配的历史记录，以便于审计和回顾性分析。
4. **自动分配CIDR**：使用特定的业务规则，IPAM可以自动将CIDR（无类别域间路由）分配给VPC。
5. **故障排除网络连接问题**：IPAM有助于对网络连接问题进行故障排除，提高网络的稳定性和可靠性。
6. **跨区域和跨账户共享BYOIP地址**：IPAM支持自带IP（BYOIP）地址的跨区域和跨账户共享，增加了IP地址使用的灵活性。
7. **预置IPv6 CIDR块**：IPAM允许向池预置Amazon提供的连续IPv6 CIDR块，以创建VPC。

通过这些功能，AWS IPAM为用户提供了一个集中的方式来管理IP地址空间，从而简化了在AWS和本地网络中的IP地址管理工作。

## IPAM的工作原理

IPAM的核心组件包括[范围](https://docs.aws.amazon.com/zh_cn/vpc/latest/ipam/how-it-works-ipam.html)、[池](https://docs.aws.amazon.com/zh_cn/vpc/latest/ipam/how-it-works-ipam.html)和[分配](https://docs.aws.amazon.com/zh_cn/vpc/latest/ipam/how-it-works-ipam.html)。

* **范围**：是IPAM中最高级别的容器，包含两个默认范围，分别代表私有和公有IP空间。范围允许您在多个未连接的网络中重复使用IP地址，而不会导致IP地址重叠或冲突。
* **池**：是连续IP地址范围（或CIDR）的集合，允许您根据路由和安全需求组织IP地址。您可以在一个顶级池中拥有多个池，例如为开发和生产应用程序创建不同的池。
* **分配**：是从IPAM池到另一个资源或IPAM池的CIDR分配。当您创建VPC并为VPC的CIDR选择IPAM池时，CIDR将从预置给IPAM池的CIDR中分配。

## 如何开始使用IPAM

1. **前提条件**：您需要设置具有至少一个成员账户的AWS Organizations账户。
2. **委派IPAM管理员账户**：
   * 使用AWS Organizations管理账户打开IPAM控制台。
   * 在AWS管理控制台中，选择您要在其中与IPAM合作的AWS区域。
   * 在导航面板中选择“组织设置”。
   * 选择“Delegate（委派）”。
   * 输入组织成员账户的AWS账户ID。IPAM管理员必须是AWS Organizations成员账户，而不是管理账户。
   * 选择“Save changes（保存更改）”。
3. **创建IPAM**：
   * 使用委派作为IPAM管理员的AWS Organizations成员账户，打开IPAM控制台。
   * 在AWS管理控制台中，选择您要在其中创建IPAM的AWS区域。
   * 在服务主页上，选择“创建IPAM”。
   * 选择“Allow Amazon VPC IP Address Manager to replicate data from source account(s) into the IPAM delegate account”（允许Amazon VPC IP地址管理器将数据从源账户复制到IPAM委托账户中）。
   * 在“运营区域”下，选择此IPAM可以在其中管理和发现资源的AWS区域。
4. **创建顶级IPAM池**：
   * 在IPAM控制台中，选择“池”。
   * 选择私有作用域。
   * 选择“创建池”。
   * 在“IPAM范围”下，确保选中私有范围。
   * 添加池的名称标签和描述。
   * 在“源”下，选择“IPAM范围”。
   * 在“地址系列”下，选择“IPv4”。
   * 在“资源规划”下，保持选中“在范围内规划IP空间”。

通过这些步骤，您可以开始使用IPAM来管理和监控您的IP地址空间。

### 自动分配IP

Amazon VPC IP地址管理器（IPAM）可以通过自动化工作流帮助自动分配IP地址。以下是IPAM自动分配IP地址的工作原理和如何开始使用IPAM进行自动分配的步骤：

#### IPAM自动分配IP地址的工作原理：

1. **组织IP地址空间**：IPAM允许将IP地址空间组织到路由域和安全域中，以适应不同的业务需求。
2. **自动分配CIDR**：使用特定的业务规则，IPAM可以自动将CIDR（无类别域间路由）分配给VPC。
3. **自助服务模型**：借助IPAM的自助服务模型，开发人员可以在几秒钟内直接创建资源并根据业务规则接收IP地址，消除了引导应用程序中的延迟。
4. **自动化工作流程**：IPAM可以进一步简化AWS工作负载的IP地址管理工作流程，包括VPC和VPC子网的IP地址分配。

#### 如何开始使用IPAM自动分配IP地址：

1. **委派IPAM管理员账户**：
   * 使用AWS Organizations管理账户打开IPAM控制台。
   * 选择要合作的AWS区域。
   * 在导航面板中选择“组织设置”。
   * 选择“Delegate（委派）”并输入组织成员账户的AWS账户ID。
2. **创建IPAM**：
   * 使用委派作为IPAM管理员的AWS Organizations成员账户，打开IPAM控制台。
   * 选择要创建IPAM的AWS区域。
   * 在服务主页上，选择“创建IPAM”并允许IPAM复制数据。
3. **创建池**：
   * 在IPAM控制台中，选择“池”。
   * 选择私有作用域或公有作用域。
   * 选择“创建池”并配置相关设置，如名称标签、描述和IP地址系列。
4. **分配IP地址**：
   * 根据业务规则和需求，从IPAM池中自动分配IP地址给VPC或子网。
   * IPAM会自动跟踪关键IP地址信息，包括AWS账户、Amazon VPC以及路由和安全域。

通过这些步骤，您可以开始使用IPAM来自动化IP地址的分配和管理，提高效率并减少手动错误。

参考资料

[\[AWS Docs\]Integrate IPAM with accounts in an AWS Organization](https://docs.aws.amazon.com/vpc/latest/ipam/enable-integ-ipam.html)
