View a markdown version of this page

Beheben Sie Probleme mit Ihrem Amazon MSK-Cluster - Amazon Managed Streaming für Apache Kafka

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.

Beheben Sie Probleme mit Ihrem Amazon MSK-Cluster

Die folgenden Informationen können zum Beheben von Problemen mit Ihrem Amazon-MSK-Cluster nützlich sein. Sie können Ihr Problem auch im AWS re:Post posten. Informationen zur Fehlerbehebung bei Amazon MSK Replicator finden Sie unter. Problembehandlung bei Amazon MSK Replicator

Der Austausch eines Datenträgers führt aufgrund einer Überlastung der Replikation zu einer Überlastung

Bei einem ungeplanten Ausfall der Volume-Hardware ersetzt Amazon MSK das Volume möglicherweise durch eine neue Instance. Kafka füllt das neue Volume erneut auf, indem es Partitionen von anderen Brokern im Cluster repliziert. Sobald die Partitionen repliziert sind und den aktuellen Stand erreicht haben, kommen sie für eine Leadership- und In-Sync-Replica-Mitgliedschaft (ISR) in Frage.

Problem

In einem Broker, der sich nach einem Speicherwechsel erholt, sind einige Partitionen unterschiedlicher Größe möglicherweise vor anderen wieder online. Dies kann problematisch sein, da diese Partitionen den Datenverkehr desselben Brokers abwickeln können, der immer noch andere Partitionen abholt (repliziert). Dieser Replikationsdatenverkehr kann manchmal die zugrunde liegenden Volumendurchsatzgrenzen überlasten, die in der Standardeinstellung 250 MiB pro Sekunde betragen. Wenn diese Überlastung eintritt, wirkt sich dies auf alle Partitionen aus, die bereits überlastet sind. Dies führt zu Latenz im gesamten Cluster für alle Broker, die ISR mit diesen aufgefangenen Partitionen teilen (nicht nur Leader-Partitionen aufgrund von Remote-Acks). acks=all Dieses Problem tritt häufiger bei größeren Clustern auf, die eine größere Anzahl von Partitionen mit unterschiedlicher Größe haben.

Empfehlung
  • Um den I/O Replikationsstatus zu verbessern, stellen Sie sicher, dass die Thread-Einstellungen für bewährte Methoden vorhanden sind.

  • Aktivieren Sie bereitgestellten Speicher mit einem höheren Durchsatz, um die Wahrscheinlichkeit einer Überlastung des zugrunde liegenden Volumens zu verringern. Für Replikationsfälle mit hohem Durchsatz MiB/s wird ein Mindestdurchsatzwert von 500 empfohlen. Der tatsächlich benötigte Wert variiert jedoch je nach Durchsatz und Anwendungsfall. Stellen Sie den Speicherdurchsatz für Standard-Broker in einem Amazon MSK-Cluster bereit.

  • Um den Replikationsdruck num.replica.fetchers zu minimieren, senken Sie den Wert auf den Standardwert von2.

Verbrauchergruppe steckt im Status PreparingRebalance fest

Wenn eine oder mehrere Ihrer Verbrauchergruppen in einem Zustand der ständigen Neuverteilung feststecken, könnte die Ursache ein Apache Kafka-Problem KAFKA-9752 sein, das die Apache Kafka-Versionen 2.3.1 und 2.4.1 betrifft.

Um dieses Problem zu beheben, empfehlen wir Ihnen, Ihren Cluster auf die Version Amazon-MSK-Bugfix Version 2.4.1.1 zu aktualisieren, die eine Lösung für dieses Problem enthält. Informationen zur Aktualisierung eines vorhandenen Clusters auf die Amazon-MSK-Bugfix-Version 2.4.1.1 finden Sie unter Aktualisieren Sie die Apache Kafka-Version.

Um dieses Problem zu lösen, ohne den Cluster auf die Bug-Fix-Version 2.4.1.1 des Amazon MSK zu aktualisieren, müssen Sie entweder die Kafka-Clients für die Verwendung von Static-Membership-Protokoll einrichten oder den koordinierenden Broker-Knoten der festgefahrenen Verbrauchergruppe auf Identifizieren und neu starten einstellen.

Implementierung des Static-Membership-Protokolls

Gehen Sie folgendermaßen vor, um das Static-Membership-Protokoll in Ihren Clients zu implementieren:

  1. Setzen Sie die group.instance.id-Eigenschaft Ihrer Kafka-Verbraucher-Konfiguration auf eine statische Zeichenfolge, die den Verbraucher in der Gruppe identifiziert.

  2. Stellen Sie sicher, dass andere Instances der Konfiguration aktualisiert werden, sodass sie die statische Zeichenfolge verwenden.

  3. Stellen Sie die Änderungen für Ihre Kafka-Verbraucher bereit.

Die Verwendung des Static Membership Protocol ist effektiver, wenn das Sitzungs-Timeout in der Client-Konfiguration auf eine Dauer festgelegt ist, die es dem Verbraucher ermöglicht, sich zu erholen, ohne vorzeitig eine Neuverteilung der Verbrauchergruppen auszulösen. Wenn Ihre Verbraucheranwendung beispielsweise eine Nichtverfügbarkeit von 5 Minuten toleriert, wäre ein angemessener Wert für das Sitzungs-Timeout 4 Minuten anstelle des Standardwerts von 10 Sekunden.

Anmerkung

Die Verwendung des Static-Membership-Protokolls verringert nur die Wahrscheinlichkeit, dass dieses Problem auftritt. Dieses Problem kann auch dann auftreten, wenn Sie das Static-Membership-Protokoll verwenden.

Den koordinierenden Broker-Knoten neu starten

Gehen Sie wie folgt vor, um den koordinierenden Broker-Knoten neu zu starten:

  1. Identifizieren Sie den Gruppenkoordinator mithilfe des Befehls kafka-consumer-groups.sh.

  2. Starten Sie den Gruppenkoordinator der festgefahrenen Verbrauchergruppe mithilfe der API-Aktion neu. RebootBroker

Fehler beim Senden von Broker-Protokollen an Amazon CloudWatch Logs

Wenn Sie versuchen, Ihren Cluster so einzurichten, dass Broker-Logs an Amazon CloudWatch Logs gesendet werden, erhalten Sie möglicherweise eine von zwei Ausnahmen.

Wenn Sie die Ausnahme InvalidInput.LengthOfCloudWatchResourcePolicyLimitExceeded erhalten, wiederholen Sie den Vorgang, verwenden jedoch Protokollgruppen, die mit /aws/vendedlogs/ beginnen. Weitere Informationen finden Sie unter Aktivieren der Protokollierung aus bestimmten Amazon Web Services.

Wenn Sie eine InvalidInput.NumberOfCloudWatchResourcePoliciesLimitExceeded Ausnahme erhalten, wählen Sie eine bestehende Amazon CloudWatch Logs-Richtlinie in Ihrem Konto aus und hängen Sie den folgenden JSON-Code an.

{"Sid":"AWSLogDeliveryWrite","Effect":"Allow","Principal":{"Service":"delivery.logs.amazonaws.com"},"Action":["logs:CreateLogStream","logs:PutLogEvents"],"Resource":["*"]}

Wenn Sie versuchen, das obige JSON an eine bestehende Richtlinie anzuhängen, aber eine Fehlermeldung erhalten, die besagt, dass Sie die maximale Länge für die von Ihnen gewählte Richtlinie erreicht haben, versuchen Sie, das JSON an eine andere Ihrer Amazon CloudWatch Logs-Richtlinien anzuhängen. Nachdem Sie das JSON an eine bestehende Richtlinie angehängt haben, versuchen Sie erneut, die Broker-Log-Zustellung an Amazon Logs einzurichten. CloudWatch

Keine Standard-Sicherheitsgruppe

Wenn Sie versuchen, einen Cluster zu erstellen und einen Fehler über das Fehlen einer Standardsicherheitsgruppe erhalten, verwenden Sie möglicherweise eine VPC, die für Sie freigegeben wurde. Bitten Sie Ihren Administrator, Ihnen die Berechtigung zur Beschreibung der Sicherheitsgruppen auf dieser VPC zu erteilen, und versuchen Sie es erneut. Ein Beispiel für eine Richtlinie, die diese Aktion zulässt, finden Sie unter Amazon EC2: Ermöglicht es, die mit einer bestimmten VPC verknüpften EC2-Sicherheitsgruppen programmgesteuert und in der Konsole zu verwalten .

Der Cluster steckt anscheinend im Status „CREATING“ fest.

Gelegentlich dauert die Cluster-Erstellung bis zu 30 Minuten. Warten Sie 30 Minuten und überprüfen Sie den Status des Clusters erneut.

Der Cluster-Status wird von „CREATING“ in „FAILED“ geändert.

Versuchen Sie erneut, den Cluster zu erstellen.

Der Cluster-Status ist „ACTIVE“, Produzenten können jedoch keine Daten senden oder Konsumenten können keine Daten empfangen.

  • Wenn die Cluster-Erstellung erfolgreich ist (der Cluster-Status lautet „ACTIVE“), Sie jedoch keine Daten senden oder empfangen können, stellen Sie sicher, dass Ihre Produzenten- und Konsumentenanwendungen auf den Cluster zugreifen können. Weitere Informationen finden Sie in der Anleitung in Schritt 3: Einen Client-Computer erstellen.

  • Wenn Ihre Produzenten und Verbraucher Zugriff auf den Cluster haben, aber immer noch Probleme bei der Erstellung und Nutzung von Daten haben, könnte die Ursache darin liegen. Dies betrifft Apache Kafka Version 2.1.0 und kann zu einem Deadlock bei einem oder mehreren Brokern führen. KAFKA-7697 Ziehen Sie eine Migration zu Apache Kafka 2.2.1 in Betracht. Diese Version ist von diesem Fehler nicht betroffen. Weitere Informationen zur Migration finden Sie unter Migrieren Sie Kafka-Workloads zu einem Amazon MSK-Cluster.

AWS CLI erkennt Amazon MSK nicht

Wenn Sie das AWS CLI installiert haben, es aber die Amazon MSK-Befehle nicht erkennt, aktualisieren Sie es AWS CLI auf die neueste Version. Eine ausführliche Anleitung zum Upgrade von finden Sie AWS CLI unter Installation des AWS Command Line Interface. Informationen zur Verwendung der AWS CLI zum Ausführen von Amazon MSK-Befehlen finden Sie unterDie wichtigsten Funktionen und Konzepte von Amazon MSK.

Partitionen werden auf „offline“ festgelegt oder Replikate sind nicht synchronisiert.

Dies können Anzeichen von wenig Speicherplatz sein. Siehe Wenig Speicherplatz.

Wenig Speicherplatz

Lesen Sie die folgenden bewährten Methoden für die Verwaltung des Speicherplatzes: Überwachen der Festplattenkapazität und Anpassen der Datenaufbewahrungsparameter.

Wenig Arbeitsspeicher

Wenn Sie sehen, dass die MemoryUsed-Metrik hoch oder MemoryFree niedrig ist, deutet das nicht auf ein Problem hin. Apache Kafka wurde entwickelt, um so viel Speicher wie möglich zu verwenden, und es verwaltet ihn optimal.

Der Produzent erhält NotLeaderForPartitionException

Dies ist oft ein vorübergehender Fehler. Legen Sie den retries-Konfigurationsparameter des Produzenten auf einen Wert fest, der höher als sein aktueller Wert ist.

Under-replicated Partitionen (URP) größer als Null

Die Überwachung der UnderReplicatedPartitions-Metrik ist wichtig. In einem fehlerfreien MSK-Cluster weist diese Metrik den Wert „0“ auf. Der Wert kann aus Folgenden Gründen größer als Null sein.

  • Falls es zu Spitzenwerten bei UnderReplicatedPartitions kommt, wird der Cluster möglicherweise nicht in der richtigen Größe für die Verarbeitung von eingehendem und ausgehendem Datenverkehr bereitgestellt. Siehe Bewährte Methoden für Standard-Broker.

  • Wenn UnderReplicatedPartitions auch in Zeiträumen mit geringem Datenverkehr konstant größer als 0 ist, haben Sie möglicherweise restriktive ACLs festgelegt, die Brokern keinen Themenzugriff gewähren. Zum Replizieren von Partitionen müssen Broker für die Themen „READ“ und „DESCRIBE“ autorisiert sein. „DESCRIBE“ wird standardmäßig mit der „READ“-Autorisierung erteilt. Informationen zum Festlegen von ACLs finden Sie unter Autorisierung und ACLs in der Apache Kafka-Dokumentation.

Der Cluster hat die Themen __amazon_msk_canary und __amazon_msk_canary_state

Möglicherweise sehen Sie, dass Ihr MSK-Cluster ein Thema mit dem Namen __amazon_msk_canary und ein anderes mit dem Namen __amazon_msk_canary_state hat. Dies sind interne Themen, die Amazon MSK erstellt und für Metriken zum Cluster-Zustand und zur Diagnose verwendet. Diese Themen haben eine vernachlässigbare Größe und können nicht gelöscht werden.

Die Partitionsreplikation schlägt fehl

Stellen Sie sicher, dass Sie keine ACLs für CLUSTER_ACTIONS festgelegt haben.

Es kann nicht auf einen Cluster zugegriffen werden, für den der öffentliche Zugriff aktiviert ist

Wenn für Ihren Cluster der öffentliche Zugriff aktiviert ist, Sie aber immer noch nicht über das Internet darauf zugreifen können, gehen Sie wie folgt vor:

  1. Stellen Sie sicher, dass die Regeln der Sicherheitsgruppe für eingehenden Datenverkehr Ihre IP-Adresse und den Port des Clusters erlauben. Eine Liste der Cluster-Portnummern finden Sie unter Port-Informationen. Stellen Sie außerdem sicher, dass die Regeln für ausgehenden Datenverkehr der Sicherheitsgruppe ausgehende Kommunikation zulassen. Weitere Informationen zu Sicherheitsgruppen und Regeln für eingehenden und ausgehenden Datenverkehr finden Sie unter Sicherheitsgruppen für Ihre VPC im Amazon-VPC-Benutzerhandbuch.

  2. Stellen Sie sicher, dass Ihre IP-Adresse und der Port des Clusters in den Regeln für eingehenden Datenverkehr der VPC-Netzwerk-ACL des Clusters zulässig sind. Im Gegensatz zu Sicherheitsgruppen sind Netzwerk-ACLs zustandslos. Dies bedeutet, dass Sie die Regeln für den ein- und ausgehenden Datenverkehr konfigurieren müssen. Erlauben Sie in den Regeln für ausgehenden Datenverkehr den gesamten Datenverkehr (Portbereich: 0–65535) zu Ihrer IP-Adresse zu. Weitere Informationen finden Sie unter Hinzufügen und Löschen von Regeln im Amazon-VPC-Benutzerhandbuch.

  3. Stellen Sie sicher, dass Sie die Bootstrap-Brokers-Zeichenfolge mit öffentlichem Zugriff für den Zugriff auf den Cluster verwenden. Ein MSK-Cluster, für den der öffentliche Zugriff aktiviert ist, hat zwei verschiedene Bootstrap-Broker-Zeichenfolgen, eine für den öffentlichen Zugriff und eine für den Zugriff innerhalb AWS. Weitere Informationen finden Sie unter Holen Sie sich die Bootstrap-Broker mit dem AWS-Managementkonsole.

Über IPv6-Bootstrap kann nicht auf den Cluster zugegriffen werden

Wenn Sie Probleme haben, mithilfe der bereitgestellten IPv6-Bootstrap-Zeichenfolgen eine Verbindung zu einem Cluster herzustellen, gehen Sie wie folgt vor:

  1. Stellen Sie sicher, dass Ihrem Client sowohl IPv4- als auch IPv6-Adressen zugewiesen sind. Ihre Client-Anwendung muss in einem Subnetz ausgeführt werden, in dem sowohl die IPv4- als auch die IPv6-Adressierung aktiviert und ordnungsgemäß konfiguriert sind. Prüfen Sie, ob Ihre VPC sowohl über einen IPv4-CIDR-Block als auch über einen zugehörigen IPv6-CIDR-Block verfügt, stellen Sie sicher, dass in Ihrem Subnetz sowohl IPv4- als auch IPv6-Adressen aktiviert sind, und stellen Sie sicher, dass Ihrer EC2-Instance oder Client-Umgebung sowohl IPv4- als auch IPv6-Adressen zugewiesen sind. Weitere Informationen finden Sie unter IP-Adressierung für Ihre VPCs und Subnetze im Amazon VPC-Benutzerhandbuch.

  2. Stellen Sie sicher, dass relevante IPv6-Ports in den Regeln für eingehende und ausgehende Sicherheitsgruppen vorhanden sind. Fügen Sie eingehende Regeln hinzu, um den Datenverkehr auf den Cluster-Ports von Ihren IPv6-Adressen aus zuzulassen, und konfigurieren Sie ausgehende Regeln, um IPv6-Verkehr zuzulassen. Spezifische Portnummern finden Sie in der MSK-Dokumentation unter Portinformationen. Denken Sie daran, sowohl die IPv4- als auch die IPv6-Regeln zu aktualisieren, wenn Sie im Dual-Stack-Modus arbeiten. Weitere Informationen zu Sicherheitsgruppen und Regeln für eingehenden und ausgehenden Datenverkehr finden Sie unter Sicherheitsgruppen für Ihre VPC im Amazon-VPC-Benutzerhandbuch.

  3. Stellen Sie sicher, dass die Konfiguration der JVM-Eigenschaften für die IPv6-Unterstützung korrekt ist. Stellen Sie in Ihrer Client-Anwendung java.net.preferIPv6Addresses auf true und java.net.preferIPv4Stack auf ein. false Diese Einstellungen können entweder als Systemeigenschaften oder als JVM-Argumente konfiguriert werden. Starten Sie Ihre Anwendung neu, nachdem Sie diese Änderungen vorgenommen haben, damit sie wirksam werden.

Auf den Cluster kann von innen nicht zugegriffen werden AWS: Netzwerkprobleme

Wenn Sie über eine Apache-Kafka-Anwendung verfügen, die nicht erfolgreich mit einem MSK-Cluster kommunizieren kann, führen Sie zunächst den folgenden Konnektivitätstest durch.

  1. Verwenden Sie eine der in Holen Sie sich die Bootstrap-Broker für einen Amazon MSK-Cluster beschriebenen Methoden, um die Adressen der Bootstrap-Broker zu erhalten.

  2. Ersetzen Sie im folgenden Befehl bootstrap-broker durch eine der Broker-Adressen, die Sie im vorherigen Schritt erhalten haben. port-numberErsetzen Sie durch 9094, wenn der Cluster für die Verwendung der TLS-Authentifizierung eingerichtet ist. Wenn der Cluster keine TLS-Authentifizierung verwendet, port-number ersetzen Sie ihn durch 9092. Führen Sie den Befehl vom Clientcomputer aus.

    telnet bootstrap-broker port-number

    Wobei die Portnummer lautet:

    • 9094, wenn der Cluster für die Verwendung der TLS-Authentifizierung eingerichtet ist.

    • 9092 Wenn der Cluster keine TLS-Authentifizierung verwendet.

    • Eine andere Portnummer ist erforderlich, wenn der öffentliche Zugriff aktiviert ist.

    Führen Sie den Befehl vom Clientcomputer aus.

  3. Wiederholen Sie den vorherigen Befehl für alle Bootstrap-Broker.

Wenn der Client-Computer auf die Broker zugreifen kann, bedeutet dies, dass keine Verbindungsprobleme vorliegen. Führen Sie in diesem Fall den folgenden Befehl aus, um zu überprüfen, ob Ihr Apache Kafka Client korrekt eingerichtet ist. Verwenden Sie bootstrap-brokers zum Abrufen eine der unter beschriebenen MethodenHolen Sie sich die Bootstrap-Broker für einen Amazon MSK-Cluster. topicErsetzen Sie es durch den Namen Ihres Themas.

<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list bootstrap-brokers --producer.config client.properties --topic topic

Wenn der vorherige Befehl erfolgreich ist, bedeutet dies, dass Ihr Client korrekt eingerichtet ist. Wenn Sie immer noch nicht in der Lage sind, aus einer Anwendung zu produzieren und zu konsumieren, debuggen Sie das Problem auf Anwendungsebene.

Wenn der Client-Computer nicht auf die Broker zugreifen kann, finden Sie in den folgenden Unterabschnitten Anleitungen, die auf Ihrem Client-Computer-Setup basieren.

Amazon-EC2-Client und MSK-Cluster in derselben VPC

Wenn sich der Client-Computer in derselben VPC wie der MSK-Cluster befindet, stellen Sie sicher, dass die Sicherheitsgruppe des Clusters über eine Regel für eingehenden Datenverkehr verfügt, die Datenverkehr von der Sicherheitsgruppe des Client-Computers akzeptiert. Informationen zum Einrichten dieser Regeln finden Sie unter Sicherheitsgruppenregeln. Ein Beispiel für den Zugriff auf einen Cluster von einer Amazon-EC2-Instance aus, die sich in derselben VPC wie der Cluster befindet, finden Sie unter Beginnen Sie mit der Verwendung von Amazon MSK.

Amazon-EC2-Client und MSK-Cluster in verschiedenen VPCs

Wenn sich der Clientcomputer und der Cluster in zwei verschiedenen VPCs befinden, stellen Sie Folgendes sicher:

  • Die beiden VPCs sind durch Peering verbunden.

  • Der Status der Peering-Verbindung ist aktiv.

  • Die Routingtabellen der beiden VPCs sind korrekt eingerichtet.

Weitere Informationen zum VPC-Peering finden Sie unter Arbeiten mit VPC-Peering-Verbindungen.

On-premises Kunde

Stellen Sie bei einem lokalen Client, der für die Verbindung mit dem MSK-Cluster eingerichtet ist Site-to-Site VPN, Folgendes sicher:

  • Der VPN-Verbindungsstatus lautet UP. Informationen zum Überprüfen des VPN-Verbindungsstatus finden Sie unter Wie überprüfe ich den aktuellen Status meines VPN-Tunnels?.

  • Die Routingtabelle der VPC des Clusters enthält die Route für einen On-Premises-CIDR, dessen Ziel das Format Virtual private gateway(vgw-xxxxxxxx) aufweist.

  • Die Sicherheitsgruppe des MSK-Clusters lässt Datenverkehr auf Port 2181, Port 9092 (wenn Ihr Cluster Klartext-Verkehr akzeptiert) und Port 9094 (wenn Ihr Cluster Datenverkehr akzeptiert) zu. TLS-encrypted

Weitere Anleitungen zur Fehlerbehebung finden Sie unter Site-to-Site VPN Problembehandlung bei Client-VPN. https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html

Direct Connect

Wenn der Client es verwendet Direct Connect, finden Sie weitere Informationen unter Problembehandlung Direct Connect.

Wenn die vorherige Anleitung zur Fehlerbehebung das Problem nicht beheben kann, stellen Sie sicher, dass keine Firewall den Netzwerkverkehr blockiert. Verwenden Sie zum weiteren Debuggen Tools wie tcpdump und Wireshark zum Analysieren des Datenverkehrs und stellen Sie sicher, dass er den MSK-Cluster erreicht.

Fehlgeschlagene Authentifizierung: Zu viele Verbindungen

Der Fehler Failed authentication ... Too many connects weist darauf hin, dass ein Broker sich selbst schützt, weil ein oder mehrere IAM-Clients mit einer aggressiv-schnellen Rate versuchen, eine Verbindung zu ihm herzustellen. Um Brokern zu helfen, eine höhere Rate neuer IAM-Verbindungen zu akzeptieren, können Sie den Konfigurationsparameter reconnect.backoff.ms erhöhen.

Weitere Informationen zu den Ratenlimits für neue Verbindungen pro Broker finden Sie auf der Amazon-MSK-Kontingent-Seite.

Fehlgeschlagene Authentifizierung: Sitzung zu kurz

Der Failed authentication ... Session too short Fehler tritt auf, wenn Ihr Client versucht, mithilfe von IAM-Anmeldeinformationen, die bald ablaufen, eine Verbindung zu einem Cluster herzustellen. Stellen Sie sicher, dass Sie überprüfen, wie Ihre IAM-Anmeldeinformationen aktualisiert werden. Höchstwahrscheinlich werden die Anmeldeinformationen zu kurz vor Ablauf der Sitzung ersetzt, was zu Problemen auf der Serverseite und zu Authentifizierungsfehlern führt.

MSK Serverless: Die Cluster-Erstellung schlägt fehl

Wenn Sie versuchen, einen MSK-Serverless-Cluster zu erstellen, und der Workflow fehlschlägt, sind Sie möglicherweise nicht berechtigt, einen VPC-Endpunkt zu erstellen. Stellen Sie sicher, dass Ihr Administrator Ihnen die Berechtigung erteilt hat, einen VPC-Endpunkt zu erstellen, indem Sie die ec2:CreateVpcEndpoint-Aktion zulassen.

Eine vollständige Liste der Berechtigungen, die für die Ausführung aller Amazon-MSK-Aktionen erforderlich sind, finden Sie unter AWS verwaltete Richtlinie: AmazonMSKFullAccess.

Die MSK-Konfiguration kann nicht aktualisiert KafkaVersionsList werden

Wenn Sie die KafkaVersionsList Eigenschaft in der Ressource AWS: :MSK: :Configuration aktualisieren, schlägt die Aktualisierung mit dem folgenden Fehler fehl.

Resource of type 'AWS::MSK::Configuration' with identifier '<identifierName>' already exists.

Wenn Sie die KafkaVersionsList Eigenschaft aktualisieren, AWS CloudFormation erstellt eine neue Konfiguration mit der aktualisierten Eigenschaft, bevor Sie die alte Konfiguration löschen. Die CloudFormation Stack-Aktualisierung schlägt fehl, weil die neue Konfiguration denselben Namen wie die vorhandene Konfiguration verwendet. Ein solches Update erfordert einen Ressourcenaustausch. Für eine erfolgreiche Aktualisierung KafkaVersionsList müssen Sie im gleichen Vorgang auch die https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-name Name-Eigenschaft aktualisieren.

Wenn Ihre Konfiguration mit Clustern verknüpft ist, die mit AWS-Managementkonsole oder erstellt wurden AWS CLI, fügen Sie Ihrer Konfigurationsressource außerdem Folgendes hinzu, um fehlgeschlagene Versuche zum Löschen von Ressourcen zu verhindern.

UpdateReplacePolicy: Retain

Nachdem das Update erfolgreich war, wechseln Sie zur Amazon MSK-Konsole und löschen Sie die alte Konfiguration. Informationen zu MSK-Konfigurationen finden Sie unter Von Amazon MSK bereitgestellte Konfiguration.

Fehler bei der Konfiguration benutzerdefinierter Domainnamen

Wenn Sie eine Konfiguration erstellen oder anwenden, die Folgendes umfasstcustom.advertised.listeners, können die folgenden Fehler auftreten. Weitere Informationen zur Konfiguration benutzerdefinierter Domänennamen finden Sie unterKonfigurieren Sie benutzerdefinierte Domainnamen für Ihren Amazon MSK-Cluster.

Ungültiges Format

Die API gibt einen HTTP 400-Fehler mit invalidParameter=serverproperties der folgenden Meldung zurück.

Invalid custom.advertised.listeners format. Expected: LISTENER_NAME://host:port+{broker_id} (comma-separated for multiple).

Der von Ihnen angegebene Wert custom.advertised.listeners entspricht nicht dem erforderlichen Format. Korrigieren Sie den Wert, sodass er das Muster verwendetLISTENER_NAME://hostname:port+{broker_id}, stellen Sie sicher, dass die {broker_id} Vorlagenvariable im Port erscheint, sodass jeder Broker in eine eindeutige Adresse aufgelöst wird, und trennen Sie mehrere Listener durch ein Komma. Senden Sie dann die korrigierte Konfiguration erneut mit. UpdateClusterConfiguration

Der Listener ist nicht an den Cluster gebunden

Die API gibt einen HTTP 400-Fehler mit invalidParameter=configurationInfo und der folgenden Meldung zurück.

Custom advertised listener(s) [CLIENT_SECURE] are not bound on this cluster. Valid client listeners: [CLIENT_IAM]. A broker cannot advertise a listener it does not bind.

Der von Ihnen angegebene Listener ist in Ihrem Cluster nicht aktiv. Dieser Fehler tritt währenddessen aufUpdateClusterConfiguration, nicht CreateConfiguration währenddessen. Ein Broker kann nur für einen Listener werben, den er auch tatsächlich bindet. Aktualisieren Sie Ihren custom.advertised.listeners Wert so, dass er auf einen der gültigen Client-Listener verweist, die in der Fehlermeldung für Ihren Cluster aufgeführt sind (z. B.). CLIENT_IAM Wenn der Listener auf dem Cluster noch nicht aktiviert ist (z. B.CLIENT_SECURE), aktivieren Sie zuerst diese Authentifizierung oder diesen Listenertyp. Wenden Sie dann die Konfiguration erneut an mit. UpdateClusterConfiguration

Der Aktualisierungsvorgang schlägt fehl

Überprüfen Sie Ihren custom.advertised.listeners Wert auf Probleme wie Portkonflikte oder unlösbare Hostnamen, korrigieren Sie die Konfiguration und wenden Sie sie erneut mit an. UpdateClusterConfiguration

Wenn der Fehler auf einen Skalierungsvorgang zurückzuführen ist, fügen Sie den entsprechenden Network Load Balancer-Listener, die Zielgruppe und den DNS-Eintrag für jeden neuen Broker hinzu. Vergewissern Sie sich, dass alle Clients den benutzerdefinierten Domainnamen auflösen können. Sie können auch zur vorherigen funktionierenden Konfiguration zurückkehren, indem Sie die alte Konfiguration anwenden.