如何在 AWS EC2 上配置静态公网 IP 弹性地址 EIP

文章导读
在 AWS EC2 上配置弹性公网 IP(EIP)主要是为了让实例在停止或重启后保留固定的公网入口,适合需要稳定对外服务的场景。
📋 目录
  1. CLI 命令实操
  2. 控制台配置步骤
  3. 验证与测试
  4. 核心机制与常见风险
  5. 参考来源
A A

在 AWS EC2 上配置弹性公网 IP(EIP)主要是为了让实例在停止或重启后保留固定的公网入口,适合需要稳定对外服务的场景。

先说结论:EIP 是账户级别的资源,关联到实例后才产生特定费用逻辑,配置前需确认区域和配额。

  • 适合:需要固定公网 IP 的 Web 服务或白名单场景
  • 先准备:确认账户 EIP 配额及目标实例状态
  • 验收:检查内外网 IP 一致性及连通性
  • 风险:关联 EIP 瞬间会产生网络闪断,生产环境请谨慎操作

CLI 命令实操

使用 AWS CLI 可以快速分配和关联 EIP,注意参数格式不要多余符号。

# 分配一个新的 EIP
aws ec2 allocate-address `--domain` vpc `--region` <your-region>

# 将 EIP 关联到实例
aws ec2 associate-address `--instance-id` <instance-id> `--allocation-id` <allocation-id> `--region` <your-region>

报错处理:

  • LimitExceeded:表示当前区域 EIP 配额已达上限(默认 5 个),需提交工单申请提升。
  • InvalidInstanceID.NotFound:检查实例 ID 是否正确,或确认 CLI 配置的区域与实例所在区域一致。
  • InvalidAllocationID.NotFound:确认 Allocation ID 是否属于当前区域。

控制台配置步骤

1. 登录 AWS 控制台,进入 EC2 面板,左侧菜单找到“网络与安全”下的“弹性 IP”。

如何在 AWS EC2 上配置静态公网 IP 弹性地址 EIP

2. 点击“分配弹性 IP 地址”,选择 Amazon 提供的公网 IPv4 池,点击分配。

3. 选中刚分配的 EIP,点击“操作”->“关联弹性 IP 地址”,选择目标实例或网络接口。

4. 确认关联后,实例原有的动态公网 IP 会被 EIP 替换。

如何在 AWS EC2 上配置静态公网 IP 弹性地址 EIP

验证与测试

配置完成后,建议通过以下方式验证:

  • 实例内验证:在实例内部执行 curl http://169.254.169.254/latest/meta-data/public-ipv4 查看元数据中的公网 IP,应与控制台显示的 EIP 一致。
  • 外部连通性:在本地机器执行 ping <eip-address> 测试连通性(需实例安全组放行 ICMP)。
  • 出口 IP 检查:在实例内执行 curl ifconfig.me 确认出口流量是否经过 EIP。

核心机制与常见风险

默认情况下,EC2 实例启动时会分配一个动态公网 IP,实例停止后该 IP 会释放,再次启动会变化。EIP 是独立于实例存在的静态地址,除非手动释放,否则一直保留在账户下。

常见坑与注意事项:

  1. 闲置费用:EIP 关联到停止的实例或未关联任何资源时,AWS 会按小时收取闲置费用。
  2. 网络闪断:将 EIP 关联到正在运行的实例时,原公网 IP 会被移除,可能导致短暂连接中断,建议业务低峰期操作。
  3. 区域限制:EIP 不能跨区域使用,必须在同一区域内关联资源。
  4. 配额限制:每个区域默认最多 5 个 EIP,超出需申请配额提升。

参考来源

AWS Official Documentation - Elastic IP addresses
URL: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html