Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 VPC 中访问数据库实例的方案

Amazon Aurora 支持以下访问数据库实例的方案:

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

VPC 中的数据库实例通常用于与在相同 VPC 中的 EC2 实例中运行的应用程序服务器共享数据。如果您使用 AWS Elastic Beanstalk 在相同的 VPC 中创建 EC2 实例和数据库实例,则此实例为创建的用户场景。

下图说明了此情形。


					VPC 和 EC2 安全组情况

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

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

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

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

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

要在 VPC 安全组中创建允许从另一安全组连接的规则,请执行以下操作:

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon VPC 控制台:https://console.amazonaws.cn/vpc

  2. 在导航窗格中,选择 Security Groups

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

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

  5. 对于类型,请选择所有 ICMP 选项之一。在 Source (源) 框中,开始键入安全组的 ID;该操作会为您提供一个安全组列表。选择您希望其成员可以访问此安全组保护的资源的安全组。在前面的方案中,这是您用于 EC2 实例的安全组。

  6. 通过在 Source 框中创建 TypeAll TCP 的规则和安全组,对 TCP 协议重复这些步骤。如果您打算使用 UDP 协议,请在 Source 框中创建 TypeAll UDP 的规则和安全组。

  7. 通过您创建数据库实例时使用的端口 (如适用于 MySQL 的端口 3306) 创建允许访问的自定义 TCP 规则。在 Source (源) 框中输入要使用的安全组或 IP 地址。

  8. 完成后选择 Save。


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

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 对等

您可以使用 ClassicLinkAmazon Aurora 数据库实例(在 VPC 中)和 EC2 实例(不在 Amazon VPC 中)之间通信。当您使用 Classic Link 时,EC2 实例上的应用程序可使用数据库实例的终端节点连接到数据库实例。ClassicLink 是免费提供的。

下图说明了此情形。


					VPC 中的数据库实例由不在 VPC 中的 EC2 实例访问

通过使用 ClassicLink,您可将 EC2 实例连接到逻辑上隔离的数据库 (在其中定义 IP 地址范围并控制访问控制列表 (ACL) 以管理网络通信)。您不必使用公有 IP 地址或隧道即可与 VPC 中的数据库实例通信。此方案将提供用于实例间通信的吞吐量更大且延迟更少的连接。

在 VPC 中的数据库实例与不在 VPC 中的 EC2 实例之间启用 ClassicLink

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon VPC 控制台:https://console.amazonaws.cn/vpc

  2. 在导航窗格中,选择 Your VPCs

  3. 选择由数据库实例使用的 VPC。

  4. 操作中,选择启用 ClassicLink。在确认对话框中,选择 Yes, Enable

  5. 在 EC2 控制台上,选择要连接到 VPC 中的数据库实例的 EC2 实例。

  6. 操作中,选择 ClassicLink,然后选择链接到 VPC

  7. Link to VPC 页上,选择要使用的安全组,然后选择 Link to VPC

注意

ClassicLink 功能仅显示在支持 EC2-Classic 的账户和区域的控制台中。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的 ClassicLink

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

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

下图说明了此情形。


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

推荐以下配置:

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

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

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

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

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

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