

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

# 在双堆栈模式下使用 Neptune 数据库集群
<a name="neptune-dualstack-db-cluster"></a>

创建或修改 Neptune 数据库集群时，您可以指定*双堆栈模式*，以允许您的资源通过 IPv4、IPv6 或两者与数据库集群通信。双栈模式下的数据库集群同时支持互联网协议版本 4 (IPv4) 和互联网协议版本 6 (IPv6) 寻址。

## 双栈模式概述
<a name="neptune-dualstack-overview"></a>

当 Neptune 数据库集群可以通过 IPv4 和 IPv6 寻址协议进行通信时，它将在双栈模式下运行。然后，资源可以使用 IPv4、IPv6 或两种协议与数据库集群通信。私有双堆栈模式数据库集群具有仅限 VPC 访问的 IPv6 终端节点，可确保您的 IPv6 终端节点保持私有状态。公共双堆栈模式数据库集群提供 IPv4 和 IPv6 终端节点，您可以从互联网访问这些终端节点。

## Dual-stack 模式和数据库子网组
<a name="neptune-dualstack-subnet-groups"></a>

要使用双栈模式，数据库子网组中的每个子网都必须有一个与之关联的 IPv6 CIDR 块。

由于 Neptune 不允许在创建集群后更改数据库子网组，因此在将集群修改为双堆栈模式之前，您必须使用支持双堆栈的子网组创建集群，或者向现有子网添加 IPv6 CIDR 块。

数据库集群处于双堆栈模式后，客户端可以正常连接到该集群。确保客户端安全防火墙和 Neptune 数据库集群安全组允许通过 IPv6 进行流量。要进行连接，客户端使用数据库集群的终端节点。数据库集群检测到客户端的首选网络协议并使用该协议进行连接。

如果数据库子网组停止支持双堆栈模式，则关联的数据库集群可能会出现不兼容的网络状态。这可能是由于子网删除或 CIDR 解除关联所致。此外，您不能使用该数据库子网组创建新的双堆栈模式数据库集群。

## 创建和修改双堆栈模式数据库集群
<a name="neptune-dualstack-working-with"></a>

创建或修改数据库集群时，您可以指定双堆栈模式，以允许您的资源通过 IPv4、IPv6 或两者与数据库集群通信。

使用创建或修改数据库集群时，可以在**网络类型**部分指定双堆栈模式。 AWS 管理控制台 

使用 AWS Command Line Interface (AWS CLI) 创建数据库集群时，请将`--network-type`选项设置`DUAL`为使用双堆栈模式：

```
aws neptune create-db-cluster \
    --db-cluster-identifier my-dual-stack-cluster \
    --engine neptune \
    --db-subnet-group-name my-dual-stack-subnet-group \
    --network-type DUAL
```

当您使用修改现有数据库集群以使用双堆栈模式时： AWS CLI 

```
aws neptune modify-db-cluster \
    --db-cluster-identifier my-cluster \
    --network-type DUAL \
    --apply-immediately
```

使用 Neptune API 创建或修改数据库集群时，请将`NetworkType`参数设置为`DUAL`以使用双堆栈模式。

## 修改 IPv4-only 数据库集群以使用双堆栈模式
<a name="neptune-dualstack-modifying"></a>

您可以修改 IPv4-only 数据库集群以使用双堆栈模式。为此，请更改数据库集群的网络类型。

在修改数据库集群以使用双堆栈模式之前，请确保其数据库子网组支持双堆栈模式。由于在创建集群后无法更改数据库子网组，因此必须向集群子网组中的现有子网添加 IPv6 CIDR 块。

**修改 IPv4-only 数据库集群以使用双堆栈模式**

1. 为现有数据库子网组的子网添加 IPv6 支持：

   1. 将 IPv6 CIDR 块与 VPC 关联。有关说明，请参阅《Amazon VPC 用户指南》**中的[将 IPv6 CIDR 块添加到 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/modify-vpcs.html#vpc-associate-ipv6-cidr)。

   1. 将 IPv6 CIDR 块连接到数据库子网组中的所有子网。有关说明，请参阅《Amazon VPC 用户指南》**中的[将 IPv6 CIDR 块添加到子网](https://docs.aws.amazon.com/vpc/latest/userguide/modify-subnets.html#subnet-associate-ipv6-cidr)。

   1. 确认数据库子网组支持双栈模式。使用 AWS CLI，运行`describe-db-subnet-groups`命令并检查`SupportedNetworkTypes`输出。

1. 修改数据库集群以使用双堆栈模式。使用 AWS CLI：

   ```
   aws neptune modify-db-cluster \
       --db-cluster-identifier my-cluster \
       --network-type DUAL \
       --apply-immediately
   ```

1. 通过检查输出中的，确认数据库集群处于双堆栈模式。`NetworkType` `describe-db-clusters`

如果更改后无法连接到数据库集群，请确保客户端和数据库安全防火墙以及路由表允许通过所选网络（IPv4 或 IPv6）访问数据库。

## 双栈网络数据库集群的限制
<a name="neptune-dualstack-limitations"></a>

以下限制适用于双栈网络 Neptune 数据库集群：
+ 网络类型是在数据库集群级别设置的。集群中的所有数据库实例都继承集群的网络类型。您不能为单个实例设置不同的网络类型。
+ 数据库集群不能`IPV6`只使用该网络类型。它们可以使用`IPV4`独占模式或双栈模式 (`DUAL`)。
+ Neptune 不支持原生 IPv6 子网（子网）IPv6-only 。数据库集群子网必须同时支持 IPv4 和 IPv6 才能使用双堆栈模式。