AWS DNS解决scheme只能解决内部IP的一种方式?

我在两个独立的VPC中有三个实例。 我已经在VPC之间build立了对等关系,两个VPC都启用了DNSparsing和DNS主机名,对等连接启用了“允许来自对等VPC的DNSparsing”,并且两个VPC的路由表都有路由条目通过对等连接到其他VPC的地址空间。

我们称它们为实例1(驻留在VPC A中)以及实例2和3(驻留在VPC B中)…

用我目前的设置,在实例1上调用nslookup ec2-[instance2].compute-1.amazonaws.com返回实例2的10.xxx地址,实例3的amazonaws.com主机名返回10.xxx地址这和预期的一样。

但是,当我从实例2或实例3调用nslookup ec2-[instance1].compute-1.amazonaws.com ,将返回实例1的54.xxx公用地址而不是其10.xxx地址。

我错过什么或做错了什么? 我已经能够做到这一点(许多月前),我不明白为什么现在不工作。

当相同的AWS账户同时拥有“请求者”和“接受者”VPC时,控制台似乎不允许您在连接的两端进行configuration,因此单向parsing似乎是您实际上可以configuration的唯一方法从控制台 – 只有请求者VPC的主机可以解决。

看来你可以用aws-cli来解决这个问题。

 aws ec2 modify-vpc-peering-connection-options \ --vpc-peering-connection-id 'pcx-xxxxxxxx" \ --requester-peering-connection-options '{"AllowDnsResolutionFromRemoteVpc":true}' \ --accepter-peering-connection-options '{"AllowDnsResolutionFromRemoteVpc":true}' \ --region us-east-1 

换行清晰,为您的--region的区域提供--region选项,并使用--vpc-peering-connection-id

实际上,上面的确改变了aws ec2 describe-vpc-peering-connections返回的值,在检查控制台中的框之后,先前在一侧显示为false,在另一侧显示为true。

对于不包含在控制台中的function来说,这是有点不寻常的,但并不是前所未有的,只能通过API访问。