Wie behebe ich Verbindungsprobleme mit dem Amazon-MQ-Broker?

Letzte Aktualisierung: 07.04.2022

Ich kann über die Webkonsole oder die Wire-Level-Endpunkte keine Verbindung zu meinem Amazon-MQ-Broker herstellen. Wie kann dieses Problem behoben werden?

Kurzbeschreibung

Verbindungsprobleme mit dem Amazon-MQ-Broker können aus vielen Gründen auftreten und zu vielen Arten von Fehlern führen. Im Folgenden sind die häufigsten Gründe aufgeführt, warum Amazon MQ einen Verbindungsfehler zurückgibt:

  • Falsch konfigurierte lokale Firewalls und Routing-Tabellen
  • Falsch konfigurierte Sicherheitsgruppen und Netzwerk-Zugriffskontrolllisten (NACLs)
  • Verbindung mit der falschen Portnummer
  • Probleme mit der DNS-Auflösung
  • Nicht unterstützte SDK-Clients
  • Falsche Sichtbarkeitseinstellungen für Broker
  • Falsch konfigurierte SSL/TLS
  • Veraltete Broker-Endpunkt-Zertifikate

Im Folgenden finden Sie Beispiele für einige der Fehlermeldungen, die Amazon MQ zurückgeben kann, wenn ein Broker-Verbindungsproblem vorliegt:

  • SSLHandshakeException
  • JMSException
  • UnknownHostException
  • SocketTimeoutException

Behebung

Gehen Sie wie folgt vor, um Probleme mit der Verbindung mit dem Amazon-MQ-Broker zu beheben.

Stellen Sie sicher, dass Ihre lokalen Firewalls und Routing-Tabellen korrekt konfiguriert sind.

Für Broker mit öffentlicher Zugänglichkeit

Bestätigen Sie Folgendes:

  • Ihre Anwendung hat Internetzugang.
  • Ihre lokalen Firewalls und Routing-Tabellen erlauben öffentlichen Internetverkehr.
  • Ihre Subnetz-NACLs und die Sicherheitsgruppe des Brokers ermöglichen die Kommunikation über Ports, die von Amazon MQ unterstützt werden.
  • Der Broker in Ihrer Amazon Virtual Private Cloud (Amazon VPC) befindet sich in einem öffentlichen Subnetz mit einer Standardroute zu einem Internet-Gateway. Weitere Informationen finden Sie unter Aktivieren des Internetzugangs im Amazon-VPC-Benutzerhandbuch.

Für private Broker

Bestätigen Sie Folgendes:

  • AWS-Cloud-servicespezifische Konfigurationen, die mit Ihrem Amazon-MQ-Broker verknüpft sind, sind korrekt eingerichtet.
  • Ihre lokalen Firewalls und Routing-Tabellen erlauben ein- und ausgehenden Datenverkehr zwischen allen zugehörigen Virtual Private Networks (VPNs).
  • Ihre Subnetz-NACLs und die Sicherheitsgruppe des Brokers ermöglichen die Kommunikation über Ports, die von Amazon MQ unterstützt werden.

Testen Sie die Netzwerkkonnektivität Ihres Amazon-MQ-Brokers

Befolgen Sie die Anweisungen in Schritt 5 von Ich kann keine Verbindung zu meiner Broker-Webkonsole oder -Endpunkten herstellen im Amazon-MQ-Entwicklerhandbuch.

Hinweis: Wenn die nslookup-Befehlsanforderung eine Zeitüberschreitung hat oder keine Werte im Antwortabschnitt der Befehlsausgabe vorhanden sind, gehen Sie wie folgt vor:

  • Leeren Sie Ihren lokalen DNS-Cache.
  • Starten Sie Ihre lokalen Netzwerkgeräte und den Client neu.
  • Stellen Sie sicher, dass Ihre lokalen DNS-Server korrekt konfiguriert sind.

Stellen Sie sicher, dass Sie einen unterstützten SDK-Client verwenden

Stellen Sie sicher, dass Sie die neueste SDK-Clientimplementierung verwenden, die mit der von Ihnen verwendeten Broker-Engine kompatibel ist.

Für Amazon MQ for ActiveMQ müssen Sie das AMQP-1.0-Protokoll verwenden. Für Amazon MQ for RabbitMQ müssen Sie das AMPQ-0-9-1-Protokoll verwenden.

Stellen Sie sicher, dass Sie SSL/TLS für die Kommunikation mit AWS-Ressourcen verwenden

Hinweis: Amazon MQ unterstützt derzeit keine Mutual Transport Layer Security (TLS)-Authentifizierung.

Die Verwendung falscher SSL-/TLS-Versionen und nicht unterstützter Verschlüsselungssammlungen führt zu SSL-Fehlern. Weitere Informationen finden Sie unter Datenschutz in Amazon MQ im Amazon-MQ-Entwicklerhandbuch.

Eine Liste der unterstützten Verschlüsselungen für RabbitMQ und ActiveMQ finden Sie unter Verschlüsselung während der Übertragung im Amazon-MQ-Entwicklerhandbuch.

Hinweis: Für einige Clientbibliotheken muss SSL explizit aktiviert werden. Im Folgenden finden Sie Beispiele für eine explizite SSL-Aktivierung für die Programmiersprachen Java und Ruby.

(Java) Beispiel für expliziten SSL-Aktivierungscode

ConnectionFactory factory=new ConnectionFactory();
factory.useSslProtocol()

(Ruby) Beispiel für expliziten SSL-Aktivierungscode

conn = Bunny.new(:tls => true, :verify_peer  => false)

Stellen Sie sicher, dass Ihr Endpunkt-Zertifikat für den Amazon-MQ-Broker auf dem neuesten Stand ist.

Weitere Informationen finden Sie im Abschnitt SSL-Ausnahmen im Amazon-MQ-Entwicklerhandbuch.

Anweisungen dazu, wie Sie feststellen können, ob sich die Zertifizierungsstellen (CAs) von Amazon Trust Services in Ihrem Vertrauensspeicher befinden, finden Sie im folgenden Artikel: Vorbereitung auf den Wechsel von AWS zu einer eigenen Zertifizierungsstelle.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?