View a markdown version of this page

为您的 Amazon MSK 集群配置自定义域名 - Amazon Managed Streaming for Apache Kafka

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

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

您可以将 MSK 配置的集群配置为发布自定义域名,而不是默认 AWS生成的代理地址。自定义域名在您的 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

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

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