EC2 实例的私有 IP

Private IP of an EC2 instance

每当我创建一个新的亚马逊 EC2 实例(linux 或 windows)时,除了 public IP 之外,还会为其分配私有 IP。

我们使用 public IP 访问该实例上的资源。 tomcat 等资源...

为该实例提供的私有 IP 的确切用途是什么?

每个 Amazon EC2 实例都有一个属于 VPC 和启动它的子网的私有 IP 地址。

实例还可以选择接收一个 Public IP 地址,以便可以从 VPC 外部访问它。如果实例停止和启动,此 IP 地址可能会更改。或者,您可以使用保持静态的弹性 IP 地址。

如果同一 VPC 中的实例相互通信,它们应该始终使用私有 IP 地址。这样更快、更便宜、更安全。

从 VPC 外部与实例通信时仅使用 Public IP 地址。

使用 EC2 实例的主 IP 的主要原因是在您的子网或 VPC 内部路由流量。如果您在同一个 VPC 中有两个实例 instA 和 instB:

  • 如果使用私有IP通信,流量会停留在VPC内,不会路由出去,路由table会在内部路由
  • 如果您使用 public IP 进行通信,流量将流出到互联网(通过 NAT 或互联网网关)并返回到您的 VPC。如果您使用私有 IP
  • ,则可以避免这种不必要的往返
  • 由于私有 IP 是内部的,因此更加安全,因为第三方没有机会 inspect/inject 流量
  • 如果流量保持在 VPC 内部(和相同可用区),则不收取数据传输费用。但是如果数据从VPC流出,需要支付data xfer charge
  • 除非您希望您的实例接受来自外部的流量,否则您不应在 public 子网中启动实例或为其分配 public IP