从ECS集群中的docker nodejs EC2容器连接到Redis Elasticache集群

时间:2019-02-07 00:20:47

标签: node.js docker amazon-ec2 redis amazon-ecs

我正在构建一个身份验证服务器,用于存储用户访问令牌并跟踪我要使用Redis的令牌。

我已经成功创建并部署了一个小的nodejs应用程序,并将其包装到仅返回令牌的docker容器中。然后我将其推送到AWS的ECR存储库中,并创建了一个可以运行且EC2实例运行正常的任务。

到目前为止,一切都很好。当我尝试连接到我创建的集群时,问题就来了。我正在使用this nodejs redis module,效果很好。

我更改了VPC,因此所有群集和实例都在同一网络配置下。也许这是我搞砸的地方,因为我不是部署专家,甚至不是网络安全组的专家。

我还从同一ECPC上具有相同代码段的另一个EC2实例(不是docker容器,只是一个ubuntu计算机)成功访问了Redis集群,所以代码不是问题。

所以根据我的测试,问题不在VPC中,也不在代码中,所以有人知道我缺少什么吗?也许与Dockerfile连接有关?

我将在此处显示我认为需要的所有配置:

Dockerfile

FROM node:8-alpine
MAINTAINER Sergio Faya Fernandez <sergiofayafernandez@gmail.com>
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . .
RUN npm install
EXPOSE 3000
CMD [ "npm", "start" ]

Redis Elasticache群集 enter image description here

安全组 enter image description here enter image description here

容器安全性 enter image description here

1 个答案:

答案 0 :(得分:0)

没关系,只是发现我在EC2容器中只接受http,我将其更改为接受所有内容,现在它可以正常工作了。

相关问题