我有两个来自Ubuntu图像的EC2实例,它们位于不同的区域。 我只是想问一下,他们是否可以通过私有IP地址进行通信?
我已使用安全组打开了所需的端口。我使用netcat来测试通信,但只有在我使用公共IP地址时它才有效。
答案 0 :(得分:38)
无法通过私有IP地址在Amazon EC2区域之间进行通信(除非您为此设置VPN和相应的路由,请参阅下面的 VPN解决方案部分),区域实际上是通过公共互联网,并且与任何其他互联网流量无法区分,例如参见来自Region and Availability Zone FAQ的以下常见问题解答:
实例可以跨区域使用基于组的防火墙规则吗? - 不。基于组的防火墙规则仅适用于区域。如果您需要跨区域相互通信的实例,则应使用基于CIDR的防火墙规则。 [...]
区域间数据传输的成本是多少? - 从一个地区传输到另一个地区的数据按互联网数据传输速率向双方收费。
这同样适用于Amazon VPC,例如,常见问题Can Amazon EC2 instances within a VPC in one region communicate with Amazon EC2 instances within a VPC in another region?:
是,只要所有通信都通过Internet进行 每个VPC的网关并使用分配给的弹性IP地址 每个VPC中的实例。请注意:安全组无法跨越 区域即可。一个VPC中的实例之间的所有流量过滤 另一个VPC中的实例必须使用弹性IP地址作为 指定的源或目标地址。 [强调我的]
AWS同时发布了两个演练,描述了基于IPsec或OpenVPN 使用EC2实例连接多个VPC 的解决方案:
答案 1 :(得分:1)
现在您可以使用 AWS VPC 对等连接来实现。
它使两个VPC中不同地域,甚至不同账号的资源都能够与私有IP地址通信,就像在同一个局域网中一样。
您需要知道的一件事是您为两个 VPC 选择的 CIDR 块,它们不能冲突。否则无法建立对端连接。
请参阅关于 VPC peer connection 的官方文档。