在 VPC 中使用数据库实例
您的数据库实例会位于 Virtual Private Cloud (VPC) 中。VPC 是逻辑上与 AWS 云中的其他虚拟网络隔离开的虚拟网络。利用 Amazon VPC,您可以在 VPC 中启动 AWS 资源,如 Amazon Aurora 或 Amazon EC2 实例。VPC 可以是您的账户附带的默认 VPC,也可以是您创建的 VPC。所有 VPC 均与您的 AWS 账户关联。
默认 VPC 具有可用来隔离 VPC 内的资源的 3 个子网。默认 VPC 还具有一个 Internet 网关,可用来从 VPC 外部访问 VPC 内部的资源。
有关涉及 VPC 内外的 Amazon Aurora 数据库实例的方案的列表,请参阅在 VPC 中访问数据库实例的方案。
有关说明如何创建您可用于常见 Amazon Aurora 方案的 VPC 的教程,请参阅教程:创建 Amazon VPC 以用于数据库实例。
要了解如何在 VPC 中使用数据库实例,请参阅以下内容:
在 VPC 中使用数据库实例
下面是一些有关在 VPC 中使用数据库实例的提示:
-
您的 VPC 必须至少有两个子网。这些子网必须位于要部署数据库实例的 AWS 区域中两个不同的可用区中。子网是 VPC 的 IP 地址范围段,您可以指定子网,利用子网并根据安全和操作需要对实例进行分组。
-
如果要让 VPC 中的数据库实例实现公开访问,必须启用 VPC 属性 DNS 主机名和 DNS 解析。
-
您的 VPC 必须具有您创建的数据库子网组 (有关更多信息,请参阅下一节)。您可通过指定已创建的子网来创建数据库子网组。然后,Amazon Aurora 使用该数据库子网组和您首选的可用区来选择一个子网及该子网内的 IP 地址,从而将其分配给您的数据库实例。
-
您的 VPC 必须具有允许访问数据库实例的 VPC 安全组。
-
每个子网必须包含足够大的 CIDR 数据块,以便在维护活动(包括故障转移和扩展计算)期间有可供 Amazon Aurora 使用的备用 IP 地址。
-
VPC 的 instance tenancy 属性可能为 default 或 dedicated。所有默认 VPC 的“instance tenancy”属性设置为“default”,则默认的 VPC 可支持任何数据库实例类。
如果您选择将数据库实例放在“instance tenancy”属性设置为“dedicated”的专用 VPC 中,则数据库实例的数据库实例类必须是已批准的 Amazon EC2 专用实例类型之一。例如,m3.medium EC2 专用实例对应于 db.m3.medium 数据库实例类。有关 VPC 中实例租期的信息,请转至 Amazon Virtual Private Cloud 用户指南 中的使用 EC2 专用实例。
使用数据库子网组
子网是您指定的用来根据安全和操作需要对资源进行分组的 VPC 的 IP 地址范围段。数据库子网组是您在 VPC 中创建并随后指定给数据库实例的子网 (通常为私有子网) 集合。使用数据库子网组,您可以在使用 CLI 或 API 创建数据库实例时指定特定 VPC;如果您使用控制台,您就只能选择要使用的 VPC 和子网。
每个数据库子网组应包含给定 AWS 区域中至少两个可用区的子网。在 VPC 中创建数据库实例时,您必须选择一个数据库子网组。Amazon Aurora 使用该数据库子网组和首选的可用区选择一个子网以及该子网中的 IP 地址,以便与您的数据库实例相关联。如果某一多可用区部署的主数据库实例出现故障,Amazon Aurora 可以提升相应的备用副本,并随后在另外一个可用区中使用子网的 IP 地址来创建一个新的备用副本。
Amazon Aurora 在 VPC 中创建数据库实例时,会使用从数据库子网组中选取的 IP 地址将网络接口分配给数据库实例。不过,我们强烈建议您使用 DNS 名称来连接数据库实例,因为底层 IP 地址会在故障转移期间发生变化。
注意
对于在 VPC 中运行的每个数据库实例,您应在数据库子网组的每个子网中预留至少一个地址,以供 Amazon Aurora 用来执行恢复操作。
从 Internet 隐藏 VPC 中的数据库实例
一个常见的 Amazon Aurora 方案是具有一个 VPC,其中有一个带有面向公众的 Web 应用程序的 EC2 实例以及一个带有不能公开访问的数据库的数据库实例。例如,您可创建包含公有子网和私有子网的 VPC。可将充当 Web 服务器的 Amazon EC2 实例部署在公有子网中,数据库实例部署在私有子网中。在此部署方案中,只有 Web 服务器才能访问数据库实例。有关此方案的说明,请参阅VPC 中的数据库实例由同一 VPC 中的 EC2 实例访问。
在 VPC 中启动数据库实例时,可使用 Public accessibility 参数指定所创建的数据库实例是否具有可解析为公有 IP 地址的 DNS。该参数使您可以指定是否可以公开访问数据库实例。对数据库实例的访问最终受其使用的安全组控制,并且如果分配给数据库实例的安全组不允许公开访问,即不允许。
您可以通过修改 Public accessibility 参数修改数据库实例以打开或关闭公开可用性。该参数的修改方式与其他数据库实例参数一样。有关更多信息,请参阅数据库引擎的修改部分。
下图显示了网络与安全部分中的公开可用性选项。

在 VPC 中创建数据库实例
下列步骤帮助您在 VPC 中创建数据库实例。如果您的账户具有默认 VPC,则可以从第 3 步开始,因为已为您创建 VPC 和数据库子网组。如果您的 AWS 账户没有默认 VPC,或者如果您想创建其他 VPC,则可创建新的 VPC。
注意
如果要让 VPC 中的数据库实例实现公开访问,则必须通过启用 VPC 属性 DNS 主机名和 DNS 解析,更新 VPC 的 DNS 信息。有关更新 VPC 实例的 DNS 信息的信息,请参阅更新对 VPC 的 DNS 支持。
执行以下步骤可在 VPC 中创建数据库实例:
步骤 1:创建 VPC
如果您的 AWS 账户没有默认 VPC,或者如果您想要创建其他 VPC,请遵循有关创建新的 VPC 的说明。请参阅创建包含公有子网和私有子网的 VPC,或参阅 Amazon VPC 文档中的步骤 1:创建 VPC。
步骤 2:向 VPC 添加子网
创建 VPC 后,至少需要在两个可用区中创建子网。您在创建数据库子网组时将使用这些子网。如果您具有默认 VPC,则会在该 AWS 区域中的每个可用区中自动为您创建子网。
有关如何在 VPC 中创建子网的说明,请参阅创建包含公有子网和私有子网的 VPC。
步骤 3:创建数据库子网组
数据库子网组是您为 VPC 创建然后为数据库实例指定的子网 (通常为私有子网) 的集合。数据库子网组可让您在使用 CLI 或 API 创建数据库实例时指定特定的 VPC。如果您使用控制台,您就只能选择要使用的 VPC 和子网。每个数据库子网组必须包含 AWS 区域中至少两个可用区的至少一个子网。
注意
对于希望可公开访问的数据库实例,数据库子网组中的子网必须具有 Internet 网关。有关子网的 Internet 网关的更多信息,请转至 Amazon VPC 文档中的 Internet 网关。
在 VPC 中创建数据库实例时,必须选择数据库子网组。Amazon Aurora 随后使用该数据库子网组和首选可用区域选择一个子网及该子网中的一个 IP 地址。Amazon Aurora 创建该数据库实例的弹性网络接口,并将该接口与此 IP 地址关联。对于多可用区部署,通过为 AWS 区域中的两个或更多可用区定义子网,Amazon Aurora 可在需求增加的情况下在另一个可用区中创建新的备用实例。即使是单一可用区部署,您也需要这样做,以防以后需要将它们转换为多可用区部署。
在此步骤中,您创建一个数据库子网组,然后添加为 VPC 创建的子网。
控制台
创建数据库子网组
-
通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/。
-
在导航窗格中,选择子网组。
-
选择 Create DB Subnet Group。
-
对于 Name,键入您的数据库子网组的名称。
-
对于 Description,键入您的数据库子网组的描述。
-
对于 VPC ,选择已创建的 VPC。
-
在 Add subnets (添加子网) 部分中,选择 Add all the subnets related to this VPC (添加与此 VPC 相关的所有子网)。
-
选择 Create。
您的新数据库子网组显示在 RDS 控制台的数据库子网组列表中。可选择该数据库子网组,在窗口底部的详细信息窗格中查看详细信息,其中包括与该组关联的所有子网。
步骤 4:创建 VPC 安全组
创建数据库实例前,必须创建与数据库实例相关联的 VPC 安全组。有关如何为数据库实例创建安全组的说明,请参阅 为私有数据库实例创建 VPC 安全组,或参阅 Amazon VPC 文档中的 VPC 的安全组。
步骤 5:在 VPC 中创建数据库实例
在此步骤中,创建一个数据库实例并使用在之前的步骤中创建的 VPC 名称、数据库子网组和 VPC 安全组。
注意
如果要让 VPC 中的数据库实例实现公开访问,必须启用 VPC 属性 DNS 主机名和 DNS 解析。有关对 VPC 实例的 DNS 信息进行更新的信息,请参阅为您的 VPC 更新 DNS 支持。
有关如何为您的数据库引擎创建数据库实例的详细信息,请参阅以下讨论数据库引擎的主题。对于每个引擎,在出现提示时,在网络与安全部分中输入在之前的步骤中创建的 VPC 名称、数据库子网组和 VPC 安全组。
注意
Aurora 集群当前不支持更新 VPC。