如何让ec2实例通过内部ip地址或dns与aws上的rds实例进行通信?
我只看到像xxx.cehmrvc73g1g.eu-west-1.rds.amazonaws.com:3306
这样的公开dns
内部ipaddress会比公共dns更快吗?
谢谢
答案 0 :(得分:18)
启用VPC对等连接的DNS解析支持
启用VPC以将公共IPv4 DNS主机名解析为私有IPv4 当从对等VPC中的实例查询时,您必须修改 对等连接。
必须为DNS主机名和DNS解析启用两个VPC。
为对等连接启用DNS解析支持
- 打开Amazon VPC控制台
在导航窗格中,选择对等连接。
选择VPC对等连接,然后选择“操作”,“编辑DNS” 设置。
确保来自对等VPC的查询解析为私有IP 在本地VPC中的地址,选择启用DNS的选项 解析来自对等VPC的查询。
如果对等VPC位于同一AWS账户,您可以选择该选项 为来自本地VPC的查询启用DNS解析。这确保了 来自本地VPC的查询解析为中的私有IP地址 同行VPC。如果对等VPC在a中,则此选项不可用 不同的AWS账户。
选择保存。
- 醇>
如果对等VPC位于不同的AWS账户中,则为对等方的所有者 VPC必须登录VPC控制台,执行步骤2到4,然后执行 选择保存。
答案 1 :(得分:5)
您可以使用" Endpoint" DNS名称。在VPC中使用时,它将解析为内部IP,并在AWS网络外部使用时解析为公共IP。您永远不应该使用实际的IP地址,因为RDS的工作方式将来可能会发生变化。
如果您从EC2(在同一个VPC上)服务器上ping它,您可以验证这一点。
令人惊讶的是,由于我的答案是唯一正确的答案,我得到的票数很少,这里有2个其他来源:
https://forums.aws.amazon.com/thread.jspa?threadID=70112
您可以使用" Endpoint" DNS名称。在EC2中使用时,它将解析为内部IP。
https://serverfault.com/questions/601548/cant-find-the-private-ip-address-for-my-amazon-rds-instance 2
AWS控制台中提供的DNS端点将从亚马逊网络中解析为内部IP。
答案 2 :(得分:2)
查看AWS EC2文档:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-private-addresses。
然而,这似乎并不一定适用于RDS。
答案 3 :(得分:0)
当从同一个VPC中解析您的RDS实例时,Amazon DNS服务会返回内部IP。
如果RDS实例可从外部访问,您将在VPC外部看到外部IP。但是,如果EC2实例不公开,则内部IP地址将返回到外部和内部查找。
内部IP地址是否会快于公共DNS提供的外部地址? 最有可能的是,在使用外部地址时需要路由数据包,从而增加延迟。
它还要求您的EC2实例具有公共IP或NAT网关以及适当的安全组和路由,从而增加成本,增加复杂性并降低安全性。
答案 4 :(得分:0)
非常简单,使用Windows上的命令提示符或通过unix终端
远程登录您的RDS端点例如:telnet“您RDS端点”“端口”
尝试连接“您在此处获取RDS内部IP ”