在 AWS 中分配静态 IP

Assign a static IP in AWS

我们都知道我们可以分配一个与EC2实例关联的弹性IP。但是,当我们在 ElasticBeanstalk 中重建环境时,IP 仍然会发生变化,因为旧实例已终止并创建了新实例。有没有什么方法可以分配一个 "real" 静态 IP,这样即使在 ElasticBeanstalk 中重建它也不会改变?提前致谢。

来自Using Elastic Beanstalk with Amazon VPC

For single-instance environments, Elastic Beanstalk assigns an Elastic IP address (a static, public IP address) to the instance so that it can communicate directly with the Internet.)

对于负载平衡、自动缩放环境,您应该始终通过 DNS 名称 引用的 Elastic Load Balancer 进行通信。

如果您需要固定 IP 地址用于白名单,有以下几种选择:

  • 通过 NAT 网关 将出站流量路由到远程服务——它可以使用固定的弹性 IP 地址
  • 通过您的 VPC 中的 代理 路由流量——同样,它可以使用固定的弹性 IP 地址

鉴于您有一个自动缩放的环境,为每个单独的实例分配 IP 地址不一定有意义。但是,如果您知道将创建的最大实例数,则可以 为您的 EC2 实例创建弹性 IP 地址 并在重新创建实例时将它们重新关联到实例。 (您可以通过启动脚本执行此操作。)

我同意约翰的观点。但以防万一,如果您以任何方式需要 EIP(可能通过 ssh 连接到服务器):一种解决方法是转到 EC2 --> 弹性 IP --> 分配新地址。这样你就可以为你的账户购买一个固定的 EIP。现在您可以手动将此 EIP 与您的任何 EC2 实例相关联。

这种方法的问题是您必须始终手动关联 EIP。