使用 IPAM 将您自己的 IP 引入 CloudFront(支持 IPv4 和 IPv6)
借助使用全局服务的 IPAM BYOIP,您可以将自己的 IPv4 和 IPv6 地址用于 CloudFront 等 AWS 全局服务。与区域 BYOIP 不同,您的 IP 地址将通过任播路由从多个边缘站点同时公布。
本教程将讲述以下内容:
-
为 IPv4(/24)和/或 IPv6(/48)地址范围创建全局 IPAM 池
-
使用您自己的 IP 地址预置任播静态 IP 列表
-
通过 CloudFront 边缘站点在全球范围内传播您的 CIDR
-
分别使用单独的 IPv4 和 IPv6 IPAM 池的双堆栈配置
为什么要使用此功能?
-
维护 IP 允许列表:使用现有批准的 IP 地址,而无需更新防火墙配置
-
简化迁移:无需更改 IP 基础设施即可从其他 CDN 迁移
-
一致的品牌:在迁移到 AWS 时保留现有的 IP 地址空间
-
IPv6 就绪性:支持 IPv4 和 IPv6 并行的现代双堆栈架构
此功能的使用对象
需要使用自己的 IP 地址进行全球内容分发的组织:
-
具有 IP 允许列表要求的大型企业
-
使用现有 IP 地址从其他 CDN 迁移的公司
-
具有严格安全策略且要求特定 IP 范围的组织
-
需要双堆栈(IPv4/IPv6)配置以实现全球覆盖的企业
此功能的使用场景
适用于全局服务的 BYOIP 适合以下使用场景:
-
维护合作伙伴/客户的现有 IP 允许列表
-
使用您的 IP 地址从其他 CDN 迁移
-
满足特定 IP 范围的合规性要求
-
部署同时支持 IPv4 和 IPv6 客户端的双堆栈架构
注意
需要 /24 IPv4 CIDR 数据块。双堆栈(IPv4 和 IPv6)需要 /24 IPv4 和 /48 IPv6 CIDR 数据块。目前仅适用于 CloudFront。
先决条件
在开始之前,请完成以下步骤:
-
域验证:验证域控制权
-
创建顶层池:按照将您自己的 IPv4 CIDR 引入 IPAM 和/或将您自己的 IPv6 CIDR 引入 IPAM 中的第 1-2 步进行操作
-
ROA(路由源授权):如果部署双堆栈,请确保同时为 IPv4(/24)和 IPv6(/48)前缀配置 ROA
全局服务配置步骤
以下步骤不同于标准区域 BYOIP 流程,并且将建立用于全球服务的模式:对于双堆栈部署,您需要为 IPv4 和 IPv6 创建单独的池,然后将两者都预置到 CloudFront。
第 1 步:为任播服务创建全局池
为任播服务创建一个全局池,而不是区域池:
控制台
使用控制台创建全局池:
-
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择池
-
选择创建池
-
源:选择您的顶级 BYOIP 池
-
区域设置:选择全局
-
服务:选择全局服务(将在选择“全局”后显示)
-
公有 IP 源:选择 BYOIP
-
要预置的 CIDR:指定您的 /24 CIDR 范围(对于 IPv4)或 /48 CIDR 范围(对于 IPv6)
-
选择创建池
CLI
对于 IPv4:
aws ec2 create-ipam-pool \ --ipam-scope-idscope-id\ --locale None \ --address-family ipv4 \ --source-ipam-pool-idtop-level-pool-idaws ec2 provision-ipam-pool-cidr \ --ipam-pool-idglobal-pool-id\ --cidryour-ipv4-/24
对于 IPv6:
aws ec2 create-ipam-pool \ --ipam-scope-idscope-id\ --locale None \ --address-family ipv6 \ --source-ipam-pool-idtop-level-pool-idaws ec2 provision-ipam-pool-cidr \ --ipam-pool-idglobal-pool-id\ --cidryour-ipv6-/48
重要
-
对于 IPv4:您必须将完整的 /24 数据块分配给该池。您可以在此数据块中预调配更具体的范围,以满足不同用途的需要。
-
对于 IPv6:您必须将完整的 /48 数据块分配给该池。您可以在此数据块中预调配更具体的范围,以满足不同用途的需要。
第 2 步:创建特定于服务的资源
对于 CloudFront,创建一个将使用您的 IPAM 池的任播 IP 列表。相关详细说明,请参阅 Amazon CloudFront 开发人员指南中的使用 IPAM 将您自己的 IP 引入 CloudFront。
IPAM 集成的关键参数:
-
IP 地址类型:请选择 BYOIP
-
IPAM 池:请选择在第 1 步创建的全局池(IPv4 或 IPv6)
-
IP 数量:请输入 3(对于 CloudFront 为必需)
第 3 步:关联到服务资源
将您的任播静态 IP 列表关联到某个 CloudFront 分配。相关详细说明,请参阅 Amazon CloudFront 开发人员指南中的使用 IPAM 将您自己的 IP 引入 CloudFront。
关键配置:
-
在分配设置中,请选择第 2 步中的任播 IP 列表
步骤 4:准备迁移
-
DNS TTL 下限:请将记录的 DNS TTL 设置为 60 秒或更短
-
传播等待:新 TTL 在互联网上生效所需的时间
步骤 5:全球公布 CIDR
使用 IPAM 全局公开命令:
控制台
使用控制台公开 CIDR:
-
在 https://console.aws.amazon.com/ipam/
中打开 IPAM 控制台。 -
在导航窗格中,选择池
-
选择您的全局池
-
选择 CIDR 选项卡。
-
选择您的 CIDR,然后选择操作 > 公开 CIDR
-
确认公开
CLI
对于 IPv4:
aws ec2 advertise-byoip-cidr \ --cidryour-ipv4-/24
对于 IPv6:
aws ec2 advertise-byoip-cidr \ --cidryour-ipv6-/48
重要
-
在运行此命令之前,请撤回来自之前提供商的公开消息
-
将 DNS 记录更新为指向 CloudFront 以完成迁移(IPv4 的 A 记录,IPv6 的 AAAA 记录)
清理
清理在本教程中创建的资源:
-
删除 CloudFront 资源:按照 Amazon CloudFront 开发人员指南中的使用 IPAM 将您自己的 IP 引入 CloudFront 中的清理说明进行操作。
-
撤回 CIDR 并删除 IPAM 池:按照步骤 8:清除中的标准清理流程进行操作
重要
请先删除 CloudFront 资源,然后再清理 IPAM,以避免造成服务中断。