2

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

  • 用于 sg-webserver 的 TCP 6379
  • 用于 sg-webserver 的 TCP 22

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

从网络服务器,如果我使用弹性 IP 远程登录我的 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),所以我想这就是它工作的原因。

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

干杯,马克西姆

4

1 回答 1

2

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

于 2014-02-27T05:31:36.430 回答