在 VPC 中访问数据库实例的场景 - Amazon Relational Database Service

在 VPC 中访问数据库实例的场景

Amazon RDS 支持以下在 VPC 中访问数据库实例的场景:

VPC 中的数据库实例由同一 VPC 中的 EC2 实例访问

VPC 中的数据库实例的常见用途是与在相同 VPC 的 EC2 实例中运行的应用程序服务器共享数据。

下图说明了此情形。


					带有公有 Web 服务器和私有数据库的 VPC 场景

管理相同 VPC 中 EC2 实例与数据库实例之间的访问的最简单方法是执行以下操作:

  • 创建数据库实例将位于其中的 VPC 安全组。此安全组可用于限制对数据库实例的访问权限。例如,您可以为该安全组创建自定义规则。该规则可能允许使用您创建数据库实例时分配给它的端口以及您用来访问数据库实例的 IP 地址(用于开发或其他目的)进行 TCP 访问。

  • 创建您的 EC2 实例(Web 服务器和客户端)将位于其中的 VPC 安全组。如果需要,此安全组可允许使用 VPC 的路由表从 Internet 访问 EC2 实例。例如,您可设置此安全组的规则以允许通过端口 22 对 EC2 实例进行 TCP 访问。

  • 为数据库实例的安全组创建自定义规则,这些规则允许从您为 EC2 实例创建的安全组进行连接。这些规则将允许安全组的任何成员访问数据库实例

在单独的可用区中还有一个额外的公有和私有子网。RDS 数据库子网组需要位于至少两个可用区中的一个子网。额外的子网使将来很容易切换到多可用区数据库实例部署。

有关说明如何为此方案创建包含公有子网和私有子网的 VPC 的教程,请参阅教程:创建 VPC 以用于数据库实例(仅限 IPv4)

提示

创建数据库实例时,您可以在 Amazon EC2 实例和数据库实例之间自动设置网络连接。有关更多信息,请参阅。

要在 VPC 安全组中创建允许从另一安全组连接的规则,请执行以下操作:
  1. 登录到AWS Management Console并打开 Amazon VPC 控制台,网址:https://console.aws.amazon.com/vpc

  2. 在导航窗格中,选择 Security groups(安全组)。

  3. 选择或创建要允许另一个安全组的成员访问的安全组。在前面的场景中,这是您用于数据库实例的安全组。选择 Inbound rules(入站规则)选项卡,然后选择 Edit inbound rules(编辑入站规则)。

  4. Edit inbound rules(编辑入站规则)页面上,选择 Add rule(添加规则)。

  5. 对于类型,选择与创建数据库实例时使用的端口相对应的条目,如 MYSQL/Aurora

  6. 框中,开始键入安全组的 ID,其中列出了匹配的安全组。选择您希望其成员可以访问此安全组保护的资源的安全组。在前面的方案中,这是您用于 EC2 实例的安全组。

  7. 如果需要,可通过在框中创建类型所有 TCP 的规则以及安全组,对 TCP 协议重复这些步骤。如果您打算使用 UDP 协议,请在 Source(源)框中创建 Type(类型)为 All UDP(所有 UDP)的规则以及安全组。

  8. 选择 Save rules(保存规则)。

以下屏幕显示了包含其来源的安全组的入站规则。


					将安全组添加到另一安全组的规则

有关从 EC2 实例连接到数据库实例的更多信息,请参阅连接到 Amazon RDS 数据库实例

VPC 中的数据库实例由另一 VPC 中的 EC2 实例访问

当您的数据库实例与您用来访问它的 EC2 实例位于不同的 VPC 中时,可使用 VPC 对等连接来访问数据库实例

下图说明了此情形。


				VPC 中的数据库实例由另一 VPC 中的 EC2 实例访问

VPC 对等连接是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IP 地址在这两个 VPC 之间路由流量。这两个 VPC 中的资源可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间、自己的 VPC 与另一个 AWS 账户中的 VPC 或与其他 AWS 区域中的 VPC 之间创建 VPC 对等连接。要了解有关 VPC 对等的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南 中的 VPC 对等

VPC 中的数据库实例由客户端应用程序通过互联网访问

要从客户端应用程序通过互联网访问 VPC 中的数据库实例,您可配置包含单个公有子网的 VPC 以及一个互联网网关,以实现通过互联网通信。

下图说明了此情形。


					VPC 中的数据库实例由客户端应用程序通过互联网访问

推荐以下配置:

  • 大小为 /16 的 VPC (例如,CIDR:10.0.0.0/16)。此大小提供了 65536 个私有 IP 地址。

  • 大小为 /24 的子网 (例如,CIDR:10.0.0.0/24)。此大小提供了 256 个私有 IP 地址。

  • 与 VPC 和子网关联的 Amazon RDS 数据库实例。Amazon RDS 将子网内的 IP 地址分配给您的数据库实例

  • 将 VPC 连接到 Internet 和其他 AWS 产品的互联网网关。

  • 与数据库实例关联的安全组。安全组的入站规则允许客户端应用程序访问数据库实例

有关在 VPC 中创建数据库实例的信息,请参阅在 VPC 中创建数据库实例

VPC 中由私有网络访问的数据库实例

如果您的数据库实例不可公开访问,可通过以下选项从私有网络进行访问:

下图显示了一个具有AWS Site-to-Site VPN 连接的场景。


					VPC 中由私有网络访问的数据库实例。

有关更多信息,请参阅互联网络流量隐私