本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon RDS 服务层
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
一个 Amazon RDS 服务层表示一个 Amazon RDS 实例。该层可以仅表示您必须使用 Amazon RDS 控制台
将 Amazon RDS 服务层包含到堆栈中的基本过程如下所示:
-
使用 Amazon RDS 控制台、API 或 CLI 创建实例。
务必记录实例的 ID、主用户名称、主密码和数据库名称。
-
要将 Amazon RDS 层添加到堆栈,请将 Amazon RDS 实例注册到堆栈。
-
将该层添加到应用程序,这会将 Amazon RDS 实例的连接信息添加到应用程序的 deploy 属性。
-
使用语言特定文件或
deploy
属性中的信息将应用程序连接到 Amazon RDS 实例。有关如何将应用程序连接到数据库服务器的更多信息,请参阅将应用程序连接到数据库服务器
警告
请确保实例的主密码和用户名中的字符与应用程序服务器兼容。例如,对于 Java 应用程序服务器层,在任一字符串中包含 &
将导致阻止 Tomcat 服务器启动的 XML 分析错误。
指定安全组
要使用带有 AWS OpsWorks 堆栈的 Amazon RDS 实例,数据库或 VPC 安全组必须允许从相应的 IP 地址进行访问。对于生产使用,安全组通常将访问对象限制为需要访问数据库的 IP 地址。它通常包括用于管理数据库的系统的地址以及需要访问数据库的 AWS OpsWorks Stacks 实例的地址。 AWS OpsWorks 当您在某个地区创建第一个堆栈时,堆栈会自动为每种类型的层创建一个 Amazon EC2 安全组。为 AWS OpsWorks 堆栈实例提供访问权限的一种简单方法是向 Amazon RDS 实例或 VPC 分配相应的 AWS OpsWorks 堆栈安全组。
为现有 Amazon RDS 实例指定安全组
在 https://console.aws.amazon.com/rds/
处打开 Amazon RDS 控制台。 -
在导航窗格中,单击实例,然后选择适当的 Amazon RDS 实例。单击 Instance Actions 和 Modify。
-
从 Security Group 列表中选择以下安全组,然后单击 Continue 和 Modify DB Instance 以更新实例。
-
AWS OpsWorks-db-Master-Server () 安全组。
security_group_id
-
其实例将连接到数据库的应用程序服务器层的安全组。组名称包含层名称。例如,要提供对 PHP 应用服务器实例的数据库访问权限,请指定 AWS--PHP-App OpsWorks-Server 组。
-
如果您要创建新的 Amazon RDS 实例,则可以在启动数据库实例向导的 “配置高级设置” 页面上指定相应的 AWS OpsWorks 堆栈安全组。有关如何使用此向导的说明,请参阅创建 MySQL 数据库实例并连接到 MySQL 数据库实例上的数据库。
有关如何指定 VPC 安全组的信息,请参阅您的 VPC 的安全组。
将 Amazon RDS 实例注册到 Stack
要在堆栈中添加 Amazon RDS 服务层,您必须将一个实例注册到堆栈。
将 Amazon RDS 实例注册到堆栈
-
在 AWS OpsWorks Stacks 控制台中,单击导航窗格中的图层,单击 + 图层或添加图层以打开添加层页面,然后单击 RDS 选项卡。
-
必要时更新堆栈的服务角色,如更新堆栈的服务角色中所述。
-
单击 RDS 选项卡以列出可用的 Amazon RDS 实例。
注意
如果您的账户没有任何 Amazon RDS 实例,您可通过单击“RDS”选项卡上的添加 RDS 实例创建一个,这会让您转到 Amazon RDS 控制台并启动启动数据库实例向导。您还可直接转到 Amazon RDS 控制台
并单击启动数据库实例,或者使用 Amazon RDS API 或 CLI。有关如何创建 Amazon RDS 实例的更多信息,请参阅《Amazon RDS 入门指南》。 -
选择合适的实例,将 User 和 Password 设置为合适的用户和密码值,然后单击 Register to Stack。
重要
您必须确保您用于注册 Amazon RDS 实例的用户和密码与有效的用户和密码对应。如果它们不对应,您的应用程序将无法连接到该实例。但是,您可编辑层以提供有效的用户和密码值,然后重新部署应用程序。

当您将一个 Amazon RDS 服务层添加到堆栈时,Stac AWS OpsWorks ks 会为其分配一个 ID,并将关联的 Amazon RDS 配置添加到堆栈配置和部署属性的属性中[:opsworks][:stack]。
注意
如果您更改已注册的 Amazon RDS 实例的密码,则必须手动更新 AWS OpsWorks 堆栈中的密码,然后重新部署应用程序以更新堆栈实例上的堆栈配置和部署属性。
更新堆栈的服务角色
每个堆栈都有一个 IAM 服务角色,用于指定 AWS OpsWorks 堆栈可以代表您使用其他 AWS 服务执行哪些操作。要向堆栈注册 Amazon RDS 实例,其服务角色必须向 AWS OpsWorks 堆栈授予访问 Amazon RDS 的权限。
首次将 Amazon RDS 服务层添加到您的堆栈之一时,服务角色可能缺少必需的权限。如果是这样的话,当您单击 Add Layer 页上的 RDS 选项卡时,您将看到以下内容。

单击 “更新”,让 AWS OpsWorks Stacks 将服务角色的策略更新为以下内容。
{"Statement": [{"Action": ["ec2:*", "iam:PassRole",
"cloudwatch:GetMetricStatistics",
"elasticloadbalancing:*",
"rds:*"],
"Effect": "Allow",
"Resource": ["*"] }]
}
注意
您只需要执行一次更新。之后所有堆栈将自动使用更新后的角色。
将 Amazon RDS 服务层与应用程序关联
在添加 Amazon RDS 服务层之后,可将其与应用程序关联。
将 Amazon RDS 实例与应用程序关联后, AWS OpsWorks Stacks 会将数据库连接信息放在应用程序的服务器上。每个服务器实例上的应用程序随后可使用此信息连接到数据库。有关如何连接到 Amazon RDS 实例的更多信息,请参阅 将应用程序连接到数据库服务器。
从堆栈中删除 Amazon RDS 服务层
要从堆栈中删除 Amazon RDS,请将其取消注册。
取消注册 Amazon RDS 服务层
-
单击导航窗格中的层并单击 Amazon RDS服务层的名称。
-
单击 Deregister 并确认您要取消注册该层。
此过程将从堆栈中删除该层,但它不会删除基础 Amazon RDS 实例。该实例和任何数据库将保留在您的账户中并且可注册到其他堆栈。您必须使用 Amazon RDS 控制台、API 或 CLI 删除该实例。有关更多信息,请参阅删除数据库实例。