为什么我的 aws ec2 实例有两个 IP 地址?

为什么我的 aws ec2 实例有两个 IP 地址?

在 AWS EC2 控制台上,我的实例的 IPv4 地址显示为,52.**.**.**我使用它通过 ssh 和 https 进行连接。但ifconfig此实例的任何网络接口均未显示此 ip。此外,在172.**.**.***输出ifconfig和机器名称中有一个 ip ( ubuntu@172.**.**.***),但我无法使用此地址通过 ssh 进行连接,也不明白它是什么地址?

答案1

想象一下您的家庭网络。您的计算机上有一个地址(称为私有 IP 地址),还有一个全世界都能看到的公共 IP 地址(由您的路由器 [DSL、电缆调制解调器等] 提供)。

AWS 为您提供虚拟网络(类似于您在家中创建的网络)。此虚拟网络称为 VPC,具有自己的私有地址空间。此 VPC 内的所有系统都会收到一个或多个 IP 地址。这些地址是私有的,无法从 Internet 访问。

AWS 提供了向您的 VPC 添加 Internet 网关 (IGW) 的选项。除了私有 IP 地址之外,IGW 还支持为您的实例分配公有 IP 地址。这就是您看到的公有 IP 地址。

AWS 还提供了另一个选项,即 NAT 网关。这与上面的 Internet 网关非常相似,因为它提供 IP 地址转换,但仅适用于从私有 IP 空间连接到 Internet 的系统。没有反向映射 - 私有系统未分配公共 IP 地址。

AWS 公共 IP 地址有两种类型。共享公共 IP 地址,在启动时分配给您的系统。如果您停止实例,然后在稍后启动,您可能会或可能不会获得不同的 IP 地址。AWS 只会从共享地址池中为您分配一个公共 IP 地址。

第二种公共 IP 地址称为弹性 IP 地址 (EIP)。此地址是半永久性的,因此您可以停止、启动、重启等操作,而无需更改 IP 地址。

相关内容