亚马逊RDS端点内部

时间:2014-01-13 10:58:05

标签: amazon-ec2 rds

如何让ec2实例通过内部ip地址或dns与aws上的rds实例进行通信? 我只看到像xxx.cehmrvc73g1g.eu-west-1.rds.amazonaws.com:3306这样的公开dns 内部ipaddress会比公共dns更快吗?

谢谢

5 个答案:

答案 0 :(得分:18)

后代的注释,确保您在VPC对等链接上启用DNS! enter image description here

  

启用VPC对等连接的DNS解析支持

     

启用VPC以将公共IPv4 DNS主机名解析为私有IPv4   当从对等VPC中的实例查询时,您必须修改   对等连接。

     

必须为DNS主机名和DNS解析启用两个VPC。

     

为对等连接启用DNS解析支持

     
      
  1. https://console.aws.amazon.com/vpc/

  2. 打开Amazon VPC控制台   
  3. 在导航窗格中,选择对等连接。

  4.   
  5. 选择VPC对等连接,然后选择“操作”,“编辑DNS”   设置。

  6.   
  7. 确保来自对等VPC的查询解析为私有IP   在本地VPC中的地址,选择启用DNS的选项   解析来自对等VPC的查询。

  8.   
  9. 如果对等V​​PC位于同一AWS账户,您可以选择该选项   为来自本地VPC的查询启用DNS解析。这确保了   来自本地VPC的查询解析为中的私有IP地址   同行VPC。如果对等V​​PC在a中,则此选项不可用   不同的AWS账户。

  10.   
  11. 选择保存。

  12.   
  13. 如果对等V​​PC位于不同的AWS账户中,则为对等方的所有者   VPC必须登录VPC控制台,执行步骤2到4,然后执行   选择保存。

  14.   

答案 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