gpt4 book ai didi

amazon-web-services - Elastic BeanStalk MultiContainer docker 失败

转载 作者:行者123 更新时间:2023-12-01 08:35:39 24 4
gpt4 key购买 nike

我想在弹性 beanstalk 中部署一个多容器应用程序。我收到以下错误。

Error 1: The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again.

我只使用公共(public)子网和允许所有入站和出站流量的安全组设置了 VPC。我知道不鼓励在生产级部署中这样做,但我降低了查找错误原因的复杂性。

因此,负载均衡器和 EC2 实例位于与互联网网关连接的同一个公共(public)子网内。它们都共享同一个安全组,允许所有流量。

在上述错误之前,我还收到另一个错误说明

Error 2: No ecs task definition (or empty definition file) found in environment

话虽如此,我已将 Dockerrun.aws.json 文件与 .ebextensions 文件夹 捆绑在 beanstalk 用于的源包中部署。在所有这些错误之后,深入到两个问题:

  1. 当我打包包含 containerDefinitions 的 dockerrun.aws.json 文件时,我无法理解为什么会出现 No ecs task error
  2. 由于没有运行 ecs 任务,因此实例中没有运行任何内容。这就是beantalk和ELB无法与实例通信的原因吗? (假设我的公有子网和所有流量安全组都没有问题)

最佳答案

问题在于 VPC。即使我有一个只有公共(public)子网的简单 VPC,beantalk 也无法与实例通信,因此无法在实例中部署 ECS 任务定义和 docker 容器。

通过创建两个子网,即公有子网和私有(private)子网,并在公有子网中有一个 NAT 实例,它成为私有(private)子网中实例的路由器。使上述设置对我有用,我可以成功地将 ECS 任务定义部署到私有(private)子网中的 EC2 实例。

关于amazon-web-services - Elastic BeanStalk MultiContainer docker 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41219462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com