

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# DAX 和 IPv6
<a name="DAX.create-cluster.DAX_and_IPV6"></a>

DynamoDB DAX 現在支援 IPv6 定址，可讓您建立以IPv4-only, IPv6-only 或雙堆疊聯網模式運作的叢集。這有助於增強聯網功能，以滿足不斷發展的基礎設施需求。

**網路類型：**

您可以使用下列網路類型建立叢集：
+ IPv4-only
+ IPv6-only
+ 雙堆疊 （同時支援 IPv4 和 IPv6)

**主要功能：**

透過 IPv6 支援，您可以執行下列動作：
+ **網路組態選項：**
  + 上的IPv4-only 和雙堆疊叢集`dual_stack subnets`。
  + IPv6-only子網路上的IPv6-only 叢集。
+ **子網路群組管理：**
  + 建立IPv4-only, IPv6-only 或雙堆疊支援的子網路群組
  + 使用其他 VPC 子網路修改現有的子網路群組
  + 將IPv6-only 的子網路新增至 IPv6-configured子網路群組
  + 將 IPv4 或雙堆疊子網路新增至 IPv4 和雙堆疊設定的群組
+ **用戶端組態：**
  + 進行資料平面呼叫時，您可以使用下列方式為 dual\$1stack 叢集設定偏好的 IP 通訊協定：
    + `ip_discovery` Python SDK 中的 參數
    + `ipDiscovery` 其他 SDKs中的 參數
  + 預設：未指定通訊協定偏好設定時的 IPv4 

在 DAX 叢集中實作 IPv6 之前，您必須考慮下列事項：
+ 叢集建立後無法變更網路類型
+ 對於雙堆疊叢集，用戶端組態中的 `ip_discovery/ipDiscovery` 參數會決定要使用的 IP 通訊協定 (IPv4 或 IPv6)
+ 不同的應用程式可以根據其組態，使用不同的 IP 通訊協定連線到相同的雙堆疊叢集

**Example 用戶端設定範例**  

```
DynamoDbAsyncClient client = ClusterDaxAsyncClient.builder()
        .overrideConfiguration(Configuration.builder()
            .url(endpoint)             // DAX cluster endpoint
            .ipDiscovery(ipDiscovery)       // IP discovery type (IPv4 or IPv6)
            .build())
        .build();
```

**重要**  
當您使用以資源為基礎的 IAM 政策來限制IPv6-only 環境中 DynamoDB 資料表的 IP 地址時，如果您封鎖 IPv4 地址空間 ()，則必須為 DAX 叢集的 IAM 角色建立例外狀況`0.0.0.0/0`。將 `ArnNotEquals`條件新增至您的政策，特別允許存取 DAX 叢集的 IAM 角色，同時維護其他存取路徑的 IP 型限制。如果沒有此例外狀況，DAX 無法存取您的 DynamoDB 資料表。  
例如：  

**Example**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "dynamodb:PutItem",
      "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection",
      "Condition": {
        "ArnNotEquals": {
          "aws:PrincipalArn": "arn:aws:iam::123456789012:role/DAXServiceRoleForDynamoDBAccess"
        },
        "IpAddress": {
          "aws:SourceIp": "0.0.0.0/0"
        }
      }
    }
  ]
}
```