【问题标题】:Hosting a Docker Container in S3 vs Elastic Beanstalk?在 S3 与 Elastic Beanstalk 中托管 Docker 容器?
【发布时间】:2021-02-04 15:40:38
【问题描述】:

我听说过在容器中的 S3 中托管/服务静态网站的策略。比放在弹性豆茎里有什么好处?

【问题讨论】:

  • 您想在 S3 中运行 Docker 容器吗?您是说在 S3 中托管您网站的静态资产吗?
  • 是的,例如一个网站
  • 您可以使用 S3 进行静态网站托管,重点是静态的。它不是提供任何类型计算功能的服务。为此,您可以使用 ECS 来运行您的容器或 Beanstalk。一种常见的模式是在您的架构前面放置一个 CloudFront 分配,该分配从 S3 提供静态内容,其余的则从您的后端提供。
  • 但是当我提供 s3 存储桶的 url 时,docker 容器是如何启动的呢?

标签: amazon-s3 aws-cloud9


【解决方案1】:

我已经绘制了一个快速的架构图,希望能够消除误解。

S3 不执行任何代码。这里没有 Docker 容器。

你说的模式大概是这样的:

  • CloudFront 分配(内容交付网络)是基础架构的入口点
  • 任何静态内容都由 S3 提供,经过优化以提供静态内容
  • 任何需要服务器端代码的动态内容(即非静态路径)都可以路由到例如负载均衡器,例如 Application Load Balancer
  • 负载平衡器然后决定哪个后端为请求提供服务
  • 例如,后端可以由 Elastic Beanstalk 管理的 EC2 实例或由 ECS 或 EKS 等管理的容器组成。
  • 计算基础架构还包含长时间运行的进程(通常,我在这里不包括 ALB 和 Lambda 之间的集成)。

这样做的好处是,您不必将相对昂贵的计算资源浪费在服务静态内容上,这可以通过 S3 等专门且更便宜的解决方案来完成。

【讨论】:

    猜你喜欢
    • 2019-12-11
    • 2017-07-26
    • 2017-05-07
    • 2015-05-01
    • 2017-07-04
    • 2018-06-20
    • 2017-10-14
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多