Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Richten Sie einen benutzerdefinierten Domainnamen von Ende zu Ende ein
In diesem Thema wird die clusterseitige Konfiguration für benutzerdefinierte Domainnamen beschrieben. Die Netzwerkschicht (Network Load Balancer, DNS und TLS-Zertifikat) ist eine Voraussetzung, die Sie besitzen. Sie wird ausführlich unter Konfigurieren eines benutzerdefinierten Domainnamens für Ihren Amazon MSK-Cluster
Überprüfen Sie das Netzwerk, bevor Sie die Konfiguration anwenden
Wenn Sie sich bewerbencustom.advertised.listeners, ersetzt Ihr benutzerdefinierter Domänenname die Standardadressen für den überschriebenen Listener. Ihre Netzwerkschicht muss eingerichtet und verifiziert sein, bevor Sie die Konfiguration anwenden können. Wenn Clients die benutzerdefinierte Domäne nicht auflösen können, verlieren sie die Konnektivität.
Schritt 1: Fügen Sie die benutzerdefinierte Domain zu Ihrer Amazon MSK-Konfiguration hinzu
Erstellen oder aktualisieren Sie eine Amazon MSK-Konfiguration, die die custom.advertised.listeners Eigenschaft enthält und den Hostnamen und Ports entspricht, die Sie auf dem Network Load Balancer bereitgestellt haben. Für einen IAM-Cluster mit drei Brokern, dem ein Network Load Balancer mit den Ports 9001—9003 vorangestellt ist, fügen Sie die Eigenschaft in eine Datei ein.
custom.advertised.listeners=CLIENT_IAM://b-{broker_id}.example.com:9000+{broker_id}
Erstellen Sie dann die Konfiguration und übergeben Sie die Datei als Servereigenschaften.
aws kafka create-configuration \ --name "custom-domain-iam" \ --description "Custom advertised listeners for CLIENT_IAM" \ --server-properties fileb://custom-domain-config.txt
Verwenden Sie fileb:// (notfile://), damit der die Datei als Byte AWS CLI liest und base64-kodiert. Die Inline-Übergabe des Werts ist aufgrund der geschweiften Klammern fragil. {broker_id} Lassen Sie {broker_id} Literal in der Datei stehen, da Amazon MSK das Problem zum Zeitpunkt der Bewerbung pro Broker löst. In der Antwort wird die Konfiguration Arn und zurückgegebenLatestRevision.Revision, die Sie im nächsten Schritt verwenden.
Schritt 2: Wenden Sie die Konfiguration an
Wenden Sie die Konfiguration mithilfe der KonsoleUpdateClusterConfiguration,, AWS CLI AWS CloudFormation, AWS CDK oder Terraform auf Ihren Cluster an. Dies ist derselbe Workflow, den Sie bereits für Änderungen der Brokerkonfiguration verwenden.
aws kafka update-cluster-configuration \ --cluster-arnyour-cluster-arn\ --configuration-info arn=configuration-arn,revision=revision\ --current-versioncurrent-cluster-version
Verwenden Sie den DescribeCluster Vorgang, um die aktuelle Version Ihres Clusters zu finden. Cluster-Versionen sind keine einfachen Ganzzahlen.
Amazon MSK validiert die Konfiguration synchron, bevor etwas angewendet wird, sodass ein falsch formatierter Wert Ihre Broker niemals erreicht. Amazon MSK lehnt eine ungültige Konfiguration mit einem HTTP 400-Fehler ab. Beispiele für Fehler finden Sie unter. Fehler bei der Konfiguration benutzerdefinierter Domainnamen Beheben Sie das gemeldete Problem und wenden Sie es erneut an.
Schritt 3: Verfolgen Sie den Rollout
aws kafka describe-cluster-operation-v2 \ --cluster-operation-arnoperation-arn
Nachdem die Konfiguration akzeptiert wurde, wendet Amazon MSK sie durch einen fortlaufenden Neustart an. Warten Sie, bis der Vorgang gemeldet UPDATE_COMPLETE wird. Wenn es eine Meldung UPDATE_FAILED gibt, könnte ein Makler die Änderung nicht anwenden. Der Rollout wird bei diesem Broker angehalten, die übrigen Broker behalten ihre vorherige Konfiguration bei, und Sie können die Konfiguration korrigieren und zur Wiederherstellung erneut anwenden.
Schritt 4: Überprüfen
Stellen Sie sicher, dass Clients über die benutzerdefinierte Domain eine Verbindung herstellen können, indem Sie Themen von einem Client auflisten, der die Authentifizierungseinstellungen für Ihren Listener verwendet.
Wenn Sie Themen über den Endpunkt der benutzerdefinierten Domäne auflisten können, stellen die Clients erfolgreich eine Verbindung über Ihre benutzerdefinierte Domäne her. Wenn der Vorgang gemeldet wurde, die Clients UPDATE_COMPLETE jedoch keine Verbindung herstellen können, ist die clusterseitige Konfiguration korrekt, aber Ihre Netzwerkschicht muss wahrscheinlich überprüft werden. Überprüfen Sie, ob Folgendes der Fall ist:
-
Netzwerkpfad: Stellen Sie sicher, dass der Network Load Balancer-Listener, die Zielgruppe und die Sicherheitsgruppenregel für den Broker und Port, den der Client verwendet, vorhanden sind und dass der Network Load Balancer vom Netzwerk des Clients aus erreichbar ist.
-
DNS-Auflösung: Stellen Sie sicher, dass die benutzerdefinierte Domain von jedem Netzwerk, in dem Ihre Apache Kafka-Clients ausgeführt werden, zu Ihrem Network Load Balancer aufgelöst wird.
-
Zertifikat: Stellen Sie sicher, dass das TLS-Zertifikat des Network Load Balancers den aufgelösten Broker-Hostnamen abdeckt (über den allgemeinen Namen oder einen alternativen Betreffnamen) und dass der Client der CA vertraut (Stamm- und Zwischenzertifizierungsstelle für eine private CA).
Bewährte Methoden
Nachdem Sie mithilfe der vorherigen Schritte benutzerdefinierte Domainnamen eingerichtet haben, empfehlen wir, jegliche dynamische advertised.listeners Überschreibung zu entfernen, indem Sie sie kafka-configs.sh --alter --delete-config advertised.listeners auf jedem Broker ausführen. Dadurch werden nur die angekündigten Listener-Override entfernt und andere dynamische Konfigurationen werden nicht beeinträchtigt.
Skalierung und Austausch von Brokern
Wenn Sie den Cluster skalieren oder ein Broker während der automatischen Reparatur ersetzt wird, wendet Amazon MSK die Konfiguration automatisch auf den neuen Broker an. Amazon MSK sucht {broker_id} nach der Broker-ID, ohne dass auf Cluster-Seite manuelle Schritte erforderlich sind.
Anmerkung
Fügen Sie den entsprechenden Network Load Balancer Balancer-Listener, die Zielgruppe und den DNS-Eintrag für jeden neuen Broker hinzu. Die Netzwerkschicht wird nicht automatisch skaliert.
Entfernen Sie eine benutzerdefinierte Domain
Um zu den standardmäßigen MSK-generated Amazon-Adressen zurückzukehren, entfernen Sie die custom.advertised.listeners Eigenschaft aus Ihrer Amazon MSK-Konfiguration und wenden Sie die aktualisierte Konfiguration mit an. UpdateClusterConfiguration Amazon MSK führt einen fortlaufenden Neustart durch und Makler kehren dazu zurück, ihre ursprünglichen Adressen bekannt zu geben. Stellen Sie sicher, dass Ihre Kunden die ursprünglichen MSK-generated Amazon-Adressen erreichen können, bevor Sie die benutzerdefinierte Domain-Konfiguration entfernen.