

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

# 配置双栈网络类型
<a name="serverless-config-dual-stack"></a>

 对于使用 Kafka 版本 3.6.0 或更高版本的现有 MSK 无服务器集群，Amazon MSK 支持双栈网络类型，无需支付额外费用。通过双堆栈网络，您的集群可以同时使用 IPv4 和 IPv6 地址。双栈端点还支持， IPv4 从而保持向后兼容性。Amazon MSK 通过双栈网络类型提供 IPv6 支持，而不是仅限于 IPv6双栈网络类型。

 默认情况下，客户端使用 IPv4 网络类型连接到 Amazon MSK 集群。默认情况下，您创建的所有新集群也会使用 IPv4 。要将集群的网络类型更新为双堆栈，请确保您已满足下一节中描述的先决条件。然后，使用 [UpdateConnectivity](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-connectivity.html#UpdateConnectivity)API 更新双堆栈的连接。

**注意**  
将集群更新为使用双栈网络类型后，就无法将其切换回 IPv4 网络类型。

**Topics**
+ [

## 使用双栈网络类型的先决条件
](#msks-ipv6-prerequisites)
+ [

## MSK 无服务器的 IAM 权限
](#msks-ipv6-iam-permissions)
+ [

## 为集群使用双栈网络类型
](#update-msks-network-type)
+ [

## 使用双栈网络类型的注意事项
](#msks-dual-stack-considerations)

## 使用双栈网络类型的先决条件
<a name="msks-ipv6-prerequisites"></a>

在为集群配置双栈网络类型之前，请确保在集群创建期间提供的所有子网都必须支持双栈网络类型。即使您的集群中的一个子网不支持双堆栈，您也无法将集群的网络类型更新为双堆栈。

## MSK 无服务器的 IAM 权限
<a name="msks-ipv6-iam-permissions"></a>

您必须具有以下 IAM 权限：
+  `ec2:DescribeSubnets` 
+  `ec2:ModifyVpcEndpoint` 

有关执行所有 Amazon MSK 操作所需的权限的完整列表，请参阅 AWS 托管策略：A [mazon A MSKFull cces](https://docs.aws.amazon.com/msk/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonMSKFullAccess) s。

## 为集群使用双栈网络类型
<a name="update-msks-network-type"></a>

您可以使用 AWS 管理控制台、 AWS CLI或 AWS SDK 更新 MSK 无服务器集群的网络类型。

------
#### [ Using AWS 管理控制台 ]

1. 在[https://console.aws.amazon.com/msk/家打开亚马逊 MSK 控制台？ region=us](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)-east-1\$1/home/。

1. 选择要为其配置双栈网络类型的 MSK 无服务器集群。

1. 在集群详细信息页面上，选择**属性**。

1. 在**网络设置**中，选择**编辑网络类型**。

1. 对于**网络类型**，请选择**双堆栈**。

1. 选择**保存更改**。

------
#### [ Using AWS CLI ]

您可以使用[更新连接 API 将现有 MSK Serverless 集](https://docs.aws.amazon.com/cli/latest/reference/kafka/update-connectivity.html)群的网络类型更新为双堆栈。以下示例使用` update-connectivity`命令将集群的网络类型设置为双堆栈。

在以下示例中，将示例集群 ARN、arn: aws: kafka::: clu *us-east-1* ster* 123456789012*/替换为实际的 MSK 集群 ARN。*myCluster* *12345678-1234-1234-1234-123456789012 -1*要获取当前的集群版本，请使用 desc [ribe-](https://docs.aws.amazon.com/cli/latest/reference/kafka/describe-cluster.html) cluster 命令。

```
aws kafka update-connectivity \
    --cluster-arn "arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/12345678-1234-1234-1234-123456789012-1" \
    --current-version "KTVPDKIKX0DER" \
    --connectivity-info '{
        "networkType": "DUAL"
    }
```

------
#### [ Using AWS SDK ]

以下示例使用 [UpdateConnectivity](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-connectivity.html#UpdateConnectivity)API 将集群的网络类型设置为双堆栈。

在以下示例中，将示例集群 ARN、arn: aws: kafka::: clu *us-east-1* ster*123456789012*/替换为实际的 MSK 集群 ARN。*myCluster* *12345678-1234-1234-1234-123456789012-1*要获取当前集群版本，请使用 [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)API。

```
import boto3

client = boto3.client("kafka")

response = client.update_connectivity(
    ClusterArn="arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/12345678-1234-1234-1234-123456789012-1",
    CurrentVersion="KTVPDKIKX0DER",
    ConnectivityInfo={
        "NetworkType": "DUAL"
    }
)
print("Connectivity update initiated:", response)
```

------

## 使用双栈网络类型的注意事项
<a name="msks-dual-stack-considerations"></a>
+ IPv6 支持目前仅在双堆栈模式 (IPv4 \$1 IPv6) 下可用，不支持仅在双栈模式 (\$1) 下 IPv6可用。
+ 双栈网络类型不适用于多 VPC 私有连接。
+ 只有在现有集群的所有子网都支持双栈网络类型时，您才能 IPv4 将现有集群的网络类型从双栈更改为双堆栈。
+ 启用双堆栈后，您将无法恢复到 IPv4 网络类型。要切换回去，必须删除并重新创建集群。
+ 您必须具有以下 IAM 权限：
  + `ec2:DescribeSubnets` 和 ` ec2:ModifyVpcEndpoint`