我正在构建一个身份验证服务器,用于存储用户访问令牌并跟踪我要使用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" ]
答案 0 :(得分:0)
没关系,只是发现我在EC2容器中只接受http,我将其更改为接受所有内容,现在它可以正常工作了。