本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 Amazon MSK 集群
创建集群之后无法更改 Amazon MSK 集群的 VPC。
在创建 Amazon MSK 集群之前,您需要拥有一个Amazon Virtual Private Cloud(VPC),并在该 VPC 内设置子网。
在美国西部(加利福尼亚北部)区域中,您需要两个不同可用区中的两个子网。在提供 Amazon MSK 的所有其他区域中,您可以指定两个或三个子网。您的子网必须位于不同的可用区中。创建集群时,Amazon MSK 将代理节点平均分布到您指定的子网中。
代理代理代理引擎
在创建 Amazon MSK 集群时,您可以指定您希望它具有的代理类型。亚马逊 MSK 支持以下代理类型:
kafka.t3.small
ka.m4x4xka.m4xka.m4xka.m4xka.m4xka.m4xmarge、ka.m4x4xka.m4xka.m4xxa.m4xxarge、ka.m4x4xka.m4x4xka.m4xka.m4xka.m4x4xka.m4xka.m4xka.m4xka.m4x4xka.m4xka.m
M5 代理具有比 T3 代理更高的基准吞吐量性能,建议用于生产工作负载。M5 代理还可具有比 T3 代理更多的每代理分区。如果您正在运行较大的生产级工作负载或需要更多的分区,请使用 M5 代理。要了解有关 M5 实例类型的更多信息,请参阅 Amazon EC2 M5 实例
T3 代理可以使用 CPU 积分来临时提高性能。如果您正在测试中小型流式处理工作负载,或者您的低吞吐量流式处理工作负载会临时出现吞吐量高峰,则可以使用 T3 代理进行低成本开发。建议运行 proof-of-concept 测试来确定 T3 代理是否足以应对生产或关键工作负载。要了解有关 T3 实例类型的更多信息,请参阅 Amazon EC2 T3 实例
有关如何选择代理类型的更多信息,请参阅最佳实践.
使用创建群集Amazon Web Services Management Console
从打开 Amazon MSK 控制台https://console.amazonaws.cn/msk/
. -
选择创建集群。
-
指定集群的名称。
-
在 VPC 列表中,选择要用于集群的 VPC。您还可以指定您希望 Amazon MSK 用于创建集群的 Apache Ka.MSK。
-
如果您使用以下区域之一,请指定两个子网:南美洲 (圣保罗)、加拿大 (中部) 和美国西部 (加利福尼亚北部)。在提供 Amazon MSK 的其它区域中,您可以指定两个或三个子网。指定的子网必须位于不同的可用区中。
-
选择所需配置类型。有关 MSK 配置的信息,请参阅 Amazon MSK 配置。
-
指定您希望 MSK 在每个可用区中创建的代理类型和数量。每个可用区最少一个代理,最多30个代理。
-
(可选)为您的集群分配标签。标签是可选的。有关更多信息,请参阅 为 Amazon MSK 集群添加标签。
-
您可以调整每个代理的存储量。创建集群后,您可以增加每个代理的存储量,但不能减少它。
-
选择对传输中的数据进行加密所需的设置。默认情况下,MSK 会在集群中的代理之间传输数据时对数据进行加密。如果您希望在代理之间传输数据时不要对数据进行加密,请清除带有 Enable encryption within the cluster (在集群内启用加密) 标签的复选框。
-
选择用于在客户端和代理之间传输数据时加密数据的三种设置之一。有关更多信息,请参阅 传输中加密。
-
选择要用于静态加密数据的 KMS 密钥类型。有关更多信息,请参阅 静态加密。
-
如果要验证客户端身份,请通过选择 Enable TLS client authentication (启用 TLS 客户端身份验证) 旁边的方框来选择该选项。有关身份验证的更多信息,请参阅双向 TLS 身份验证。
-
选择所需的监控级别。此选择决定您获得的指标集。有关更多信息,请参阅 监控 Amazon MSK 集群。
-
(可选) 选择高级设置,然后选择自定义设置. 您可以指定要向其授予对集群的访问权限的一个或多个安全组(例如,客户端计算机的安全组)。如果您指定与您共享的安全组,则必须确保您拥有对它们的权限。具体来说,您需要
ec2:DescribeSecurityGroups权限。有关示例,请参阅 。Amazon EC2:允许以编程方式和在控制台中管理关联至特定 VPC 的 EC2 安全组. -
选择创建集群。
-
检查集群状态在集群摘要页. 状态从更改创建到处于活动状态因为 Amazon MSK 配置了集群。当状态为处于活动状态的更多信息,您可以连接到集群。有关集群状态的更多信息,请参阅集群状态.
使用创建群集Amazon CLI
-
复制以下 JSON 并将其保存到文件中。将文件命名为
brokernodegroupinfo.json。将 JSON 中的子网 ID 替换为与子网对应的值。这些子网必须位于不同的可用区中。将"Security-Group-ID"替换为客户端 VPC 的一个或多个安全组的 ID。与这些安全组关联的客户端可以访问集群。如果您指定与您共享的安全组,则必须确保您拥有对它们的权限。具体来说,您需要ec2:DescribeSecurityGroups权限。有关示例,请参阅 。Amazon EC2:允许以编程方式和在控制台中管理关联至特定 VPC 的 EC2 安全组. 最后,将更新的 JSON 文件保存在已安装 Amazon CLI 的计算机上。{ "InstanceType": "kafka.m5.large", "ClientSubnets": [ "Subnet-1-ID", "Subnet-2-ID" ], "SecurityGroups": ["Security-Group-ID"] }重要 如果您使用以下区域之一,请恰好指定两个子网:南美洲 (圣保罗)、加拿大 (中部) 和美国西部 (加利福尼亚北部)。对于提供 Amazon MSK 的其它区域,您可以指定两个或三个子网。指定的子网必须位于不同的可用区中。在创建集群时,Amazon MSK 在您指定的子网之间平均分配代理节点。
-
在保存
brokernodegroupinfo.json文件的目录中运行以下 Amazon CLI 命令,并将"Your-Cluster-Name"替换为您选择的名称。对于"Monitoring-Level",您可以指定以下三个值之一:DEFAULT、PER_BROKER或PER_TOPIC_PER_BROKER。有关这三个不同监控级别的信息,请参阅监控 Amazon MSK 集群。enhanced-monitoring参数是可选的。如果未在create-cluster命令中指定该参数,监控级别即为DEFAULT。aws kafka create-cluster --cluster-name"Your-Cluster-Name"--broker-node-group-info file://brokernodegroupinfo.json --kafka-version "2.2.1" --number-of-broker-nodes 3 --enhanced-monitoring"Monitoring-Level"该命令的输出如以下 JSON 所示:
{ "ClusterArn": "...", "ClusterName": "AWSKafkaTutorialCluster", "State": "CREATING" }注意 create-cluster命令可能会返回错误,指示一个或多个子网所属的可用区不受支持。发生此种情况时,该错误会指示不受支持的可用区。请创建不使用不受支持的可用区的子网,然后重试create-cluster命令。 保存
ClusterArn键的值,因为您需要该键才能对集群执行其他操作。-
运行以下命令以检查集群
STATE. 这些区域有:STATE值从CREATING到ACTIVE因为 Amazon MSK 配置了集群。当状态为ACTIVE的更多信息,您可以连接到集群。有关集群状态的更多信息,请参阅集群状态.aws kafka describe-cluster --cluster-arn<your-cluster-ARN>
使用自定义 MSK 配置创建集群Amazon CLI
有关自定义 MSK 配置以及如何创建这些配置的信息,请参阅 Amazon MSK 配置。
-
将以下 JSON 保存到文件中,并将
configuration-arn替换为创建集群要使用的配置的 ARN。{ "Arn":configuration-arn, "Revision": 1 } -
运行
create-cluster命令并使用configuration-info选项指向您在上一步中保存的 JSON 文件。以下是示例。aws kafka create-cluster --cluster-name ExampleClusterName --broker-node-group-info file://brokernodegroupinfo.json --kafka-version "1.1.1" --number-of-broker-nodes 3 --enhanced-monitoring PER_TOPIC_PER_BROKER --configuration-info file://configuration.json以下是运行此命令后的成功响应示例。
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/CustomConfigExampleCluster/abcd1234-abcd-dcba-4321-a1b2abcd9f9f-2", "ClusterName": "CustomConfigExampleCluster", "State": "CREATING" }
使用 API 创建群集
要使用 API 创建集群,请参阅CreateCluster.