【发布时间】:2021-03-21 01:44:47
【问题描述】:
我有两个来自 Ubuntu 映像的 EC2 实例,它们位于不同的区域。 我只是想问一下,他们是否可以通过私有 IP 地址进行通信?
我已经使用安全组打开了所需的端口。我使用netcat 来测试通信,但它只在我使用公共 IP 地址时才有效。
【问题讨论】:
标签: amazon-ec2 amazon-web-services
我有两个来自 Ubuntu 映像的 EC2 实例,它们位于不同的区域。 我只是想问一下,他们是否可以通过私有 IP 地址进行通信?
我已经使用安全组打开了所需的端口。我使用netcat 来测试通信,但它只在我使用公共 IP 地址时才有效。
【问题讨论】:
标签: amazon-ec2 amazon-web-services
不可能通过私有 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 的网关,并使用分配给 VPC 的弹性 IP 地址 每个 VPC 中的实例。请注意:安全组不能跨越 地区。一个 VPC 中的实例之间的所有流量过滤和 另一个 VPC 中的实例必须使用弹性 IP 地址作为 指定的源或目标地址。 [强调我的]
AWS 同时发布了两个演练,描述了一种基于IPsec 或OpenVPN将多个 VPC 与 EC2 实例连接的解决方案:
【讨论】:
现在您可以使用 AWS VPC 对等连接来做到这一点。
它使不同地域甚至不同账户的两个VPC中的资源能够与私有IP地址通信,就像在同一个局域网中一样。
您需要知道的一件事是您为两个 VPC 选择的 CIDR 块,它们不能有冲突。否则无法成功建立对等连接。
查看VPC peer connection的官方文档。
【讨论】: