

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置您的 Amazon Neptune 数据库集群所在的 Amazon VPC
<a name="get-started-vpc"></a>

Amazon Neptune 数据库集群*只能* 在 Amazon Virtual Private Cloud (Amazon VPC) 中创建。您可以在该 VPC 内访问它的端点，如果启用 [Neptune 公有端点](neptune-public-endpoints.md)，也可以在该 VPC 之外通过互联网访问它的端点。

根据您想要访问数据库集群的方式，您可以通过多种不同的方式来设置 VPC。

在配置 Neptune 数据库集群所在的 VPC 时，请记住以下几点：
+ 您的 VPC 必须至少有两个[子网](#security-vpc-add-subnets)。这些子网必须位于两个不同的可用区 (AZs)。通过将您的集群实例分配到至少两个中 AZs，Neptune 有助于确保即使在出现可用区故障的可能性很小的情况下，您的数据库集群中也始终有可用的实例。Neptune 数据库集群的集群容量始终跨越三个， AZs 以提供持久存储，且数据丢失的可能性极低。
+ 每个子网中的 CIDR 块必须足够大，以便提供 Neptune 在维护活动、失效转移和扩展期间可能需要的 IP 地址。
+ 该 VPC 必须具有一个数据库子网组，其中包含您已创建的子网组。Neptune 选择子网组中的一个子网和该子网中的一个 IP 地址，以与数据库集群中的每个数据库实例关联。然后，数据库实例与子网位于同一个可用区中。
+ VPC 应[已启用 DNS](#get-started-vpc-dns)（包括 DNS 主机名和 DNS 解析）。
+ 您的 VPC 必须具有允许访问数据库集群的 [VPC 安全组](#security-vpc-security-group)。
+ Neptune VPC 中的租赁应设置为**默认**。

## 向 Neptune 数据库集群所在的 VPC 添加子网
<a name="security-vpc-add-subnets"></a>

子网是您的 VPC 内的 IP 地址范围。您可以将 Neptune 数据库集群或 EC2 实例等资源启动到特定的子网中。创建子网时，需要为子网指定 IPv4 CIDR 块，该子网是 VPC CIDR 块的子集。每个子网都必须完全位于一个可用区 (AZ) 内，不能跨越多个可用区。通过在单独的可用区内启动实例，您可以保护您的应用程序不受其中一个可用区中的故障影响。有关更多信息，请参阅 [VPC 子网文档](https://docs.amazonaws.cn/vpc/latest/userguide/configure-subnets.html)。

Neptune 数据库集群需要至少两个 VPC 子网。

**将子网添加到 VPC**

1. 登录 Amazon Web Services 管理控制台 并打开 Amazon VPC 控制台，网址为[https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/)。

1. 在导航窗格中，选择 **Subnets**(子网)。

1. 在 **VPC 控制面板**中，选择**子网**，然后选择**创建子网**。

1. 在**创建子网**页面上，选择要在其中创建子网的 VPC。

1. 在**子网设置**下，进行以下选择：

   1. 在**子网名称**下输入新子网的名称。

   1. 为子网选择可用区 (AZ)，或者将选择保留为**无首选项**。

   1. 在 **IPv4 CIDR 块下输入子网的 IP 地址块**。

   1. 如果需要，可以向子网添加标签。

   1. 选择 

1. 如果要同时创建另一个子网，请选择**添加新子网**。

1. 选择**创建子网**以创建新的子网。

## 在 Amazon Neptune 中配置 VPC
<a name="security-vpc-add-subnet-group"></a>

创建子网组。

**创建 Neptune 子网组**

1. [登录 Amazon 管理控制台，然后在家中打开 Amazon Neptune https://console.aws.amazon.com/neptune/ 主机。](https://console.amazonaws.cn/neptune/home)

1. 选择**子网组**，然后选择**创建数据库子网组**。

1. 为新子网组输入名称和描述（描述为必需项）。

1. 在 **VPC** 下，选择您希望此子网组所在的 VPC。

1. 在**可用区**下，选择您希望此子网组所在的可用区。

1. 在**子网**下，将此可用区中的一个或多个子网添加到该子网组。

1. 选择**创建**以创建新的子网组。

## 使用 VPC 控制台创建安全组
<a name="security-vpc-security-group"></a>

安全组提供访问 VPC 中的 Neptune 数据库集群的权限。它们充当关联数据库集群的防火墙，在实例级别控制入站和出站流量。默认情况下，创建数据库实例时具有防火墙和默认安全组，用来阻止对其进行任何访问。要启用访问权限，您必须拥有带其它规则的 VPC 安全组。

以下过程显示了如何添加自定义 TCP 规则，该规则指定 Amazon EC2 实例用于访问 Neptune 数据库集群的端口范围和 IP 地址。您可以使用分配到 EC2 实例而不是其 IP 地址的 VPC 安全组。

**在控制台上为 Neptune 创建 VPC 安全组**

1. 登录 Amazon Web Services 管理控制台 并打开 Amazon VPC 控制台，网址为[https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/)。

1. 在控制台的右上角，选择要在其中为 Neptune 创建 VPC 安全组的 Amazon 区域。该区域的 Amazon VPC 资源列表应显示至少有一个 VPC 和多个子网。如果没有显示，则说明您在该区域中没有默认 VPC。

1. 在导航窗格中的**安全**下，选择**安全组**。

1. 选择**创建安全组**。在**创建安全组**窗口中，输入**安全组名称**、**描述**和您的 Neptune 数据库集群所在 VPC 的标识符。

1. 为要连接到 Neptune 数据库集群的 Amazon EC2 实例的安全组添加入站规则：

   1. 在**入站规则**区域中，选择**添加规则**。

   1. 在**类型**列表中，将**自定义 TCP** 保留为选中状态。

   1. 在**端口范围**框中，输入 Neptune 的默认端口值 **8182**。

   1. 在**源**下，输入您要从中访问 Neptune 的 IP 地址范围（CIDR 值），或者选择现有安全组名称。

   1. 如果需要添加更多 IP 地址或不同端口范围，请再次选择**添加规则**。

1. 如果需要，您还可以在“出站规则”区域中添加一条或多条出站规则。

1. 完成后，选择**创建安全组**。

在创建新的 Neptune 数据库集群时，您可以使用这个新的 VPC 安全组。

如果您使用默认 VPC，则已为您创建跨越该 VPC 的所有子网的默认子网组。在 Neptune 控制台中选择**创建数据库**时，除非您指定其它 VPC，否则将使用默认 VPC。

## 请确保您的 VPC 中具有 DNS 支持
<a name="get-started-vpc-dns"></a>

域名系统 (DNS) 是 Internet 中名称使用的标准，以将名称解析到各自相应的 IP 地址。DNS 主机名称可以唯一的命名计算机，它由主机名称和域名组成。DNS 服务器会将 DNS 主机名称解析到其相应的 IP 地址。

检查以确保在您的 VPC 中同时启用了 DNS 主机名和 DNS 解析。VPC 网络属性 `enableDnsHostnames` 和 `enableDnsSupport` 必须设置为 `true`。要查看和修改这些属性，请转到位于 [https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/) 的 VPC 控制台。

有关更多信息，请参阅[将 DNS 与您的 VPC 一起使用](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-dns.html)。

**注意**  
如果您使用的是 Route 53，请确认您的配置不会覆盖您的 VPC 中的 DNS 网络属性。