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

向 Elastic Beanstalk 环境中添加数据库

Elastic Beanstalk 提供了与 Amazon Relational Database Service (Amazon RDS) 的集成以帮助您将数据库实例添加到 Elastic Beanstalk 环境。您可以使用 Elastic Beanstalk 在创建环境期间或之后将 MySQL、PostgreSQL、Oracle 或 SQL Server 数据库添加到您的环境。当您将数据库实例添加到您的环境时,Elastic Beanstalk 会通过设置数据库主机名、端口、用户名、密码和数据库名称的环境属性向您的应用程序提供连接信息。

属于您的环境一部分的数据库实例将关联到环境的生命周期。在将数据库实例添加到环境后,无法从环境中将其删除。如果终止环境,则会同时终止数据库实例。您可以配置 Elastic Beanstalk 使其在您终止环境时保存数据库的快照,并在您向环境中添加数据库实例时从快照中恢复数据库。您可能产生存储数据库快照的费用。有关更多信息,请参阅 Amazon RDS 定价中的备份存储 一节。

对于生产环境,您可以在您的环境之外启动一个数据库实例并将应用程序配置为在 Elastic Beanstalk 提供的功能范围之外连接到该实例。要使用环境外部的数据库实例,需要其他安全组和连接字符串配置。但是,这也使您能够从多个环境连接到数据库、使用集成数据库不支持的数据库类型、执行蓝/绿部署以及停用您的环境,而不会影响数据库实例。

向环境中添加 Amazon RDS DB 实例

您可以使用 Elastic Beanstalk 控制台将数据库实例添加到您的环境。

向环境添加数据库实例

  1. 打开 Elastic Beanstalk 控制台

  2. 导航到您的环境的管理页

  3. 选择 Configuration

  4. 数据库配置卡上,选择修改

  5. 选择数据库引擎,然后输入用户名和密码。

  6. 选择 Apply

您可以配置以下选项:

  • 快照 – 选择现有数据库快照。Elastic Beanstalk 还原该快照并将它添加到您的环境。默认值为,这将允许您使用此页面上的其他设置来配置新的数据库。

  • 引擎 – 选择数据库引擎。

  • 引擎版本 – 选择数据库引擎的具体版本。

  • 实例类 – 选择数据库实例类。有关数据库实例类的信息,请参阅 http://www.amazonaws.cn/rds/

  • Storage – 选择要为数据库预置的存储空间量。您可以以后增加分配的存储空间,但是不能降低它。有关存储分配的信息,请参阅功能

  • 用户名 – 键入您选择的使用字母数字字符的用户名。

  • 密码 – 键入您选择的包含 8 到 16 个可打印 ASCII 字符(不包括 /\@)的密码。

  • 保留 – 选择创建快照可在您终止环境时创建数据库的快照。

  • 可用性 – 选择高 (多可用区) 可在辅助可用区中运行热备份以实现高可用性。

注意

Elastic Beanstalk 会使用您提供的用户名和密码为数据库创建主用户。要了解有关主用户及其权限的更多信息,请参阅主用户账户权限

 Elastic Beanstalk 的“Auto Scaling 配置”窗口

添加一个数据库实例大约需要 10 分钟。环境更新完成后,您的应用程序就可以通过以下环境属性访问数据库实例的主机名和其他连接信息:

  • RDS_HOSTNAME – 数据库实例的主机名。

    Amazon RDS 控制台标签 – 终端节点 (这是主机名)

  • RDS_PORT – 数据库实例接受连接的端口。默认值因数据库引擎而异。

    Amazon RDS 控制台标签 – Port

  • RDS_DB_NAME – 数据库名称,ebdb

    Amazon RDS 控制台标签 – DB Name

  • RDS_USERNAME – 您为数据库配置的用户名。

    Amazon RDS 控制台标签 – Username

  • RDS_PASSWORD – 您为数据库配置的密码。

连接到数据库

使用连接信息,通过环境变量与应用程序内的数据库连接。有关配合使用 Amazon RDS 和您的应用程序的详细信息,请参阅 以下主题。

使用控制台配置集成 RDS 数据库实例

您可以在 Elastic Beanstalk 控制台中,在环境的 Configuration (配置) 页上的 Database (数据库) 部分中查看和修改数据库实例的配置设置。

在 Elastic Beanstalk 控制台中配置环境的数据库实例

  1. 打开 Elastic Beanstalk 控制台

  2. 导航到您的环境的管理页

  3. 选择 Configuration

  4. 数据库配置卡上,选择修改

创建数据库后,您可以修改实例类存储密码保留可用性设置。如果您更改实例类,Elastic Beanstalk 将重新预置数据库实例。

警告

请勿在 Elastic Beanstalk 提供的功能之外修改数据库实例的设置 (例如,Amazon RDS 控制台)。如果您执行此操作,则 Amazon RDS 数据库配置可能与您的环境的定义不同步。在更新或重新启动环境时,环境中指定的设置将覆盖在 Elastic Beanstalk 外部所做的任何设置。

如果您需要修改 Elastic Beanstalk 不直接支持的设置,请使用 Elastic Beanstalk 配置文件

使用配置文件配置集成 RDS 数据库实例

您可以使用配置文件配置环境的数据库实例。使用 aws:rds:dbinstance 命名空间中的选项。以下示例将分配的数据库存储大小修改为 100 GB。

例 .ebextensions/db-instance-options.config

option_settings: aws:rds:dbinstance: DBAllocatedStorage: 100

如果您需要配置 Elastic Beanstalk 不支持的数据库实例属性,则仍可使用配置文件,并使用 resources 键指定您的设置。以下示例将值设置为 StorageTypeIops Amazon RDS 属性。

例 .ebextensions/db-instance-properties.config

Resources: AWSEBRDSDatabase: Type: AWS::RDS::DBInstance Properties: StorageType:io1 Iops: 1000