无需管理服务器

完全托管

只需在控制台中单击几下,您就可以创建完全托管的 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 节点的可用性,因此您无须启动、停止或直接访问节点。它还会按需自动部署软件补丁,确保您的集群保持最新状态并顺利运行。

可靠、自动地跨 MSK 集群复制数据

MSK Replicator 是 Amazon MSK 的一项功能,它使您只需单击几下即可在 Amazon MSK 集群中可靠地复制数据,无需专业知识也能设置开源工具、编写代码或管理基础设施。MSK Replicator 会自动预置和扩展底层资源,因此您可以按需复制数据,并且只需为实际使用量付费。借助 MSK Replicator,您可以构建高度可用且具有容错能力的多区域应用程序,从而提高弹性。您还可以使用 MSK Replicator 在不同地理区域提供更低延迟的数据访问,或者将数据分发给您的合作伙伴。

高度安全

私有连接

您的 Apache Kafka 集群在 Amazon MSK 管理的 Amazon Virtual Private Cloud(VPC)中运行。您自有 Amazon VPC 中的 Kafka 客户端可以通过 Amazon MSK 在 VPC 中部署的跨账户弹性网络接口私密访问集群。如果您的 Kafka 客户端分布在一个或多个 VPC 或 AWS 账户中,您仍然可以使用多 VPC 私有连接功能连接到您的集群。此功能消除自行管理 PrivateLink 解决方案的运营开销,并可随着 Amazon MSK 集群的规模扩大进行无缝扩展,从而无需进行其他配置更改即可保持与集群的私有连接。多 VPC 私有连接还可消除管理与其他 VPC 连接解决方案相关的非重叠 IP、复杂对等和路由表的挑战,因为它允许在连接的 VPC 之间重叠 IP。

跨账户访问控制

使用面向 Amazon MSK 集群的集群策略来定义哪些 IAM 主体拥有跨账户权限,可设置与您的 Amazon MSK 集群的私有连接。与 IAM 客户端身份验证搭配使用时,您还可以使用集群策略为连接的客户端精细定义 Kafka 数据面板权限。

精细访问控制

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 集群的集群策略来定义哪些跨账户 IAM 主体有权设置与 Amazon MSK 集群的跨账户私有连接。与 IAM 客户端身份验证搭配使用时,您还可以使用集群策略为连接的客户端精细定义 Kafka 数据面板权限。

已深度集成

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

  • 适用于 Apache Kafka 和服务等级 API 访问控制的 AWS IAM
  • 适用于 Apache Flink 的亚马逊托管服务,用于运行完全托管的 Apache Flink 应用程序,以在 Apache Kafka 内处理串流数据
  • 适用于 Apache Flink 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,适用于集群、代理、主题、使用者和分区级指标

Graviton

AWS Graviton3 处理器基于 AWS Nitro System 构建,是最新一代的定制款 AWS Graviton 处理器。与类似规模的 M5 实例相比,基于 Graviton3 处理器的 M7g 实例成本更低,却可以提供更高的存储吞吐量和网络吞吐量。

开源

兼容原生 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 自动升级。

最低成本

每天只需不到 2.00 USD,您即可轻松开启 Amazon MSK 的使用之旅。客户通常为每 GB 摄取量支付 0.05 USD 至 0.07 USD 的全包费用,这一价格仅为其他托管提供商费用的 1/13。访问 Amazon MSK 定价页面,了解更多定价信息。

分层存储

借助分层存储,您可以在 MSK 中存储几乎无限的数据,而无需使用分层存储来配置和管理存储容量。您只需单击几下即可为新的或现有的集群启用分层存储,并按实际使用量付费。您可以先将数据存储在经过性能优化的主存储层中,然后让 MSK 自动将数据分层到新的低成本层中以延长保留时间。该功能在提供 MSK 的所有 AWS 区域均受支持。如需了解如何开始使用分层存储,请访问我们的 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 控制台