【发布时间】:2019-08-01 02:46:40
【问题描述】:
我们正在使用 ElasticBeanstalk 设置几个 Node.js 环境。目前,我们使用 Redis 作为我们在 ElastiCache 中设置的会话存储。
当我 ssh 进入 EC2 实例并 netcat Redis 存储时,我可以确认网络允许通过端口 6379 进行连接:
[ec2-user@<redacted>]$ nc -v <redacted>.usw2.cache.amazonaws.com 6379
Connection to <redacted>.usw2.cache.amazonaws.com 6379 port [tcp/*] succeeded!
EC2 安全组的出站策略:0.0.0.0/0
Redis 安全组的入站策略允许来自我的 EC2 安全组的端口 6379 上的传入 TCP。
这似乎支持了我们在 netcat 成功 ping Redis 存储时看到的观察结果。但是,当尝试连接到 Redis 时,Node.js 应用程序本身会挂起。我可以通过运行以下命令在 EC2 实例上复制它:
[ec2-user@<redacted>]$ ./redis-cli -c -h <redacted>.usw2.cache.amazonaws.com -p 6379 ping
这只是挂起,我们没有收到PONG 回复。鉴于 netcat 的成功,我相当有信心这不是安全组问题,但这里肯定有一些看似不稳定的事情发生在网络上。
有什么想法吗?
【问题讨论】:
标签: amazon-web-services amazon-ec2 redis amazon-elastic-beanstalk amazon-elasticache