无需管理服务器

完全托管

只需在控制台中单击几下,您就可以创建完全托管的 Apache Kafka 集群,该集群遵循 Apache Kafka 的部署最佳实践,或者使用自定义配置创建自己的集群。创建所需配置后,Amazon MSK 会自动预置、配置和管理 Apache Kafka 集群运营和 Apache ZooKeeper 节点。

已包含 Apache ZooKeeper

Apache ZooKeeper 需要运行 Apache Kafka,协调集群任务并维护与集群交互的资源的状态。Amazon MSK 为您管理 Apache ZooKeeper 节点。每个 Amazon MSK 集群都为 Apache Kafka 集群包含适当数量的 Apache ZooKeeper 节点,而无需额外成本。

Amazon MSK 无服务器

MSK 无服务器是 Amazon MSK 的一种集群类型,它可以帮助您轻松运行 Apache Kafka 集群,无需管理计算和存储容量。MSK 无服务器自动预置和扩展资源,同时还管理 Apache Kafka 分区,因此您可以流式传输数据,而不必担心调整集群大小或扩缩集群。

高度可用

高可用性为原定设置

所有集群都在多个 AZ(原定设置为三个)进行分发,它们都得到 Amazon MSK 的服务等级协议以及自动系统的支持,这些自动系统可在集群基础设施和 Apache Kafka 软件中检测并对问题做出响应。若有组件发生故障,Amazon MSK 会自动进行替换以避免您的应用程序中断运行。Amazon MSK 管理 Apache ZooKeeper 节点的可用性,因此您无须启动、停止或直接访问节点。它还会按需自动部署软件补丁,确保您的集群保持最新状态并顺利运行。

数据复制

Amazon MSK 借助多可用区复制来实现高可用性。数据复制功能包含在内,无额外费用。

高度安全

私有连接

您的 Apache Kafka 集群在 Amazon MSK 管理的 Amazon Virtual Private Cloud (VPC) 中运行。基于您指定的配置,您的集群可提供给您自己的 Amazon VPC、子网和安全组。您可以完全控制您的网络配置和 IP 地址。

精细访问控制

IAM 访问控制是一个免费的安全性选项,它可以使用 IAM 角色或用户策略来控制访问权限,从而简化集群身份验证和 Apache Kafka API 授权。使用 IAM 访问控制,您不再需要构建和运行一次性的访问管理系统来控制 Apache Kafka 的客户端身份验证和授权。您的集群将默认使用最低权限来保护安全。对于预置的集群,您还可以对 Apache Kafka 访问控制列表 (ACL) 使用 Simple Authentication and Security Layer (SASL)/Salted Challenge Response Authentication Mechanism (SCRAM) 或相互 Transport Layer Security (TLS) 身份验证来控制客户端访问。

静态和在传输中加密

Amazon MSK 无需特殊配置或第三方工具就可以加密静态数据。对于预置的集群,默认情况下,可以使用 AWS Key Management Service (KMS) 密匙对所有静态数据进行加密,也可以使用您自己的密匙加密。您还可通过 TLS 在代理之间以及您的集群上的客户端与代理之间加密传输中的数据。对于无服务器集群,根据原定设置,使用服务托管式密钥加密所有静态数据,通过 TLS 加密所有传输中的数据。

通过互联网连接

Amazon MSK 提供一种选项,可用于通过互联网安全地连接到运行 Apache Kafka 2.6.0 或更高版本的 Amazon MSK 集群的代理。通过启用公有访问,私有 Amazon Virtual Private Cloud (VPC) 外部的授权客户端可以将加密数据流式传输传入和传出特定的 Amazon MSK 集群。

已深度集成

其他提供商所提供的广度和深度均不及 Amazon MSK 中的 AWS 集成。这些集成包括:

  • 适用于 Apache Kafka 和服务等级 API 访问控制的 AWS IAM
  • 用于运行完全托管 Apache Flink 应用程序的 Amazon Kinesis Data Analytics,以便在 Apache Kafka 内处理串流数据
  • Amazon Kinesis Data Analytics Studio,以便使用 Apache Flink SQL 运行交互式串流 SQL 和长时间运行的 SQL 作业
  • AWS Glue Schema 注册表,以集中控制与发展架构
  • AWS IoT Core,以便将 IoT 事件流式传输到 MSK
  • AWS Database Migration Service (AWS DMS),以便更改数据捕获和分析
  • Amazon Virtual Private Cloud (Amazon VPC),以便进行私有客户端连接和网络隔离
  • AWS Key Management Service (AWS KMS),以便静态加密
  • AWS Certificate Manager Private Certificate Authority,以便相互 TLS 客户端身份验证
  • AWS Secrets Manager,以便保护 SASL/SCRAM 密钥的存储和管理
  • AWS CloudFormation,以便以代码形式部署 Amazon MSK
  • 适用于集群、代理、主题、使用者和分区级指标的 Amazon CloudWatch

开源

兼容原生 Apache Kafka

Amazon MSK 部署原生版本 Apache Kafka,因此专为 Apache Kafka 构建的应用程序和工具开箱即可兼容 Amazon MSK,无需对应用程序代码进行更改。

简化版本可用性

Amazon MSK 通常可在公开发布的七天内提供更新版本的 Apache Kafka。

无缝版本升级

您只需单击几下即可在预置的集群上升级 Apache Kafka 版本,让您可以决定何时利用新 Apache Kafka 版本中提供的功能和漏洞修复。Amazon MSK 对运行集群上的版本升级部署进行自动化,以保持客户端 I/O 可用性,从而使客户可以遵循最佳实践。对于无服务器集群,Apache Kafka 版本由 Amazon MSK 自动升级。

最低成本

Amazon MSK 的起始价格每天不到 2.50 USD。客户要为每 GB 摄取及全部数据支付的费用通常介于 0.05 USD 和 0.07 USD 之间,此价格仅为其他托管提供商费用的 1/13。访问 Amazon MSK 定价页面,了解更多定价信息。

可扩展

代理扩展(仅适用于预置的集群)

您可以通过更改 Apache Kafka 代理的大小或系列在数分钟内无需停机即可扩展您的 Amazon MSK 集群。更改大小或系列是一种颇受欢迎的扩展 Amazon MSK 集群的方式,因为它让您能够灵活地调整集群的计算容量,来应对工作负载的变化。这是首选的方式,因为它不需要可能影响 Apache Kafka 可用性的分区重新分配。

集群扩展(仅适用于无服务器集群)

Amazon MSK 自动扩展集群的计算和存储资源,以响应应用程序的吞吐量需求。

自动分区管理

Amazon MSK 与 Cruise Control 集成,后者适用于 Apache Kafka,是一种以您的名义自动管理分区分配的热门开源工具。对于无服务器集群,Amazon MSK 自动为您管理分区分配。

自动存储扩展(仅适用于预置的集群)

您可以使用 AWS 管理控制台或 AWS Command Line Interface (AWS CLI) 无缝纵向扩展每个代理预置的存储容量,以适应存储需求的变化。您还可以创建自动扩展策略来自动扩展您的存储,以满足不断增长的串流需求。

可配置

默认情况下,Amazon MSK 为 Apache Kafka 部署最佳实践集群配置。对于预置的集群,您可以优化 30 多种不同的集群配置,同时支持所有动态和主题级配置。有关更多信息,请参阅文档中的自定义 MSK 配置

可见

默认情况下使用 CloudWatch 指标轻松观察串流性能

您可以使用 Amazon CloudWatch 对重要的指标进行可视化与监控,以了解并维持串流应用程序的性能。

导出 JMX 和节点指标至带开放监控功能的 Prometheus 服务器(仅适用于预置的集群)

借助 Prometheus 的开放监控功能,您可以使用 DatadogLensesNew RelicSumo Logic 或 Prometheus 服务器等解决方案来监控 Amazon MSK,并轻松将您现有的监控控制面板迁移到 Amazon MSK。如需了解更多信息,请参见文档中的 Prometheus 的开放监控功能

开始使用 Amazon MSK

计算成本
计算成本

访问 Amazon MSK 定价页面

Read the documentation
查看入门指南

请参阅本分步指南,了解如何在 Amazon MSK 上设置 Apache Kafka 集群。

运行您的 Apache Kafka 集群
运行您的 Apache Kafka 集群

开始在 Amazon MSK 上运行 Apache Kafka 集群。登录 Amazon MSK 控制台