【问题标题】:Docker on AWS - what is a difference between Elastic Beanstalk and ECS?AWS 上的 Docker - Elastic Beanstalk 和 ECS 有什么区别?
【发布时间】:2015-11-20 03:14:09
【问题描述】:

我想从 Heroku 迁移到 Amazon AWS,我想在 Docker 映像中部署我的应用程序。所以应用程序包括:

  • Web 服务器(node.js -> docker 镜像)
  • Worker(node.js -> docker 镜像)
  • Postgres 数据库 (Amazon RDS)
  • Redis 实例(Amazon ElatiCache?)

使用我的应用程序我(Web+Worker):

  • 我必须能够手动或自动扩展 Web 和工作实例。
  • 使用零停机时间更新新映像
  • 查看实时/历史指标
  • 查看实时/历史日志

现在在研究 Amazon 文档时,我发现了“Elastic Beanstalk”和“Amazon EC2 Container Services (ECS)”。我想知道我应该使用哪一个来管理我的应用程序(docker 图像)?它们之间有什么区别?

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk amazon-ecs


    【解决方案1】:

    AWS Elastic Beanstalk 在其 Multicontainer Docker Environments 的底层使用 Amazon EC2 Container Service,差异由相应的解决方案解决。常见问题How is Amazon ECS different from AWS Elastic Beanstalk?

    AWS Elastic Beanstalk [...] 保留构建块的配置(例如,EC2、RDS、Elastic 负载平衡、Auto Scaling、CloudWatch)、应用程序部署、 和从用户那里抽象出来的健康监控,这样他们就可以专注于 关于编写代码。您只需指定要使用的容器图像 部署、CPU 和内存要求、端口映射以及 容器链接。 Elastic Beanstalk 将 [...] 处理所有 诸如预置 Amazon ECS 集群、平衡负载、 自动缩放、监控并将您的容器放置在您的 集群。

    [...] 你可以工作 如果您想要更细粒度的控制,请直接使用 Amazon ECS 自定义应用程序架构。 [强调我的]

    此外,只有 Elastic Beanstalk 支持 Heroku 的推送部署模型(请参阅 EB Command Line Interfacedeploy 命令),因此对于您的场景,我绝对建议您查看 Elastic Beanstalk 的 Multicontainer Docker Environments,而不是使用 Amazon ECS直接。

    【讨论】:

    • 如果您列出我们在 EB 中没有的 ECS 中的细粒度控制,那就太好了。
    • @LakshmanDiwaakar 提到:“配置 Amazon ECS 集群、平衡负载、自动扩展、监控以及将容器放置在整个集群中”
    猜你喜欢
    • 1970-01-01
    • 2015-03-25
    • 2020-12-29
    • 2015-05-01
    • 2016-10-04
    • 2014-12-22
    • 2014-11-15
    • 2019-10-04
    相关资源
    最近更新 更多