本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon MSK 叢集的自訂網域名稱
您可以設定 MSK 佈建叢集來公告自訂網域名稱,而不是預設 AWS產生的代理程式地址。自訂網域名稱會在 Amazon MSK 組態中定義一次,並自動套用至叢集中的每個代理程式,包括在擴展操作期間新增的新代理程式。這適用於 ZooKeeper 和 KRaft 中繼資料管理模式。
自訂網域名稱的運作方式
當您將 custom.advertised.listeners 屬性新增至 Amazon MSK 組態時,Amazon MSK 會執行下列動作:
-
驗證組態 (接聽程式名稱、格式和唯一性)。
-
解決每個代理程式的
{broker_id}範本。 -
透過滾動重新啟動套用組態,一次一個代理程式。
屬性採用下列格式。
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,您的自訂網域名稱會取代覆寫接聽程式的預設地址。因此,您的聯網層必須就地並經過驗證,才能套用組態。如果聯網和信任層未就位、可解析、可連線且受用戶端信任,則用戶端無法重新連線。即使用戶端稍早已連線,也是如此。如果用戶端無法解析自訂網域,則會失去連線。
先決條件
在叢集上設定自訂網域名稱之前,請確定下列項目為 true:
-
您的叢集是
ACTIVE處於 狀態的 MSK 佈建叢集 (標準或快速代理程式)。 -
每個接聽程式對應至叢集上的身分驗證類型。您只能為用戶端接聽程式設定自訂公告端點:
CLIENT、CLIENT_SECURE、CLIENT_SECURE_PUBLIC、CLIENT_SASL_SCRAM、CLIENT_SASL_SCRAM_PUBLIC、CLIENT_IAM和CLIENT_IAM_PUBLIC。不支援內部接聽程式 (REPLICATION和CONTROLLER),並在驗證時遭到拒絕。您指定的接聽程式也必須在您的叢集上繫結 (作用中)。例如,如果您的叢集僅使用 IAM 身分驗證,則會CLIENT_SECURE拒絕指定,錯誤訊息會列出叢集的有效用戶端接聽程式。 -
您的聯網層已就位,並在套用組態之前經過驗證。套用後,重新整理中繼資料的所有用戶端都會收到自訂網域地址。如果用戶端無法解析自訂網域,則會失去連線。套用組態之前,請確定已設定好您的聯網層,且可從所有用戶端連線。如需 Network Load Balancer、Route 53 和 AWS Certificate Manager 設定的完整圖表逐步解說,請參閱 AWS 大數據部落格上的為 Amazon MSK 叢集設定自訂網域名稱
。