我有两个来自 Ubuntu 镜像的 EC2 实例,它们位于不同的区域。 我只是想问一下,他们是否可以通过私有(private)IP地址进行通信?
我已经使用安全组打开了所需的端口。我用netcat测试通信,但只有当我使用公共(public) IP 地址时它才有效。
最佳答案
Amazon EC2 之间无法通信通过私有(private) IP 地址访问区域(除非您为此设置了 VPN 和相应的路由,请参阅下面的 VPN 解决方案部分),区域之间的流量实际上是通过公共(public)互联网,并且与任何其他区域没有区别互联网流量,请参见以下常见问题解答来自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? :
Yes, as long as all communication takes place over the Internet Gateway of each VPC and uses the Elastic IP addresses assigned to the instances in each VPC. Please note: security groups cannot span regions. All traffic filtering between instances in one VPC and instances in another VPC must use the Elastic IP addresses as the specified source or destination address. [emphasis mine]
VPN 解决方案
AWS 同时发布了两个演练,描述了基于 IPsec 连接多个 VPC 与 EC2 实例的解决方案或OpenVPN :
- Connecting Multiple VPCs with EC2 Instances (IPSec)
- 请注意,本教程有助于Openswan ,但您可以使用 strongSwan 实现相同的效果(甚至是从内核 2.6+ 开始内置的 Linux IPsec 堆栈,请参见 IPsec L2TP VPN server )
- Connecting Multiple VPCs with EC2 Instances (SSL)
关于amazon-ec2 - 不同区域的EC2实例可以通过其私有(private)IP地址进行通信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891419/