

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

由于 Amazon Elastic Beanstalk 在更新应用程序版本时会执行就地更新，因此用户可能会在短时间内无法使用您的应用程序。要避免这种情况，请执行 blue/green 部署。为此，请将新版本部署到单独的环境中，然后交换两个环境中的一个以立即将流量重定向到新版本。 CNAMEs 

如果要将环境更新到不兼容的平台版本，也需要进行 blue/green 部署。有关更多信息，请参阅 [更新 Elastic Beanstalk 环境的平台版本](using-features.platform.upgrade.md)。

当应用程序使用生产数据库时，蓝/绿部署要求您的环境独立于生产数据库运行。如果您的环境中包含 Elastic Beanstalk 代表您创建的数据库，除非您执行特定操作，否则系统不会保留该环境的数据库和连接。如果您有想要保留的数据库，请使用以下 Elastic Beanstalk 数据库生命周期选项之一。在解耦数据库后，可以选择 Retain（保留）选项以保持数据库和环境的运行状态。有关更多信息，请参阅本指南*配置环境*章节中的[数据库生命周期](using-features.managing.db.md#environments-cfg-rds-lifecycle)。

有关如何将您的应用程序配置为连接到 Amazon RDS 实例（非 Elastic Beanstalk 托管）的说明，请参阅[将 Elastic Beanstalk 和 Amazon RDS 结合使用](AWSHowTo.RDS.md)。

**执行部 blue/green 署**

1. 打开 [Elastic Beanstalk](https://console.amazonaws.cn/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 Amazon Web Services 区域

1. [克隆当前环境](using-features.managing.clone.md)，或启动运行所需平台版本的新环境。

1. 向新环境[部署新应用程序版本](using-features.deploy-existing-version.md#deployments-newversion)。

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

1. 在环境概述页面上，选择**操作**，然后选择**交换环境 URLs**。

1. 对于 **Environment name**（环境名称），请选择当前环境。  
![\[Swap environment URL（交换环境 URL）页面\]](http://docs.amazonaws.cn/elasticbeanstalk/latest/dg/images/aeb-env-swap-url.png)

1. 选择 **Swap**（交换）。

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

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