在aws上部署一套web应用,通常要做以下事情:

  • 设计架构

  • 部署代码

  • 配置数据库、负载均衡……

  • 实现自动扩展(ASG)


另外同一个项目可能有多套环境,而且我们可能要负责多个项目,如果每个项目都得搭上面这些架构资源,会有些费力。beanstalk就是为了解决这些问题。

beanstalk的三种架构

  • 单实例。用于开发目的

  • LB + ASG。用于线上应用

  • 只有ASG。适用于非web应用,比如大数据。

image-20191007110924836

image-20191007110943169

beanstalk的三个组件

  • Application

  • Application version

  • Environment name:dev、prod、test……

image-20191006183714178

Elastic Beanstalk底层使用cloudformation创建所有资源:

image-20191007161633453