2

我有一个 VPC,在不同的可用区(公共子网 2a 和公共子网 2b)中有 2 个公共子网。我有两个私有子网(private-2a-EB-Instance、private-2b-EB-Instance)和另外两个用于 Elasticache 的私有子网(private-2a-EB-Instance、private-2b-EB-Instance),这两个elasticache 的子网是我在创建 Elasticache 集群时使用的子网组的一部分。

我为我的 ElastiCache(redis) 创建了一个安全组,并更改了它的入站规则,以便它可以接受来自我的 ElasticBeanstalk 环境的安全组的连接。没有解决问题。

我已按照 AWS 网站上的说明进行操作,但无法正常工作。我想知道我做错了什么。我正在使用socket-io-redis,我想知道这是否可能是问题的一部分。

我使用了此处提供的 .config 文件,但在部署应用程序时出现错误。它说创建它时出错。

我从控制台创建了集群并尝试使用“主端点”将其连接到我的 EB 应用程序,但出现错误:

Error: Redis connection to https://myelasticache.xxxxxxxxx.cache.amazonaws.com:6379 failed - getaddrinfo ENOTFOUND https://myelasticache.xxxxxxxxx.cache.amazonaws.com 

我究竟做错了什么?我错过了什么?

4

1 回答 1

3

我认为问题在于您已包含https://在应该是主机名的内容中。Redis 不通过 HTTP 连接,它使用自己的协议。该错误消息getaddrinfo ENOTFOUND https://myelasticache.xxxxxxxxx.cache.amazonaws.com表明它正在尝试解决https://myelasticache.xxxxxxxxx.cache.amazonaws.com您希望它使用的问题myelasticache.xxxxxxxxx.cache.amazonaws.com

因此,请尝试删除https://并查看它是否有效,或者您是否收到另一个错误。

于 2020-06-10T01:29:30.953 回答