【问题标题】:AWS Fargate 502 Bad Gateway after initial load初始加载后的 AWS Fargate 502 Bad Gateway
【发布时间】:2021-04-05 16:24:06
【问题描述】:

我一直在关注 Fargate/docker 教程:https://medium.com/containers-on-aws/building-a-socket-io-chat-app-and-deploying-it-using-aws-fargate-86fd7cbce13f

这是我的 Dockerfile

FROM mhart/alpine-node:15 AS build
WORKDIR /srv
ADD package.json .
RUN yarn
ADD . .

FROM mhart/alpine-node:base-9
COPY --from=build /srv .
EXPOSE 3000
CMD ["node", "index.js"]

我有两个 Fargate 堆栈

production 是从 AWS CloudFormation public-service template 创建的

chat 是从 AWS CloudFormation public-vpc template 创建的,并使用教程中的一些参数替换:

生产堆栈公开一个有效的 ExternalUrl 输出参数

当我打开 URL 时,我可以看到索引的初始加载成功

但资源以 502(错误网关)响应

如果我刷新 URL,索引也会抛出错误

我是 AWS 和 Fargate 的新手。是否有我应该检查的服务器日志?这可能是我用于设置的任何一个模板(public-vpc.ymlpublic-service.yml)的问题吗?感谢您提供任何帮助 - 谢谢。

【问题讨论】:

  • 您链接的两个模板按原样使用 - 没有进行任何修改以允许重现问题?
  • @Marcin 我按照教程修改了 public-service.yml 上的以下字段:ContainerPort、DesiredCount、ImageUrl、ServiceName、StackName — public-vpc.yml 上没有修改任何字段
  • 日志可以去CloudWatch查看。
  • 我使用聊天容器运行模板。我没有问题,一切都按预期工作。您能否更详细地描述一下您到底在做什么,如何测试聊天应用程序?

标签: amazon-web-services docker amazon-cloudformation aws-fargate aws-cloudformation-custom-resource


【解决方案1】:

您的运行状况检查似乎失败,因此正在停止实例。您可以通过导航到 ECS -> Clusters -> (Cluster) -> (Service) -> Tasks -> Stopped 来验证这一点 - 这将显示最近停止的容器列表以及原因。

CloudFormation我没挖过,但我敢打赌Health Check到容器端口的映射是错误的。

【讨论】:

    【解决方案2】:

    谜团解开了!感谢@Marcin 和@cynicaljoy 的帮助。 @cynicaljoy,我检查了 ECS 集群状态,但没有什么异常——聊天任务是 RUNNING。

    @Marcin,我按照您的指示重新创建了堆栈和应用程序。现在它起作用了!我的问题是第一次忽略了在我的所有 AWS 命令​​中匹配正确的区域。有些使用us-west-1 运行,有些使用us-west-2。一旦我匹配了这些,网关问题就消失了。

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 2019-08-24
      • 2021-03-04
      • 1970-01-01
      • 2019-09-15
      • 2017-08-08
      • 1970-01-01
      • 2015-07-25
      • 2014-10-04
      相关资源
      最近更新 更多