为什么连接使用弹性IP超时,而不是使用公共DNS

时间:2014-02-27 05:26:09

标签: security amazon-ec2 elastic-ip

我在AWS上设置了Redis服务器。 Redis服务器有自己的安全组:sg-redis。 我还有另一个安全组(sg-webserver)下的网络服务器,它可以连接到redis服务器。 对于这个安全组,我打开了:

  • TCP 6379 for sg-webserver
  • TCP 22 for sg-webserver

我的redis服务器有一个与EC2实例关联的弹性IP。

从网络服务器,如果我使用弹性IP telnet我的redis服务器,我会收到连接超时:

[root@web-server:~]# telnet 54.11.22.333 6379
Trying 54.11.22.333...
telnet: connect to address 54.11.22.333: Connection timed out

现在我使用Redis服务器的公共DNS做同样的事情:

[root@web-server:~]# telnet ec2-11-22-33-444.compute-1.amazonaws.com 6379
Trying 10.22.33.444...
Connected to ec2-11-22-33-444.compute-1.amazonaws.com.
Escape character is '^]'.

我可以看到网络服务器正在将公共DNS转换为AWS内部IP(而不是弹性IP),所以我想这就是它工作的原因。

现在我的问题是为什么这不适用于弹性IP? 我是否必须在内部使用公共DNS?

干杯,马克西姆

1 个答案:

答案 0 :(得分:2)

是的,您应该在内部使用公共DNS。仅凭这个原因,它将根据您的使用位置解析为内部或外部IP。