使用 AWS 管理控制台 创建预置 MSK 集群 - Amazon Managed Streaming for Apache Kafka

使用 AWS 管理控制台 创建预置 MSK 集群

此主题中的过程介绍了使用 AWS 管理控制台 中的自定义创建选项创建预置 MSK 集群的常见任务。使用 AWS 管理控制台 中提供的其他选项,您还可以创建以下内容:

本主题中的程序

  1. https://console.aws.amazon.com/msk/ 打开 Amazon MSK 控制台。

  2. 选择创建集群

  3. 对于集群创建方法,请选择自定义创建

  4. 对于集群名称,指定一个唯一且不超过 64 个字符的名称。

  5. 对于集群类型,选择已预置

  6. 对于 Apache Kafka 版本,选择要在代理上运行的版本。要查看每个 Apache Kafka 版本支持的 Amazon MSK 功能的比较,请选择查看版本兼容性

  7. 请在代理部分执行以下操作:

    1. 对于代理类型,选择以下选项之一:

      • 快速代理:高性能、可扩展的代理,具有完全托管的虚拟存储。对于要求苛刻的高吞吐量应用程序,请选择此代理类型。

      • 标准代理:传统的 Kafka 代理,可完全控制配置。对于吞吐量要求适中的通用工作负载,请选择此代理类型。

      有关这些代理类型的更多信息,请参阅Amazon MSK 代理类型

    2. 对于代理大小,根据集群的计算、内存和存储需求,选择用于集群的大小。

    3. 对于区数量,选择代理分布的 AWS 可用区 数量。

      为提高可用性,快速代理需要三个可用区。

    4. 对于每个区的代理,指定您希望 Amazon MSK 在每个可用区中创建的代理数量。每个可用区最少有一个代理,基于 ZooKeeper 的集群每个集群最多有 30 个代理,基于 KRaft 的集群每个集群最多有 60 个代理。

此过程介绍如何跨代理配置数据存储需求,并指定存储模式。这有助于根据工作负载需求定义数据存储要求。此外,该过程还描述了控制代理运行方式的集群配置设置。这些设置包括代理配置、默认主题设置和分层存储策略等设定。

  1. 如果选择代理类型为标准,请在存储部分执行以下操作:

    1. 对于存储, 选择您希望集群拥有的初始存储量。创建集群后,您无法减少存储容量。

    2. (可选)根据您选择的代理大小(实例大小),您还可以指定每个代理的预置存储吞吐量。该选项支持为每个代理的 Amazon EBS 卷分配专用的输入和输出 (I/O) 性能。

      要启用此选项,请为 x86 选择代理大小(实例大小)kafka.m5.4xlarge 或更大,为基于 Graviton 的实例选择 kafka.m7g.2xlarge 或更大。然后,选中启用预置存储吞吐量复选框。通过选中此复选框,您可将吞吐量手动设置为每秒至少 250 MiB。这一吞吐量对需要高速、可预测存储性能的 I/O 密集型工作负载或应用程序非常有用。有关更多信息,请参阅 为 Amazon MSK 集群中的标准代理预置存储吞吐量

    3. 对于集群存储模式,请指定集群中的数据存储和管理方式。此选项决定了代理使用的存储类型和配置。请选择以下选项之一:

      • 仅 EBS 存储:在附加至每个代理的 Amazon Elastic Block Store (Amazon EBS) 卷上,本地存储所有主题数据。选择此模式可满足稳定性能需求,并快速访问最近的消息。

      • 分层存储和 EBS 存储:将本地 Amazon EBS 数据与经济高效的 Amazon S3 大型数据集远程存储相结合。此模式可降低 Amazon EBS 存储成本,支持更长的数据留存时间,并在无人工干预的情况下自动扩缩存储。如果想以更低的成本将数据留存更长时间,或预计存储需求会有大幅增长,请选择此模式。

    注意

    对于快速代理,无需管理存储空间。

  2. 对于集群配置,请指定以下选项之一来定义集群行为:

    • Amazon MSK 默认配置:包含一组针对通用使用案例进行优化的预定义配置。选择此选项可加快设置和部署集群。有关 Amazon MSK 配置的信息,请参阅 预置 Amazon MSK 配置

    • 自定义配置:可指定您自己的代理和主题设置。您可以从列表中选择现有的自定义配置,也可以创建新的自定义配置。选择此选项可以对代理进行微调控制,例如特定的性能调整、安全设置等。

  3. 选择下一步以继续。

网络配置定义了集群在 AWS 基础设施内的部署方式。这包括 VPC、可用区和子网,以及控制网络、可用性和访问权限的安全组。

  1. 对于网络,执行以下操作:

    1. 选择要用于集群的 VPC。

    2. 根据您之前选择的可用区数量,指定将在其中部署代理的可用区和子网。

      对于美国西部(北加利福尼亚)区域的标准代理,您需要在两个不同可用区中使用两个子网。在提供 Amazon MSK 的其余区域中,您可以指定两到三个子网。您的子网必须位于不同的可用区中。

      对于快速代理,需要在三个不同的可用区中使用三个子网。

      在创建预置 MSK 集群时,MSK 在您指定的子网之间平均分配代理节点。

    3. 对于 Amazon EC2 中的安全组,选择或创建要向其授予集群访问权限的一个或多个安全组。这些 Amazon EC2 安全组控制代理的入站和出站流量。例如,客户端计算机的安全组。

      如果您指定与您共享的安全组,则必须确保您具有使用它们的权限。具体来说,您需要 ec2:DescribeSecurityGroups 权限。有关更多信息,请参阅连接到 MSK 集群

  2. 选择下一步以继续。

  1. 安全设置部分,执行以下操作:

    1. 选择以下一种或多种身份验证和授权方法,控制客户端对 Kafka 集群的访问:

      • 未经身份验证的访问:允许客户端在未提供任何身份验证凭据的情况下访问集群。此方法存在安全风险,可能不符合安全最佳实践。有关更多信息,请参阅 msk-unrestricted-access-check

      • 基于 IAM 角色的身份验证:使用 AWS IAM 用户/角色启用客户端身份验证和授权。此方法通过 IAM 策略提供对集群访问的精细控制。建议将此方法用于已在 AWS 中运行的应用程序。

      • SASL/SCRAM 身份验证:要求客户端提供存储在 AWS Secrets Manager 中的用户名和密码凭证进行身份验证。Amazon MSK 从密钥管理器检索这些凭证,并安全地验证用户身份。

        要为集群设置有关身份验证的登录凭证,请先在密钥管理器中创建密钥资源。然后,将登凭证与该密钥相关联。有关该访问控制方法的更多信息,请参阅为 Amazon MSK 集群设置 SASL/SCRAM 身份验证

      • 通过 AWS Certificate Manager (ACM) 进行 TLS 客户端身份验证:支持使用数字证书在客户端和代理之间进行双向身份验证。必须在为集群相同或不同的 AWS 账户 中配置 AWS 私有证书颁发机构 (AWS 私有 CA)。

        我们强烈建议在实现 mTLS 时,为每个 MSK 集群使用独立的 AWS 私有 CA。这可以确保由 PCA 签署的 TLS 证书仅对单个 MSK 集群进行身份验证,从而维持严格的访问控制。

  2. 加密,选择要用于加密静态数据的 KMS 密钥类型。有关更多信息,请参阅 Amazon MSK 静态加密

    对静态数据进行加密可以保护存储数据的完整性,而传输中加密可确保数据在传输过程中,面对网络监控手段时的数据机密性。

  3. 选择下一步以继续。

此过程介绍如何设置代理指标,以及如何收集和传送代理日志。通过这些设置,可以观察分析集群的运行状况、性能和故障排除问题。有关更多信息,请参阅 监控预置 Amazon MSK 集群

  1. 对于该集群的 Amazon CloudWatch 指标,请选择以下监控级别之一。在每个监控级别收集的指标都与 CloudWatch 集成在一起,以实现可视化和警报。

    1. 基本监控:提供一组基本的集群级别指标,无需额外付费。此级别适用于具有普通监控需求的大多数用例。

    2. 代理级增强监控:提供详细的代理指标,但需额外付费。此级别包括基本监控和更精细的代理指标,例如分层存储指标、其它代理传入/传出的字节数、读/写操作的总时间。您需要为该级别的指标付费,而基础级别指标仍继续免费。

    3. 主题级增强监控:提供单个主题的指标,但需额外付费。选择此级别可以更详细地了解各个代理的主题性能。此级别包括增强的代理级监控和主题级指标,例如指定主题的分层存储指标,以及每秒收到的消息数。

    4. 分区级增强监控:提供最精细的各分区指标视图,但需额外付费。选择此级别,可通过捕获各代理间每个主题中每个分区的指标,来获得最详细的监控。此级别包括增强的主题级监控和特定于分区的精细指标,例如补偿滞后指标。

    有关标准和快速代理类型在各监控级别可用的指标的更多信息,请参阅标准代理的 CloudWatch 指标快速代理的 CloudWatch 指标

  2. (可选)如果要使用 JMX Exporter、Node Exporter 或同时使用两者,以 Prometheus 格式导出指标,请选择使用 Prometheus 启用开放监控。有关此选项的更多信息,请参阅 使用 Prometheus 进行监控

  3. (可选)要将 MSK 集群配置为将代理日志传送至各种 AWS 服务 进行故障排除和审核,请选择以下一个或多个选项。如果尚不存在这些目标资源,Amazon MSK 也不会为您创建。有关更多信息,请参阅 代理日志

    • 传输至 Amazon CloudWatch Logs:将日志发送到 CloudWatch 中,具备聚类、搜索和可视化功能。无需离开 AWS 管理控制台 即可查询和分析日志。

    • 传输至 Amazon S3:将日志作为文件存储在 Amazon S3 存储桶中,进行长期存档和批量分析。

    • 传输至 Amazon Data Firehose:将日志发送到 Firehose,以便自动传输给 Amazon OpenSearch Service 以进行实时故障排除。

  4. (可选)为了帮助识别、组织或搜索集群,请选择添加新标签以键值对形式添加标签。例如,使用 Load testingTest 的键值对向集群添加标签。

    有关在集群中使用标签的更多信息,请参阅为 Amazon MSK 集群添加标签

  5. 选择下一步以继续。

  1. 查看集群的设置。

    选择编辑上一步,更改之前指定的任何设置或返回之前的控制台屏幕。

  2. 选择创建集群

  3. 在集群详细信息页面的集群摘要部分中,查看此集群的状态。在 Amazon MSK 预置集群时,状态从正在创建变为活动。当状态为活动时,您可连接到集群。有关集群状态的更多信息,请参阅了解预置 MSK 集群状态