AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 AWS Elastic Beanstalk 进行蓝/绿部署

因为 AWS Elastic Beanstalk 在您更新应用程序版本时执行就地更新,所以应用程序可能会对用户短时间不可用。通过执行蓝/绿部署可避免产生停机时间,在这种部署中,您将新版本部署到独立的环境,然后交换两个环境的别名记录,从而将流量立即重定向到新版本。

当应用程序使用生产数据库时,蓝/绿部署要求您的环境独立于生产数据库运行。如果您的环境挂载有 Amazon RDS 数据库实例,数据将不会传输到第二个环境,在您终止原始环境时会丢失数据。

有关如何将您的应用程序配置为连接到外部 (非 Elastic Beanstalk 托管) Amazon RDS 实例的详细信息,请参阅配合使用 Elastic Beanstalk 和 Amazon Relational Database Service

执行蓝/绿部署

  1. 打开 Elastic Beanstalk 控制台

  2. 克隆当前环境或启动运行所需配置的新环境。

  3. 向新环境部署新应用程序版本

  4. 在新环境上测试新版本。

  5. 从新环境的控制面板中,选择操作,然后选择交换环境 URL

  6. 环境名称列表中,选择当前环境。

    “交换环境 URL”页面
  7. 选择 Swap

Elastic Beanstalk 交换旧环境和新环境的别名记录,以将流量从旧版本重定向到新版本,反之亦然。

交换环境 URL 事件

Elastic Beanstalk 完成交换操作之后,验证在您尝试连接到旧环境 URL 时新环境是否响应。但是,在已传送 DNS 更改并且您的旧 DNS 记录过期之前,请勿终止旧环境。DNS 服务器不一定会基于您在 DNS 记录中设置的生存时间 (TTL) 来清除其缓存中的旧记录。