【问题标题】:Why the connection is timing out with Elastic IP but not with the public DNS为什么使用弹性 IP 的连接超时但没有使用公共 DNS
【发布时间】:2014-03-30 08:44:42
【问题描述】:

我在 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 吗?

干杯,马克西姆

【问题讨论】:

    标签: security amazon-ec2 elastic-ip


    【解决方案1】:

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

    【讨论】:

    • 另外值得注意的是,使用“公共或弹性 IP”在“同一可用区中的 Amazon EC2、Amazon RDS 和 Amazon ElastiCache 实例或弹性网络接口”之间传输数据不是免费的,并在连接的每一端产生 0.01 美元/GB 的数据传输费用,而使用私有 IP 为 0.00 美元。 aws.amazon.com/ec2/pricing
    • 但是使用弹性 IP 很容易拥有一个备份 redis 实例并通过切换 EIP 切换到该实例。您选择在配置文件中设置私有 IP 并在 redis 机器 IP 更改时更改它?
    猜你喜欢
    • 2019-07-10
    • 1970-01-01
    • 2017-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多