dan*_*rus 2 amazon-ec2 amazon-web-services amazon-vpc
我必须使用 EC2 实例。它们都位于同一个 VPC 中,并且都分配有公共 IP。
我的问题是我需要使用安全组中的公共 IP 才能允许它们进行通信。如果我尝试使用私有 IP,它们的连接将被拒绝。
我最终将删除他们的公共 IP,并且希望之后不必更改我的安全组设置。
为什么我无法使用私有 IP 作为同一 VPC 中两台机器的源?
tl;dr:当您使用其公共 IP 地址连接到实例时,您也必须使用源计算机的公共地址作为源地址(或者其 NAT 网关的地址,如果源实例没有公共 IP),并且当您执行此操作时,您的流量将流出到互联网并返回(尽管您承认您并没有远离互联网)。
让我们举两个例子:
#1 public 203.0.113.1 private 172.31.3.1
#2 public 203.0.113.2 private 172.31.3.2
Run Code Online (Sandbox Code Playgroud)
如果实例 #1 使用实例 #2 的公共 IP 203.0.113.2 连接到 #2:
如果实例 #1 使用 172.31.3.2 连接到实例 #2,则基本上不会发生这种情况,因此 #2 的安全组会将 172.31.3.1 视为源地址。
使用目标实例的私有 IP 是正确的方法。
请注意,使用私有 IP 时,您还可以在实例 #2 的安全组规则中列出实例 #1 的安全组 ID,而不是列出实例 #1 的私有 IP 地址。它与控制台中的 IP 位于同一位置 -sg
在该框中键入内容,您应该能够选择一个。如果您将实例 #1 放在自动扩展的“一组”中,这可能更容易维护并且运行良好 - 以便自动扩展在失败时替换机器。
另请注意,当两个实例使用其公共 IP 进行通信时,您需要为外出和返回付费。这并不像 Internet 流量成本那么多,但费率与区域内可用区之间的费率类似。区域内 VPC 对等流量。
归档时间: |
|
查看次数: |
2746 次 |
最近记录: |