自动连接 EC2 实例和多可用区数据库集群 - Amazon Relational Database Service

自动连接 EC2 实例和多可用区数据库集群

您可以使用 RDS 控制台来简化在 Amazon Elastic Compute Cloud(Amazon EC2)实例和多可用区数据库集群之间设置连接的过程。通常,多可用区数据库集群位于私有子网中,而 EC2 实例位于 VPC 内的公有子网中。您可以在 EC2 实例上使用 SQL 客户端来连接到多可用区数据库集群。EC2 实例还可以运行用于访问私有多可用区数据库集群的 Web 服务器或应用程序。

自动连接多可用区数据库集群以及 EC2 实例

如果您想连接到与多可用区数据库集群不在同一 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 操作

有一个或多个安全组与多可用区数据库集群 [其名称与模式 rds-ec2-n(其中 n 是数字)相匹配] 关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。

有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 rds-ec2-n(其中 n 是数字)相匹配。尚未修改与此模式匹配的安全组。该安全组只具有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则。

Amazon RDS 不执行任何操作。

已在 EC2 实例和多可用区数据库集群之间自动配置了连接。由于 EC2 实例和 RDS 数据库之间已经存在连接,因此不会修改安全组。

以下任一条件适用:

  • 没有与多可用区数据库集群(其名称与模式 rds-ec2-n 匹配)关联的安全组。

  • 有一个或多个安全组与多可用区数据库集群(其名称与模式 rds-ec2-n 相匹配)关联。但是,这些安全组都不能用于与 EC2 实例的连接。如果安全组没有一条以 EC2 实例的 VPC 安全组作为源的入站规则,则无法使用该安全组。如果已修改了安全组,也不能使用它。修改示例包括添加规则或更改现有规则的端口。

以下任一条件适用:

  • 没有与 EC2 实例(其名称与模式 ec2-rds-n 匹配)关联的安全组。

  • 有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 ec2-rds-n 相匹配。但是,这些安全组都不能用于与多可用区数据库集群的连接。如果安全组没有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则,则无法使用该安全组。如果已修改了安全组,也不能使用它。

RDS action: create new security groups

有一个或多个安全组与多可用区数据库集群(其名称与模式 rds-ec2-n 相匹配)关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。

有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 ec2-rds-n 相匹配。但是,这些安全组都不能用于与多可用区数据库集群的连接。如果安全组没有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则,则无法使用该安全组。如果已修改了安全组,也不能使用它。

RDS action: create new security groups

有一个或多个安全组与多可用区数据库集群(其名称与模式 rds-ec2-n 相匹配)关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。

存在用于连接的有效 EC2 安全组,但它与 EC2 实例不关联。此安全组的名称与模式 rds-ec2-n 相匹配。尚未修改它。它只具有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则。

RDS action: associate EC2 security group

以下任一条件适用:

  • 没有与多可用区数据库集群(其名称与模式 rds-ec2-n 匹配)关联的安全组。

  • 有一个或多个安全组与多可用区数据库集群(其名称与模式 rds-ec2-n 相匹配)关联。但是,这些安全组都不能用于与 EC2 实例的连接。如果安全组没有一条以 EC2 实例的 VPC 安全组作为源的入站规则,则无法使用该安全组。如果已修改了安全组,也不能使用它。

有一个或多个安全组与 EC2 实例关联,此实例的名称与模式 rds-ec2-n 相匹配。尚未修改与此模式匹配的安全组。该安全组只具有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则。

RDS action: create new security groups
RDS 操作:创建新的安全组

Amazon RDS 执行以下操作:

  • 创建与模式 rds-ec2-n 匹配的新安全组。该安全组具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。该安全组与多可用区数据库集群关联,并允许 EC2 实例访问多可用区数据库集群。

  • 创建与模式 ec2-rds-n 匹配的新安全组。该安全组具有一条以多可用区数据库集群的 VPC 安全组作为源的出站规则。该安全组与 EC2 实例相关联,并允许 EC2 实例向多可用区数据库集群发送流量。

RDS 操作:关联 EC2 安全组

Amazon RDS 将有效的现有 EC2 安全组与 EC2 实例关联。该安全组允许 EC2 实例向多可用区数据库集群发送流量。

自动连接 EC2 实例和多可用区数据库集群

在 EC2 实例与 RDS 数据库之间设置连接之前,请确保满足与 EC2 实例的自动连接概述中所述的要求。

如果您在配置连接后更改安全组,则这些更改可能会影响 EC2 实例与 RDS 数据库之间的连接。

注意

您只能使用 AWS Management Console自动在 EC2 实例与 RDS 数据库之间设置连接。您无法使用 AWS CLI 或 RDS API 自动设置连接。

自动连接 EC2 实例与 RDS 数据库
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库),然后选择 RDS 数据库

  3. 操作中,选择设置 EC2 连接

    将出现 Set up EC2 connection(设置 EC2 连接)页面。

  4. Set up EC2 connection(设置 EC2 连接)页上,选择 EC2 实例。

    “设置 EC2 连接”页面。

    如果同一 VPC 中不存在任何 EC2 实例,请选择 Create EC2 instance(创建 EC2 实例)来创建一个此类实例。在这种情况下,请确保新的 EC2 实例与 RDS 数据库位于同一 VPC 中。

  5. 选择继续

    将出现 Review and confirm(检查并确认)页面。

    “EC2 连接检查和确认”页面。
  6. Review and confirm(检查并确认)页面上,检查 RDS 为设置与 EC2 实例的连接而将进行的更改。

    如果更改正确,请选择确认并设置

    如果更改不正确,请选择 Previous(上一步)或 Cancel(取消)。

查看连接的计算资源

您可以使用 AWS Management Console查看连接到 RDS 数据库的计算资源。显示的资源包括自动设置的计算资源连接。您可以通过以下方式自动设置与计算资源的连接:

列出的计算资源不包括手动连接到数据库的计算资源。例如,您可以通过向与数据库关联的 VPC 安全组添加规则来允许计算资源手动访问数据库。

要列出计算资源,必须满足以下条件:

  • 与计算资源关联的安全组的名称与模式 ec2-rds-n 相匹配(其中 n 是数字)。

  • 与计算资源关联的安全组具有出站规则,其端口范围设置为 RDS 数据库使用的端口。

  • 与计算资源关联的安全组具有出站规则,源设置为与 RDS 数据库关联的安全组。

  • RDS 数据库关联的安全组的名称与模式 rds-ec2-n(其中 n 是数字)相匹配。

  • RDS 数据库关联的安全组具有入站规则,其端口范围设置为 RDS 数据库使用的端口。

  • RDS 数据库关联的安全组有一条入站规则,其源设置为与计算资源关联的安全组。

查看连接到 RDS 数据库的计算资源
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库),然后选择 RDS 数据库的名称。

  3. Connectivity & security(连接和安全)选项卡上,在 Connected compute resources(连接的计算资源)中查看计算资源。

    连接的计算资源。