一般性问题
Amazon MSK 是一种新的亚马逊云科技流数据服务,用于管理 Apache Kafka 基础设施和运营,让开发人员和 DevOps 经理可以轻松地在亚马逊云科上运行 Apache Kafka 应用程序和 Kafka Connect 连接器,而无需成为运行 Apache Kafka 集群方面的专家。Amazon MSK 是在亚马逊云科技运行现有或新的 Apache Kafka 应用程序的理想选择。Amazon MSK 运营和维护 Apache Kafka 集群,提供开箱即用的企业级安全功能,并内置亚马逊云科技集成,可加速流数据应用程序的开发。
首先,您可以将现有 Apache Kafka 工作负载和 Kafka Connect 连接器迁移到 Amazon MSK,或者只需单击几下,您便可以在几分钟内从头开始构建新的工作负载。集群内流量不会产生数据传输费用,也不需要长期承诺或预付款。您只需为实际使用的资源付费。
问:什么是 Apache Kafka?
问:什么是流数据?
问:Apache Kafka 的主要功能是什么?
- Apache Kafka 以容错的方式将流数据存储为一系列连续的记录,并保留记录的生成顺序。
- Apache Kafka 充当数据生产者和数据使用者之间的缓冲区。Apache Kafka 允许许多数据生产者(例如网站、IoT 设备、Amazon EC2 实例)持续发布流数据并使用 Apache Kafka 主题对这些数据进行分类。多个数据使用者(例如机器学习应用程序、Lambda 函数)以自己的速率从这些主题中读取,类似于消息队列或企业消息收发系统。
- 数据使用者以先进先出的方式处理来自 Apache Kafka 主题的数据,从而保留数据的生成顺序。
问:Apache Kafka 的关键概念是什么?
问:何时应使用 Apache Kafka?
Apache Kafka 用于支持转换、传输和响应流数据的实时应用程序,还用于构建可在多个系统或应用程序之间可靠地获取数据的实时流数据管道。
问:Amazon MSK 有什么用?
Amazon MSK 让您可以轻松启动并在亚马逊云科技运行 Apache Kafka 的开源版本,具有高可用性和安全性,同时提供与亚马逊云科技服务的集成,而不会产生运行 Apache Kafka 集群的运营开销。通过 Amazon MSK,您可以使用和配置 Apache Kafka 的开源版本,同时该服务可管理 Apache Kafka 集群的设置、预置、亚马逊云科技集成和持续维护。
只需在控制台中单击几下,您就可以预置 Amazon MSK 集群。预置完成后,Amazon MSK 将取代运行状况不佳的代理,自动复制数据以获得高可用性,管理 Apache ZooKeeper 节点,根据需要自动部署硬件补丁,管理与亚马逊云科技服务的集成,通过控制台显示重要指标,并且支持 Apache Kafka 版本升级,因此您可以利用对 Apache Kafka 的开源版本所做的改进。
问:Amazon MSK 支持哪些 Apache Kafka 版本?
是的,Amazon MSK 原生支持所有数据层面和管理 API。
问:Amazon MSK 是否支持 Apache Kafka AdminClient?
可以。
MSK Connect
问:什么是 Apache Kafka Connect?
Kafka Connect 是 Apache Kafka 的一个开源组件,是连接 Apache Kafka 与数据库、键值存储、搜索索引和文件系统等外部系统的框架。
问:什么是连接器?
连接器通过持续将流数据从数据来源复制到 Apache Kafka 主题,或者持续将数据从 Apache Kafka 主题复制到数据接收器,将包括亚马逊云科技服务在内的外部系统与 Apache Kafka 集成在一起。连接器可在数据传送到目的地之前执行轻量级逻辑处理,例如数据转换、格式调整或数据筛选。来源连接器从数据来源提取数据并将这些数据推送到 Apache Kafka,而接收器连接器则从 Apache Kafka 提取数据并将这些数据推送到数据接收器。
问:我在哪里可以获得连接器?
MSK Connect 运行任何实现 Kafka Connect 接口的连接器。连接器有许多来源,包括来自我们的合作伙伴、Debezium 等开源项目,以及 Confluent 和 lenses.io 等商业连接器供应商。
问:MSK Connect 是否支持非 MSK Apache Kafka 集群?
MSK Connect 可与 Amazon MSK 集群、其他 Apache Kafka 和兼容集群(包括 EC2 或非亚马逊云科技服务环境中的自行管理集群)配合使用,但需与 Amazon VPC 连接。
数据生产和使用
问:是否可以使用 Apache Kafka API 在 Apache Kafka 中存取数据?
可以,Amazon MSK 支持原生 Apache Kafka 生产者和使用者 API。当客户开始使用 Amazon MSK 中的集群时,您的应用程序代码无需更改。
问:是否可以将 Apache Kafka Connect、Apache Kafka Streams 或 Apache Kafka 的任何其他生态系统组件与 Amazon MSK 一起使用?
是的,您可以使用任何利用 Apache Kafka 生产者和使用者 API 以及 Apache Kafka Admin Client 的组件。用于将 .jar 文件上传到 Apache Kafka 集群的工具目前与 Amazon MSK 不兼容,包括 Confluent Control Center、Confluent Auto Data Balancer 和 Uber uReplicator。
标准代理
问:什么是标准代理?
已预置 MSK 的标准代理为配置集群的性能提供了很高的灵活性。您可以从多种集群配置中进行选择,以实现应用程序所需的可用性、耐久性、吞吐量和延迟特性。您还可以预置存储容量并在需要时增加容量。Amazon MSK 处理标准代理和附加存储资源的硬件维护,自动修复可能出现的硬件问题。
Express 代理
问:什么是 Express 代理?
已预置 MSK 的 Express 代理使 Apache Kafka 的管理更简单,大规模运行更具成本效益,而且更有弹性,实现了您所期望的低延迟。代理包括按使用量付费的存储,可自动扩展,无需调整大小、预置或主动监控。根据所选的实例大小,与标准 Apache Kafka 代理相比,每个代理节点可以为每个代理提供高达 3 倍的吞吐量,扩展速度最多可提高 20 倍,恢复速度快 90%。Express 代理预先配置了 Amazon MSK 的最佳实践默认值,并强制执行客户端吞吐量配额,以最大限度地减少客户端与 Kafka 后台操作之间的资源争用。
问:Express 代理的主要优势是什么?
- 无需存储管理:Express 代理无需预置或管理任何存储资源。您可以获得弹性、几乎无限制、按使用量付费和完全托管的存储。对于高吞吐量用例,您无需推理计算实例和存储卷之间的交互以及相关的吞吐量瓶颈。这些功能简化了集群管理,消除了存储管理的运营开销。
- 更快的扩展:与标准代理相比,快速代理允许您更快地扩展集群和移动分区。当您需要扩展集群以应对即将到来的负载峰值或扩展集群以降低成本时,此功能至关重要。有关扩展集群的更多详细信息,请参阅有关扩展集群、移除代理、重新分配分区以及设置 LinkedIn 的 Cruise Control 进行再平衡的章节。
- 更高的吞吐量:Express 代理为每个代理提供的吞吐量是标准代理的 3 倍。例如,使用每个 m7g.16xlarge 大小的 Express 代理可以安全地以高达 500 Mbps 的速度写入数据,而在等效的标准代理上则为 153.8 Mbps(这两个数字都假设为复制和再平衡等后台操作分配了足够的带宽)。
- 针对高弹性进行了配置:Express 代理会自动提供预先配置的各种最佳实践,以提高集群的弹性。其中包括关键 Apache Kafka 配置的防护机制、吞吐量配额以及为后台操作和计划外维修预留容量。这些功能使运行大规模 Apache Kafka 应用程序变得更安全、更容易。有关更多详细信息,请参阅有关 Express 代理配置和 Amazon MSK Express 代理配额的部分。
- 没有维护窗口:Express 代理没有维护窗口。Amazon MSK 会自动持续更新您的集群硬件。更多详情请咨询 Amazon MSK Express 代理。
问:如何通过 Express 代理优化成本?
Express 代理为每个代理提供更高的吞吐量,因此您可以为相同的工作负载创建具有更少代理的集群。此外,集群启动并运行后,您可以监控集群资源的使用情况,并比使用标准代理更快地调整容量。因此,您可以预置适合所需容量的资源,并更快地扩展以满足需求的任何变化。
问:我可以在 Express 代理中使用哪些 Apache Kafka API 和工具?
带有 Express 中间商的集群可与使用标准 Apache Kafka 客户端的 Apache Kafka API 和工具协同工作。
问:我需要为 Express 代理自定义哪些 Kafka 配置?
Express 代理预先配置了 Amazon MSK 最佳实践默认值,可优化可用性和耐久性。您可以自定义其中一些配置,以进一步微调集群的性能。有关 Express 代理配置的更多信息,请参阅《Amazon MSK 开发人员指南》。
问:Express 代理提供哪些加密选项?
与标准代理一样,Amazon MSK 与 Amazon Key Management Service (Amazon KMS) 集成,为 Express 代理中的存储提供透明的服务器端加密。当您使用 Express 代理创建 MSK 集群时,您可以指定您想让 Amazon MSK 用来加密静态数据的 Amazon KMS 密钥。如果您未指定 KMS 密钥,Amazon MSK 会为您创建亚马逊云科技托管密钥并代表您使用。与标准代理一样,Amazon MSK 还使用 TLS 对 Express 代理的传输数据进行加密。
问:标准代理和 Express 代理之间的 Amazon MSK 功能有何区别?
大多数适用于标准代理的已预置 MSK 特性和功能也适用于使用 Express 代理的集群。但也有一些区别,包括:存储管理、实例类型可用性和受支持的版本。请参阅“已预置 MSK”下的标准和 Express 代理的对比表,其中重点介绍了一些关键的相同点和不同点。
问:我能否将现有的 Kafka 工作负载转移到 Express 代理?
可以,您可以使用 MirrorMaker 2 或 Amazon MSK Replicator 将 Kafka 集群中的数据迁移到由 Express 代理组成的集群,后者将集群的数据和元数据复制到新集群。有关使用迁移到 Amazon MSK 集群和 MSK Replicator 的更多信息,请参阅《Amazon MSK 开发人员指南》。
问:我应该如何在标准和 Express 已预置 MSK 代理类型之间进行选择?
Express 代理可以提高您的性价比、提供更高的灵活性和更低的运营开销,使其成为已预置 MSK 的所有 Apache Kafka 工作负载的理想选择。不过,如果您想控制更多的代理配置和设置,也可以选择标准代理类型。使用标准代理,您可以定制更多的 Kafka 配置,包括复制因子、日志文件大小和领导者选举策略,这让您可以更灵活地进行集群设置。
迁移到 Amazon MSK
版本升级
集群
只需在亚马逊云科技管理控制台中单击几下或使用 Amazon SDK,即可创建第一个集群。首先,在 Amazon MSK 控制台中选择要在其中创建 Amazon MSK 集群的亚马逊云科技区域。选择集群的名称、要与集群一起运行的 VPC、集群的数据复制策略和每个可用区的子网。接下来,选择每个可用区的代理实例类型和代理数量,然后单击 Create(创建)。
每个集群都包含代理实例、预置存储和 Apache ZooKeeper 节点。
对于预置集群,您可以选择 EC2 T3.small 或 EC2 M7g 和 M5 实例系列中的实例。对于无服务器集群,代理是完全抽象的。
问:Amazon MSK 是否提供预留实例定价?
否,目前不提供。
否,您预置的每个代理都包含由 Amazon MSK 服务管理的引导卷存储。
弹性网络接口 (ENI) 等一些资源将显示在您的 Amazon EC2 账户中。其他 Amazon MSK 资源不会显示在您的 EC2 账户中,因为这些资源由 Amazon MSK 服务管理。
您需要在您创建的每个集群中预置代理实例和代理存储。您无需预置 Apache ZooKeeper 节点,因为这些资源免费包含在您创建的每个集群中。
除非另有说明,否则 Amazon MSK 使用 Apache Kafka 开源版本指定的相同默认配置。要查看默认设置,请访问 此处。
问:我是否可以预置代理,使它们的数量在可用区之间不平衡(例如,cn-north-1a 中 3 个、cn-north-1b 中 2 个、cn-north-1c 中 1 个)?
否,Amazon MSK 实施这项最佳实践:在集群内,使代理数量在可用区之间保持平衡。
Amazon MSK 使用 Apache Kafka 的领导者/追随者复制机制在代理之间复制数据。Amazon MSK 可以轻松部署具有多可用区复制的集群,并可让您选择按主题使用自定义复制策略。默认情况下,对于每个复制选项,系统将使用指定的复制策略部署和隔离领导者及追随者代理。例如,如果您选择 3 个可用区代理复制策略,而且每个可用区集群有 1 个代理,则 Amazon MSK 将创建一个包含三个代理的集群(一个区域中的三个可用区各有 1 个代理),而且默认情况下(除非您选择覆盖主题复制因子)主题复制因子也将为 3。
问:我是否可以更改默认代理配置或将集群配置上传到 Amazon MSK?
主题
联网
问:Amazon MSK 是否在 Amazon VPC 中运行?
是,Amazon MSK 始终在 Amazon MSK 服务管理的 Amazon VPC 中运行。Amazon MSK 资源将可用于您在设置集群时选择的您自己的 Amazon VPC、子网和安全组。VPC 中的 IP 地址会通过弹性网络接口 (ENI) 挂载到 Amazon MSK 资源,并且所有网络流量均存在于 Amazon 网络内,默认情况下无法通过互联网访问。
问:如何使 Amazon MSK 集群中的代理可供 VPC 中的客户端访问?
集群中的代理将通过在您账户中显示的 ENI 供 VPC 中的客户端访问。ENI 上的安全组将决定在代理上允许的入口流量和出口流量的来源和类型。
问:是否可以通过公有互联网连接到我的集群?
可以,Amazon MSK 提供了一个选项,支持通过互联网安全连接到运行 Apache Kafka 2.6.0 或更高版本的 Amazon MSK 集群的代理。通过启用公共访问,私有 Amazon Virtual Private Cloud(VPC)外部的授权客户端可以在特定 Amazon MSK 集群内外流式传输加密数据。您可以在创建集群后免费为 MSK 集群启用公共访问,但需要为进出集群支付标准 Amazon 数据传输费用。要了解有关开启公共访问的更多信息,请参阅公共访问文档。
问:我的客户端与 Amazon MSK 集群之间的连接是否是私有连接?
默认情况下,从 Amazon MSK 集群生成和使用数据的唯一方式是通过 VPC 中的客户端与 Amazon MSK 集群之间的私有连接。但是,如果您开启了 Amazon MSK 集群的公共访问权限并使用公共 bootstrap-broker 字符串连接到 MSK 集群,则该连接虽然已经过身份验证、得到授权并进行了加密,但它将不再被视为私有。我们建议您将集群的安全组配置为具有入站 TCP 规则,允许从您的可信 IP 地址进行公共访问,并在您开启公共访问后尽可能限制这些规则。
连接到 VPC
问:如何通过互联网连接到 Amazon MSK 集群?
最简单的方法是通过互联网向运行 Apache Kafka 2.6.0 或更高版本的 MSK 集群的代理开启公共连接。出于安全原因,您不能在创建 MSK 集群时开启公共访问权限。但是,您可以更新现有集群,使其可公开访问。您还可以创建一个新集群,然后对其进行更新,使其可公开访问。要了解有关开启公共访问的更多信息,请参阅公共访问文档。
问:如何从亚马逊云科技中国网络内部、我的 Amazon MSK 集群所在的 Amazon VPC 外部连接到我的 Amazon MSK 集群?
为运行 Apache Kafka 版本 2.7.1 或更高版本的 MSK 集群开启多 VPC 私有连接后,您即可从任何非您的 MSK 集群所在的任何 VPC 或亚马逊云科技账户连接到您的 MSK 集群。只有在创建集群后才能为任何受支持的身份验证方案(IAM 身份验证、SASL SCRAM 和 mTLS 身份验证)启用私有连接。Amazon MSK 使用 Amazon PrivateLink 技术来启用私有连接,您应该将您的客户端配置为使用 Amazon PrivateLink 端点连接到集群。要了解有关设置私有连接的更多信息,请参阅从亚马逊云科技内访问文档。
加密
可以,Amazon MSK 使用 Amazon EBS 服务器端加密和 Amazon KMS 密钥来加密存储卷。
会。对于代理间的通信,新集群默认通过 TLS 启用传输中加密。创建集群时,您可以选择不使用传输中加密。
会。默认情况下,仅对于从 CLI 或亚马逊云科技控制台创建的集群,传输中加密才会设置为 TLS。要让客户端与使用 TLS 加密的集群进行通信,需要进行其他配置。您可以通过选择 TLS/纯文本或纯文本设置来更改默认加密设置。阅读更多: MSK 加密
是的,运行 Apache Kafka 2.5.1 或更高版本的 Amazon MSK 集群支持 Kafka 代理与 ZooKeeper 节点之间的 TLS 传输中加密。
访问管理
问:如何控制集群身份验证和 Apache Kafka API 授权?
Amazon MSK 提供了三种用于控制身份验证 (AuthN) 和授权 (AuthZ) 的选项。1) AuthN/Z 的 IAM 访问控制(推荐),2) AuthN 的 TLS 证书身份验证 (CA) 和 AuthZ 的访问控制列表,3) AuthN 的 SASL/SCRAM 和 AuthZ 的访问控制列表。Amazon MSK 建议使用 IAM 访问控制。这是使用起来最容易使用的方式,因为它默认启用最低权限访问,因此是最安全的选项。
问:在 Amazon MSK 中如何进行授权?
如果您使用 IAM 访问控制,则 Amazon MSK 将使用您编写的策略及其自己的授权方来授权操作。如果您使用 TLS 证书身份验证或 SASL/SCRAM,则 Apache Kafka 将使用访问控制列表 (ACL) 进行授权。要启用 ACL,您必须使用 TLS 证书或 SASL/SCRAM 启用客户端身份验证。
问:如何同时对客户端进行身份验证和授权?
如果您使用 IAM 访问控制,则 Amazon MSK 将对您进行身份验证和授权,而无需进行任何额外设置。如果您使用 TLS 身份验证,则可以使用客户端 TLS 证书的 Dname 作为 ACL 的主体来授权客户端请求。如果您使用 SASL/SCRAM,则可以使用用户名作为 ACL 的主体来授权客户端请求。
问:如何控制服务 API 操作?
您可以使用 Amazon IAM 控制服务 API 操作。
问:我可以为现有集群启用 IAM 访问控制吗?
不能,但是即将推出允许您更新身份验证设置的功能。
问:我可以在 Amazon MSK 之外使用 IAM 访问控制吗?
不能,IAM 访问控制仅适用于 Amazon MSK 集群。
问:能否更新集群上的身份验证设置?
您可以通过控制台或者 update-security API 为启用启用或禁用身份验证模式。使用 API 时,显式声明的身份验证模式将会相应地更改,而省略的身份验证模式则会保持原样。例如,如果您的集群使用 mTLS 进行身份验证并且您通过调用 update-security API 启用 IAM 访问控制,则您的集群上的 mTLS 和 IAM 访问控制均会启用。
问:能否在我的集群上启用多种身份验证模式?
可以,您可以在创建和更新过程中为集群添加多钟身份验证模式。对于集群内的代理,每种身份验证模式均有专用端口,并且通过这些端口连接到 Kafka 的客户端必须启用相应的身份验证模式。
问:能否在集群上禁用身份验证模式?
可以,您可以禁用身份验证模式。为了确保您的客户端不会中断与代理的连接,在所有客户端更新为使用其他可用身份验证模式之前,请勿禁用任何现有身份验证模式。
问:能否使用集群上的身份验证模式跟踪客户端?
可以,您可以使用发布到 Amazon CloudWatch 指标的 ClientConnectionCount 指标按身份验证模式跟踪当前连接的数量。
问:如何向非 Amazon MSK 所在的亚马逊云科技账户中的 Kafka 客户端提供跨账户存取,以私密连接到我的 Amazon MSK 集群?
您可以向您的 Amazon MSK 集群附加一个集群策略,来提供跨账户 Kafka 客户端权限,以便设置与 Amazon MSK 集群的私有连接。使用 IAM 客户端身份验证时,您还可以使用集群策略为连接的客户端精细定义 Kafka 数据面板权限。要了解有关集群策略的更多信息,请参阅集群策略文档。
监控、指标、日志记录、标记
问:如何监控集群或主题的性能?
您可以使用 Amazon MSK 控制台、Amazon CloudWatch 控制台来监控集群性能,也可以使用开源监控解决方案 Open Monitoring with Prometheus 访问 JMX 和主机指标。
问:不同 CloudWatch 监控级别的费用各是多少?
使用 Amazon CloudWatch 监控集群时的费用取决于您的 Apache Kafka 集群的监控级别和大小。Amazon CloudWatch 按照每月每个指标收费,并提供免费套餐;有关更多信息,请参阅 Amazon CloudWatch 定价。有关各个监控级别公开的指标数量的详细信息,请参阅 Amazon MSK 监控文档。
问:哪些监控工具与 Open Monitoring with Prometheus 兼容?
设计为可以读取 Prometheus 导出程序的数据的工具均兼容 Open Monitoring,例如:Datadog、Lenses、New Relic、Sumologic 或 Prometheus 服务器。有关 Open Monitoring 的详细信息,请参阅 Amazon MSK Open Monitoring 文档。
问:如何监控客户端的运行状况和性能?
您可以使用您当前使用的 Apache Kafka 版本支持的任何客户端监控工具。
问:我可以标记 Amazon MSK 资源吗?
可以,您可以通过 Amazon CLI 或控制台标记 Amazon MSK 集群。
问:如何监控使用器滞后?
主题级别的使用器滞后指标可作为 Amazon MSK 为所有集群发布到 Amazon CloudWatch 的默认指标集的一部分。无需进行其他设置即可获取这些指标。要获得分区级别的指标(分区维度),您可以在集群上启用增强型监控 (PER_PARTITION_PER_TOPIC)。此外,您也可以在集群上启用开放监控,并使用 Prometheus 服务器,以从集群中的代理获取分区级别的指标。和其他 Kafka 指标一样,使用器滞后指标可在端口 11001 获得。
问:将使用器滞后指标发布到 Amazon CloudWatch 需要多少费用?
主题级别的指标包含在默认的 Amazon MSK 指标集中,这些指标是免费的。分区的级别指标按 Amazon CloudWatch 定价收费。
问:如何访问 Apache Kafka 代理日志?
您可以为新的和现有的 Amazon MSK 集群启用代理日志传输。您可以将代理日志传输给 Amazon CloudWatch Logs、Amazon S3 和 Kinesis Data Firehose。Kinesis Data Firehose 支持 Amazon Elasticsearch Service 以及其他目标。要了解如何启用此功能,请参阅 Amazon MSK 日志记录文档。要了解有关定价的信息,请参阅 >CloudWatch Logs和 Kinesis Data Firehose 定价页面。
问:代理日志的日志记录级别是什么?
Amazon MSK 为集群内的所有代理提供 INFO 级别的日志。
问:如何访问 Apache ZooKeeper 日志?
您可以通过支持票证请求 Apache ZooKeeper 日志。
问:我可以记录 Apache Kafka 资源 API 的使用情况(例如,创建主题)吗?
是的,如果您使用 IAM 访问控制,则 Apache Kafka 资源 API 的使用情况将记录到 Amazon CloudTrail。
Apache ZooKeeper
问:什么是 Apache ZooKeeper?
来自 https://zookeeper.apache.org/:“Apache ZooKeeper 是一种集中式服务,用于维护配置信息、执行命名,并提供分布式同步和群组服务。所有这些类型的服务都以某种形式供分布式应用程序使用,”包括 Apache Kafka 在内。
问:Amazon MSK 是否使用 Apache ZooKeeper?
是的,Amazon MSK 使用 Apache ZooKeeper,并将每个集群中的 Apache ZooKeeper 作为 Amazon MSK 服务的一部分进行管理。每个集群均免费包含 Apache ZooKeeper 节点。
问:我的客户端如何与 Apache ZooKeeper 交互?
您的客户端可以通过该服务提供的 Apache ZooKeeper 终端节点与 Apache ZooKeeper 进行交互。此终端节点在亚马逊云科技管理控制台中提供,或使用 DescribeCluster API 提供。
集成
问:Amazon MSK 与哪些亚马逊云科技集成?
Amazon MSK 可与以下服务集成:
- 用于网络隔离和安全的 Amazon VPC
- 用于指标的 Amazon CloudWatch
- 用于存储卷加密的 Amazon KMS
- 用于 Apache Kafka 和服务 API 的身份验证和授权的 Amazon IAM。
- 用于 MSK 事件溯源的 Amazon Lambda
- 用于物联网事件溯源的 Amazon IoT
- 用于控制 Apache Kafka 应用程序使用的架构演变的 Amazon Glue Schema Registry
- 用于 Amazon API 日志的 Amazon CloudTrail
- 用于客户端 TLS 身份验证的私有 CA 的 Amazon Certificate Manager
- 用于使用代码描述和预置 Amazon MSK 集群的 Amazon CloudFormation
- 用于处理流数据的完全托管式 Apache Flink 应用程序的 Amazon Kinesis Data Analytics
- 用于 SASL/SCRAM 身份验证的客户端凭证的 Amazon Secrets Manager
缩放
问:如何扩大集群中的存储?
您可以使用 Amazon 管理控制台或 Amazon CLI 扩展预置集群中的存储。您还可以使用分层存储在集群上存储几乎无限的数据,并且无需为存储空间添加代理。在无服务器集群中,存储空间可根据您的使用情况无缝扩展。
问:如何自动扩展集群中的存储空间?
您可以使用亚马逊云科技管理控制台或通过使用 Amazon CLI 或 API 创建亚马逊云科技应用程序自动扩展策略,为存储创建自动扩展策略。
问:我是否可以扩展现有集群中代理实例的大小?
可以。您可以选择在 Amazon MSK 集群上扩展到较小或较大的代理类型。
问:如何在代理中平衡分区?
您可以使用 Cruise Control 自动重新平衡分区,以管理 I/O 热量。有关详情信息,请参阅 Cruise Control 文档。或者,您可以使用 Kafka 管理员 API kafka-reassign-partitions.sh 在代理中重新分配分区。
问:分层存储是如何工作的?
Apache Kafka 将数据存储在称为日志分段的文件中。每个分段完成后,根据在集群或主题级别配置的大小,将其复制到低成本存储层。在指定的保留时间或大小内,将数据保存在性能优化存储空间中,然后删除。低成本存储空间有单独的时间和大小限制设置,该限制将超过主存储层。如果客户端从存储在低成本层的分段中请求数据,则代理将从中读取数据,并采用与主存储空间相同的方式提供数据。
定价和可用性
问:Amazon MSK 如何定价?
定价基于代理-小时和预置存储的 GB-月。亚马逊云科技数据传输费率适用于传入传出 Amazon MSK 的数据。有关更多信息,请访问我们的定价页面。
问:我是否需要为数据复制所产生的数据传输付费?
不,所有集群内数据传输都包含在服务中,无额外收费。
问:数据传输如何定价?
您需要为传入和传出 Amazon MSK 集群的数据量支付标准亚马逊云科技数据传输费用。您不需要为一个区域中集群内的数据传输付费,包括代理间数据传输以及代理与 Apache ZooKeeper 节点之间的数据传输。
服务等级协议
我们的 Amazon MSK SLA 保证 Amazon MSK(包括 MSK Connect)的月度正常运行时间百分比至少达到 99.9%。
问:怎样确定我是否有资格获得 SLA 服务抵扣?
如果在任何月度账单周期内,Amazon MSK 上的多可用区部署在任何每月计费周期中的月度正常运行时间百分比低于 99.9%,那么根据 Amazon MSK SLA,您符合 Amazon MSK 的 SLA 抵扣资格。