

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

# 将 Elastic Beanstalk 和 Amazon RDS 结合使用
<a name="AWSHowTo.RDS"></a>

本节介绍如何将 Elastic Beanstalk 与 Amazon Relational Database Service（Amazon RDS）结合使用来设置、操作和扩展关系数据库。我们解释一些有关配置的概念并提供建议。然后，我们将引导您完成创建和连接到 Amazon RDS 的过程。

有两种选择可以开始：
+ 在 Amazon RDS 中创建新的数据库
+ 从先前[由 Elastic Beanstalk 创建](using-features.managing.db.md)并随后与 Beanstalk 环境[解耦](using-features.managing.db.md#using-features.decoupling.db)的数据库开始。有关更多信息，请参阅 [将数据库添加到 Elastic Beanstalk 环境](using-features.managing.db.md)。

**选择方法**  
您可以使用任一方法在 Amazon RDS 中运行数据库实例，并将应用程序配置为在启动时连接到该数据库实例。您可以将多个环境连接到数据库。

**注意**  
如果您之前没有将数据库实例与应用程序结合使用，我们建议您请先使用 Elastic Beanstalk 控制台将一个数据库实例添加到测试环境。这样，您就可以验证应用程序是否可以读取环境属性、构建连接字符串以及连接到数据库实例，而无需为独立的数据库执行额外的配置工作。有关更多信息，请参阅 [将数据库添加到 Elastic Beanstalk 环境](using-features.managing.db.md)。

**配置安全组**  
要允许您环境中的 Amazon EC2 实例连接到外部数据库，请为与您的环境关联的 Auto Scaling 组配置额外的安全组。您可以将同一安全组附加到数据库实例。或者，您可以使用单独的安全组。如果您附加了其他安全组，则必须将附加到数据库的安全组配置为允许来自此安全组的入站访问。

**注意**  
您可以通过向附加到数据库的安全组添加规则来将环境连接到数据库。此规则必须允许从 Elastic Beanstalk 附加到您的环境的 Auto Scaling 组的自动生成的安全组进行入站访问。但是，要知道，通过创建此规则，您还可以在两个安全组之间建立依赖关系。随后，当您尝试终止环境时，Elastic Beanstalk 将无法删除环境的安全组，因为数据库的安全组依赖于环境的安全组。

**配置数据库连接**  
在启动数据库实例并配置安全组后，您可以使用环境属性将连接信息（例如端点和密码）传递到应用程序。这是当您在环境中运行数据库实例时，Elastic Beanstalk 在后台使用的相同机制。

为了提供一层额外的安全性，您可以将连接信息存储在 Amazon S3 中，并将 Elastic Beanstalk 配置为在部署期间检索该信息。利用[配置文件（`.ebextensions`）](ebextensions.md)，您可以在部署应用程序时配置环境中的实例以从 Amazon S3 安全地检索文件。

**Topics**
+ [在默认 VPC 中启动并连接到外部 Amazon RDS 实例](rds-external-defaultvpc.md)
+ [将 Amazon RDS 凭证存储在 Amazon Secrets Manager](rds-external-credentials.md)
+ [清除外部 Amazon RDS 实例](#rds-external-cleanup)

## 清除外部 Amazon RDS 实例
<a name="rds-external-cleanup"></a>

在将外部 Amazon RDS 实例连接到 Elastic Beanstalk 环境时，数据库实例不会与环境的生命周期相关联，因此不会在您终止环境时被删除。要确保可能已存储在数据库实例中的个人信息不会被不必要地保留，请删除不再需要的任何记录。或者，删除数据库实例。