

# 在 VPC 中访问数据库集群的场景
<a name="USER_VPC.Scenarios"></a>

Amazon Aurora 支持以下在 VPC 中访问数据库集群的场景：
+ [同一 VPC 中的 Amazon EC2 实例](#USER_VPC.Scenario1)
+ [不同 VPC 中的 EC2 实例](#USER_VPC.Scenario3)
+ [通过 Internet 访问的客户端应用程序](#USER_VPC.Scenario4)
+ [私有网络](#USER_VPC.NotPublic)

## VPC 中的数据库集群由同一 VPC 中的 Amazon EC2 实例访问
<a name="USER_VPC.Scenario1"></a>

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

下图说明了此情形。

![\[带有公有 Web 服务器和私有数据库的 VPC 场景。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/con-VPC-sec-grp-aurora.png)


管理相同 VPC 中 EC2 实例与数据库集群之间的访问的最简单方法是执行以下操作：
+ 创建数据库集群将位于其中的 VPC 安全组。此安全组可用于限制对数据库集群的访问权限。例如，您可以为该安全组创建自定义规则。该规则可能允许使用您创建数据库集群时分配给它的端口以及您用来访问数据库集群的 IP 地址（用于开发或其他目的）进行 TCP 访问。
+ 创建您的 EC2 实例（Web 服务器和客户端）将位于其中的 VPC 安全组。如果需要，此安全组可允许使用 VPC 的路由表从 Internet 访问 EC2 实例。例如，您可设置此安全组的规则以允许通过端口 22 对 EC2 实例进行 TCP 访问。
+ 为数据库集群的安全组创建自定义规则，这些规则允许从您为 EC2 实例创建的安全组进行连接。这些规则将允许安全组的任何成员访问数据库集群。

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

有关说明如何为此方案创建包含公有子网和私有子网的 VPC 的教程，请参阅[教程：创建 VPC 以用于数据库集群（仅限 IPv4）](CHAP_Tutorials.WebServerDB.CreateVPC.md)。

**提示**  
创建数据库集群时，您可以在 Amazon EC2 实例和数据库集群之间自动设置网络连接。有关更多信息，请参阅 [配置与 EC2 实例的自动网络连接](Aurora.CreateInstance.md#Aurora.CreateInstance.Prerequisites.VPC.Automatic)。

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

1.  登录到AWS 管理控制台并打开 Amazon VPC 控制台，网址：[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc)。

1.  在导航窗格中，选择 **Security groups**（安全组）。

1. 选择或创建要允许另一个安全组的成员访问的安全组。在前面的场景中，这是您用于数据库集群的安全组。选择 **Inbound rules**（入站规则）选项卡，然后选择 **Edit inbound rules**（编辑入站规则）。

1. 在 **Edit inbound rules**（编辑入站规则）页面上，选择 **Add rule**（添加规则）。

1. 对于**类型**，选择与创建数据库集群时使用的端口相对应的条目，如 **MYSQL/Aurora**。

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

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

1. 选择**保存规则**。

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

![\[将安全组添加到另一安全组的规则。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/con-vpc-add-sg-rule.png)


有关从 EC2 实例连接到数据库集群的更多信息，请参阅[连接到 Amazon Aurora 数据库集群](Aurora.Connecting.md)。

## VPC 中的数据库集群由另一 VPC 中的 EC2 实例访问
<a name="USER_VPC.Scenario3"></a>

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

下图说明了此情形。

![\[VPC 中的数据库实例由另一 VPC 中的 Amazon EC2 实例访问。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/RDSVPC2EC2VPC-aurora.png)


VPC 对等连接是两个 VPC 之间的网络连接，通过此连接，您可以使用私有 IP 地址在这两个 VPC 之间路由流量。这两个 VPC 中的资源可以彼此通信，就像它们在同一网络中一样。您可以在自己的 VPC 之间、自己的 VPC 与另一个 AWS 账户中的 VPC 或与其他 AWS 区域中的 VPC 之间创建 VPC 对等连接。要了解有关 VPC 对等的更多信息，请参阅 *Amazon Virtual Private Cloud 用户指南* 中的 [VPC 对等](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)。

## VPC 中的数据库集群由客户端应用程序通过互联网访问
<a name="USER_VPC.Scenario4"></a>

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

下图说明了此情形。

![\[VPC 中的数据库集群由客户端应用程序通过互联网访问。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/GS-VPC-network-aurora.png)


推荐以下配置：

 
+ 大小为 /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 产品的互联网网关。
+ 与数据库集群关联的安全组。安全组的入站规则允许客户端应用程序访问数据库集群。

有关在 VPC 中创建数据库集群的信息，请参阅[在 VPC 中创建数据库集群](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.InstanceInVPC)。

## VPC 中由私有网络访问的数据库集群
<a name="USER_VPC.NotPublic"></a>

如果您的数据库集群不可公开访问，可通过以下选项从私有网络进行访问：
+ 一个AWS Site-to-Site VPN 连接。有关更多信息，请参阅[什么是 AWS Site-to-Site VPN？](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
+ 一个 Direct Connect 连接。有关更多信息，请参阅[什么是 Direct Connect？](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)
+ 一个 AWS Client VPN 连接。有关更多信息，请参阅[什么是 AWS Client VPN？](https://docs.aws.amazon.com//vpn/latest/clientvpn-admin/what-is.html)

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

![\[VPC 中的数据库集群通过私有网络访问。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/site-to-site-vpn-connection-aurora.png)


有关更多信息，请参阅 [互联网络流量隐私](inter-network-traffic-privacy.md)。