我的目标是启动一些应该由自动扩展组管理的 EC2 实例。所有实例都应具有公共 IP。
在我的测试中,我注意到根据 AWS 账户的配置,这并不总是可行的。在我可以使用的测试帐户中,某些区域具有默认 VPC。在那些地区,我能够获得公共 IP。
在其他地区,我们没有配置默认 VPC。在这种情况下,我的理解是无法获得公共 IP。那是对的吗?
此外,AWS 文档提到了术语ClassicLink。据我了解,该概念仅适用于旧帐户。它还允许拥有公共 IP,但前提是配置了设置了“ClassicLink”标志的 VPC。(在我的帐户中并非如此,因此我无法对其进行测试。)
在夏天,我想问一下我的理解是否正确。如果至少满足以下条件之一,您是否只能在自动扩展组中拥有 EC2 实例的公共 IP:
- 在区域内,存在一个默认 VPC
- 您有一个旧账户(支持 EC2-Classic),并且在该区域中至少存在一个启用 ClassicLink 的 VPC
(请注意,我不能使用 ELB,因为实例并不相同。如果 ELB 对请求进行洗牌,它会混淆系统,因为发送者需要控制哪个实例将处理请求。)
通常,自动缩放组位于负载均衡器 AWS ELB 之后。为每个新实例分配一个公共 IP 通常没有用处,因为您必须将 IP 地址传送给 DNS 或客户端。
但是,如果您有一个有用的边缘情况,您只需让您的启动配置为实例分配一个公共 IP。 .
此外,在默认 VPC 中,我相信默认情况下会将公共 IP 分配给新实例,而在您创建的任何 VPC 中,默认情况下不分配公共 IP。
您当然可以随时将弹性 IP 与 EC2 实例相关联。
只有当您在 VPC 之外有实例时,才使用 ClassicLink。我对 VPC 之外的 AWS 了解不多,因为它太古老了,在我完成的许多 AWS 考试中都没有经过测试。您可能最好将所有内容迁移到 VPC。