View a markdown version of this page

为您的 Amazon MSK 集群配置自定义域名 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为您的 Amazon MSK 集群配置自定义域名

您可以将 MSK 配置的集群配置为发布自定义域名,而不是默认 Amazon生成的代理地址。自定义域名在您的 Amazon MSK 配置中定义一次,并自动应用于集群中的每个代理,包括在扩展操作期间添加的新代理。这在 ZooKeeper 和 Kraft 元数据管理模式下均有效。

自定义域名的工作原理

当您将该custom.advertised.listeners属性添加到您的亚马逊 MSK 配置中时,亚马逊 MSK 会执行以下操作:

  1. 验证配置(监听器名称、格式和唯一性)。

  2. 解析每个经纪人的{broker_id}模板。

  3. 通过滚动重启应用配置,一次只能一个代理。

该属性采用以下格式。

custom.advertised.listeners=LISTENER_NAME://hostname-pattern:port+{broker_id}

例如,在包含三个代理的 IAM 集群上:

custom.advertised.listeners=CLIENT_IAM://b-{broker_id}.example.com:9000+{broker_id}

这解析为以下地址:

  • 经纪商 1:b-1.example.com:9001

  • 经纪商 2:b-2.example.com:9002

  • 经纪商 3:b-3.example.com:9003

{broker_id}模板变量是必填的,必须出现在端口中,这样每个代理才能解析到一个唯一的地址。+操作员将代理 ID 添加到基本端口(9000 + 1 = 9001,9000 + 2 = 9002,9000 + 10 = 9010)。

如果您的集群有多个面向客户端的监听器,则可以通过用逗号分隔来为每个监听器分配不同的域。

custom.advertised.listeners=CLIENT_IAM://b-{broker_id}.iam.example.com:9000+{broker_id},CLIENT_SASL_SCRAM://b-{broker_id}.scram.example.com:19000+{broker_id}

每个侦听器映射到一个自定义域。您不能将多个域分配给同一个监听器。但是,只要每个经纪人解析为唯一的host:port组合,听众就可以共享同一个域名。例如,两个监听器可以共享b-{broker_id}.example.com,只能按端口不同。

custom.advertised.listeners=CLIENT_IAM://b-{broker_id}.example.com:9000+{broker_id},CLIENT_SASL_SCRAM://b-{broker_id}.example.com:19000+{broker_id}

这种行为在 ZooKeeper 和 Kraft 元数据管理模式下是相同的。

在应用配置之前验证网络

当您申请时custom.advertised.listeners,您的自定义域名将替换被覆盖侦听器的默认地址。因此,在应用配置之前,您的网络层必须到位并经过验证。如果网络和信任层不存在、无法解析、无法访问且不受客户端信任,则客户端无法重新连接。即使客户端在片刻之前连接过,也是如此。如果客户无法解析自定义域,他们就会断开连接。

先决条件

在集群上配置自定义域名之前,请确保满足以下条件:

  • 您的集群是该州的 MSK 预置集群(标准或快速代理)。ACTIVE

  • 每个侦听器对应集群上的一种身份验证类型。您只能为客户端侦听器设置自定义广告终端节点:CLIENT、CLIENT_SECURE、CLIENT_SECURE_PUBLIC、、CLIENT_SASL_SCRAMCLIENT_SASL_SCRAM_PUBLICCLIENT_IAM、和。CLIENT_IAM_PUBLIC不支持内部侦听器(REPLICATION和CONTROLLER),在验证时会被拒绝。您指定的监听器还必须绑定(活动)到您的集群上。例如,如果您的集群仅使用 IAM 身份验证,CLIENT_SECURE则指定会被拒绝,并且错误消息会列出集群的有效客户端监听器。

  • 在应用配置之前,您的网络层已部署到位并经过验证。应用后,所有刷新元数据的客户端都会收到自定义域地址。如果客户无法解析自定义域,他们就会断开连接。在应用配置之前,请确保您的网络层已设置完毕并可从所有客户端访问。有关网络负载均衡器、Route 53 和 Amazon 证书管理器设置的完整示意图演练,请参阅大数据博客上的 Amazon MSK 集群配置自定义域名。 Amazon