自动连接 EC2 实例和数据库实例
您可以使用 RDS 控制台来简化在 Amazon Elastic Compute Cloud(Amazon EC2)实例和数据库实例之间设置连接的过程。通常,数据库实例位于私有子网中,而 EC2 实例位于 VPC 内的公有子网中。您可以在 EC2 实例上使用 SQL 客户端连接到数据库实例。EC2 实例还可以运行访问私有数据库实例的 Web 服务器或应用程序。有关在 EC2 实例和多可用区数据库集群之间设置连接的说明,请参阅自动连接 EC2 实例和多可用区数据库集群。
如果您想连接到与数据库实例不在同一 VPC 中的 EC2 实例,请参阅在 VPC 中访问数据库实例的场景中的相应方案。
与 EC2 实例的自动连接概述
当您在 EC2 实例和 RDS 数据库之间设置连接时,Amazon RDS 会自动为您的 EC2 实例和 RDS 数据库配置 VPC 安全组。
以下是将 EC2 实例与 RDS 数据库连接的要求:
-
EC2 实例必须与 RDS 数据库存在于同一 VPC 中。
如果同一 VPC 中不存在任何 EC2 实例,则控制台将提供创建一个此类实例的链接。
-
设置连接的用户必须具有执行以下 Amazon EC2 操作的权限:
-
ec2:AuthorizeSecurityGroupEgress
-
ec2:AuthorizeSecurityGroupIngress
-
ec2:CreateSecurityGroup
-
ec2:DescribeInstances
-
ec2:DescribeNetworkInterfaces
-
ec2:DescribeSecurityGroups
-
ec2:ModifyNetworkInterfaceAttribute
-
ec2:RevokeSecurityGroupEgress
-
如果数据库实例和 EC2 实例位于不同的可用区,则您的账户可能会产生跨可用区成本。
当您设置与 EC2 实例的连接时,Amazon RDS 会根据与 RDS 数据库和 EC2 实例关联的安全组的当前配置采取操作,如下表所述。
当前 RDS 安全组配置 | 当前 EC2 安全组配置 | RDS 操作 |
---|---|---|
有一个或多个安全组与 RDS 数据库 [其名称与模式 |
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
RDS 不执行任何操作。 已在 EC2 实例和 RDS 数据库之间自动配置了连接。由于 EC2 实例和 RDS 数据库之间已经存在连接,因此不会修改安全组。 |
以下任一条件适用:
|
以下任一条件适用:
|
RDS action: create new security groups |
有一个或多个安全组与 RDS 数据库(其名称与模式 |
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
RDS action: create new security groups |
有一个或多个安全组与 RDS 数据库(其名称与模式 |
存在用于连接的有效 EC2 安全组,但它与 EC2 实例不关联。此安全组的名称与模式 |
RDS action: associate EC2 security group |
以下任一条件适用:
|
有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 |
RDS action: create new security groups |
RDS 操作:创建新的安全组
Amazon RDS 执行以下操作:
-
创建与模式
rds-ec2-
匹配的新安全组。该安全组具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。此安全组与 RDS 数据库关联,并允许 EC2 实例访问 RDS 数据库。n
-
创建与模式
ec2-rds-
匹配的新安全组。该安全组具有一条以 RDS 数据库的 VPC 安全组作为目标的出站规则。该安全组与 EC2 实例相关联,并允许 EC2 实例向 RDS 数据库发送流量。n
RDS 操作:关联 EC2 安全组
Amazon RDS 将有效的现有 EC2 安全组与 EC2 实例关联。该安全组允许 EC2 实例向 RDS 数据库发送流量。
自动连接 EC2 实例和 RDS 数据库
在 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(连接的计算资源)中查看计算资源。
连接到运行特定数据库引擎的数据库实例
有关连接到运行特定数据库引擎的数据库实例的信息,请按照数据库引擎的说明操作: