我的负载均衡器无法与我的 Fargate 实例通信
My load balancer cannot communicate with my fargate instances
我正在学习有关 VPC、子网、ECS(使用 Fargate)等的一些基础知识。我正在尝试使用以下 Dockerfile 部署一个非常基本的 docker 容器:
FROM node:14
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm ci --only=production
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "node", "index.js" ]
此图像在本地和使用 Fargate 部署时工作正常(我可以在 CloudWatch 中看到日志)。当负载平衡器尝试联系我的容器时,问题就来了。它没有通过健康检查,所以实例被销毁,然后又一次又一次地创建。
映像已部署到 ECR,ECS 可以访问它(因为我可以看到服务 运行 几秒钟)。
这就是问题所在,现在我将描述我做了什么以及我设置了哪些配置和资源:
VPC
- 编号:vpc-0aca80a8ee7f636f6
- IPv4: 172.30.0.0/16
与以下路线table关联:
- 路由table:
- 路线:
- 172.30.0.0/16 -> 本地
- 0.0.0.0/0 -> igw-07bb57585a09fa127
- 子网关联:
- subnet-09364cab61f5e5e04 / public-subnet-2 (172.30.12.0/24)
- subnet-09fec2674273e56f2 / public-sn (172.30.10.0/24)
互联网网关连接到 VPC。我还创建了一个附加到 subnet-09fec2674273e56f2 / public-sn
.
的 NAT
这些是我在该 VPC 中创建的子网(我只使用选定的子网):
我想这就是我为建立网络所做的一切。我还创建了一个 ECS 集群 而没有 创建一个新的 VPC。我创建了一个任务定义,配置如下:
我知道任务数是 0,我更改它以避免一直重新创建实例,直到我解决问题。
这是负载均衡器的配置:
以及目标群体:
知道请求超时的原因吗?需要更多信息吗?
更新 1
任务定义的安全组:
您需要在您的安全组中允许端口 8080。您可以在您的安全组中使用您的 sg-id。
我正在学习有关 VPC、子网、ECS(使用 Fargate)等的一些基础知识。我正在尝试使用以下 Dockerfile 部署一个非常基本的 docker 容器:
FROM node:14
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm ci --only=production
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "node", "index.js" ]
此图像在本地和使用 Fargate 部署时工作正常(我可以在 CloudWatch 中看到日志)。当负载平衡器尝试联系我的容器时,问题就来了。它没有通过健康检查,所以实例被销毁,然后又一次又一次地创建。
映像已部署到 ECR,ECS 可以访问它(因为我可以看到服务 运行 几秒钟)。
这就是问题所在,现在我将描述我做了什么以及我设置了哪些配置和资源:
VPC
- 编号:vpc-0aca80a8ee7f636f6
- IPv4: 172.30.0.0/16
与以下路线table关联:
- 路由table:
- 路线:
- 172.30.0.0/16 -> 本地
- 0.0.0.0/0 -> igw-07bb57585a09fa127
- 子网关联:
- subnet-09364cab61f5e5e04 / public-subnet-2 (172.30.12.0/24)
- subnet-09fec2674273e56f2 / public-sn (172.30.10.0/24)
- 路线:
互联网网关连接到 VPC。我还创建了一个附加到 subnet-09fec2674273e56f2 / public-sn
.
这些是我在该 VPC 中创建的子网(我只使用选定的子网):
我想这就是我为建立网络所做的一切。我还创建了一个 ECS 集群 而没有 创建一个新的 VPC。我创建了一个任务定义,配置如下:
我知道任务数是 0,我更改它以避免一直重新创建实例,直到我解决问题。
这是负载均衡器的配置:
知道请求超时的原因吗?需要更多信息吗?
更新 1
任务定义的安全组:
您需要在您的安全组中允许端口 8080。您可以在您的安全组中使用您的 sg-id。