自动连接 EC2 实例和多可用区数据库集群
您可以使用 RDS 控制台来简化在 Amazon Elastic Compute Cloud(Amazon EC2)实例和多可用区数据库集群之间设置连接的过程。通常,多可用区数据库集群位于私有子网中,而 EC2 实例位于 VPC 内的公有子网中。您可以在 EC2 实例上使用 SQL 客户端来连接到多可用区数据库集群。EC2 实例还可以运行用于访问私有多可用区数据库集群的 Web 服务器或应用程序。
如果您想连接到与多可用区数据库集群不在同一 VPC 中的 EC2 实例,请参阅在 VPC 中访问数据库实例的场景中的相应方案。
与 EC2 实例的自动连接概述
当您自动在 EC2 实例和多可用区数据库集群之间设置连接时,Amazon RDS 会为您的 EC2 实例和数据库集群配置 VPC 安全组。
以下是将 EC2 实例与多可用区数据库集群连接的要求:
-
EC2 实例必须与多可用区数据库集群存在于同一 VPC 中。
如果同一 VPC 中不存在任何 EC2 实例,控制台将提供创建一个此类实例的链接。
-
设置连接的用户必须具有执行以下 EC2 操作的权限:
-
ec2:AuthorizeSecurityGroupEgress
-
ec2:AuthorizeSecurityGroupIngress
-
ec2:CreateSecurityGroup
-
ec2:DescribeInstances
-
ec2:DescribeNetworkInterfaces
-
ec2:DescribeSecurityGroups
-
ec2:ModifyNetworkInterfaceAttribute
-
ec2:RevokeSecurityGroupEgress
-
当您设置与 EC2 实例的连接时,Amazon RDS 会根据与多可用区数据库集群和 EC2 实例关联的安全组的当前配置采取操作,如下表所述。
当前 RDS 安全组配置 | 当前 EC2 安全组配置 | RDS 操作 |
---|---|---|
有一个或多个安全组与多可用区数据库集群 [其名称与模式 |
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
Amazon RDS 不执行任何操作。 已在 EC2 实例和多可用区数据库集群之间自动配置了连接。由于 EC2 实例和 RDS 数据库之间已经存在连接,因此不会修改安全组。 |
以下任一条件适用:
|
以下任一条件适用:
|
RDS action: create new security groups |
有一个或多个安全组与多可用区数据库集群(其名称与模式 |
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
RDS action: create new security groups |
有一个或多个安全组与多可用区数据库集群(其名称与模式 |
存在用于连接的有效 EC2 安全组,但它与 EC2 实例不关联。此安全组的名称与模式 |
RDS action: associate EC2 security group |
以下任一条件适用:
|
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
RDS action: create new security groups |
RDS 操作:创建新的安全组
Amazon RDS 执行以下操作:
-
创建与模式
rds-ec2-
匹配的新安全组。该安全组具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。该安全组与多可用区数据库集群关联,并允许 EC2 实例访问多可用区数据库集群。n
-
创建与模式
ec2-rds-
匹配的新安全组。该安全组具有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则。该安全组与 EC2 实例相关联,并允许 EC2 实例向多可用区数据库集群发送流量。n
RDS 操作:关联 EC2 安全组
Amazon RDS 将有效的现有 EC2 安全组与 EC2 实例关联。该安全组允许 EC2 实例向多可用区数据库集群发送流量。
自动连接 EC2 实例和多可用区数据库集群
在 EC2 实例与 RDS 数据库之间设置连接之前,请确保满足与 EC2 实例的自动连接概述中所述的要求。
如果您在配置连接后更改安全组,则这些更改可能会影响 EC2 实例与 RDS 数据库之间的连接。
注意
您只能使用 Amazon Web Services Management Console自动在 EC2 实例与 RDS 数据库之间设置连接。您无法使用 Amazon CLI 或 RDS API 自动设置连接。
自动连接 EC2 实例与 RDS 数据库
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Databases(数据库),然后选择 RDS 数据库。
-
从操作中,选择设置 EC2 连接。
将出现 Set up EC2 connection(设置 EC2 连接)页面。
-
在 Set up EC2 connection(设置 EC2 连接)页上,选择 EC2 实例。
如果同一 VPC 中不存在任何 EC2 实例,请选择 Create EC2 instance(创建 EC2 实例)来创建一个此类实例。在这种情况下,请确保新的 EC2 实例与 RDS 数据库位于同一 VPC 中。
-
选择继续。
将出现 Review and confirm(检查并确认)页面。
-
在 Review and confirm(检查并确认)页面上,检查 RDS 为设置与 EC2 实例的连接而将进行的更改。
如果更改正确,请选择确认并设置。
如果更改不正确,请选择 Previous(上一步)或 Cancel(取消)。
查看连接的计算资源
您可以使用 Amazon Web Services Management Console查看连接到 RDS 数据库的计算资源。显示的资源包括自动设置的计算资源连接。您可以通过以下方式自动设置与计算资源的连接:
-
您可以在创建数据库时选择计算资源。
有关更多信息,请参阅 创建 Amazon RDS 数据库实例和 创建 Amazon RDS 的多可用区数据库集群。
-
您可以在现有数据库和计算资源之间设置连接。
有关更多信息,请参阅 自动连接 EC2 实例和 RDS 数据库。
列出的计算资源不包括手动连接到数据库的计算资源。例如,您可以通过向与数据库关联的 VPC 安全组添加规则来允许计算资源手动访问数据库。
要列出计算资源,必须满足以下条件:
-
与计算资源关联的安全组的名称与模式
ec2-rds-
相匹配(其中n
是数字)。n
-
与计算资源关联的安全组具有出站规则,其端口范围设置为 RDS 数据库使用的端口。
-
与计算资源关联的安全组具有出站规则,源设置为与 RDS 数据库关联的安全组。
-
与 RDS 数据库关联的安全组的名称与模式
rds-ec2-
(其中n
是数字)相匹配。n
-
与 RDS 数据库关联的安全组具有入站规则,其端口范围设置为 RDS 数据库使用的端口。
-
与 RDS 数据库关联的安全组有一条入站规则,其源设置为与计算资源关联的安全组。
查看连接到 RDS 数据库的计算资源
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Databases(数据库),然后选择 RDS 数据库的名称。
-
在 Connectivity & security(连接和安全)选项卡上,在 Connected compute resources(连接的计算资源)中查看计算资源。