Verbindung zu Event Streams herstellen

Um eine Verbindung zu Ihrer Event Streams-Instanz herzustellen, benötigen Sie die Endpunkt-URLs für die APIs und die Berechtigungsnachweise für die Authentifizierung. Erfahren Sie, wie Sie diese Details und die Konnektivitätsoptionen, die Sie verwenden können, abrufen können.

Übersicht

Dienste, die über die Tarife Lite, Standard oder Enterprise bereitgestellt werden, sind im Dashboard unter der Überschrift "Dienste" zusammengefasst.

Alle Pläne verwenden IAM für die Authentifizierung. Sie müssen keine Kenntnisse über IAM besitzen, um erste Schritte auszuführen, es empfiehlt sich jedoch ein gewisses Grundwissen, wenn Sie Ihren Event Streams-Service schützen möchten. Weitere Informationen finden Sie in Zugriff auf Ihre Event Streams-Ressourcen verwalten. Um die folgenden Schritte ausführen zu können und berechtigt zu sein, Themen zu erstellen, muss Ihre Anwendung oder Ihr Service Key über eine Manager-Zugriffsrolle verfügen. Standardmäßig hat der Eigner des Kontos, das die Serviceinstanz enthält, diese Rolle.

Event Streams-Instanzen werden standardmäßig so konfiguriert, dass sie das öffentliche IBM Cloud®-Netz verwenden, um über das öffentliche Internet zugänglich zu sein. Bei Bedarf können Sie diesen Zugriff einschränken, indem Sie einen alternativen Netztyp auswählen oder die Position einschränken, von der Verbindungen akzeptiert werden. Weitere Informationen finden Sie unter Netzzugriff einschränken.

Verbindungsinformationen

Erstellen Sie einen Serviceschlüssel, um auf eine Serviceinstanz zuzugreifen. Ein Serviceschlüssel enthält die Informationen, die für den Zugriff auf die Instanz erforderlich sind, einschließlich der Endpunktdetails für ihre APIs und eines eindeutigen API-Schlüsselberechtigungsnachweises.

Gehen Sie wie folgt vor, um einen Serviceschlüssel über die IBM Cloud-Konsole zu erstellen:

  1. Suchen Sie Ihren Event Streams-Dienst im Dashboard.
  2. Klicken Sie auf die Servicekachel.
  3. Klicken Sie auf Serviceberechtigungsnachweise.
  4. Klicken Sie auf Neuer Berechtigungsnachweis.
  5. Füllen Sie die Details für Ihren neuen Berechtigungsnachweis aus. Wählen Sie einen Namen und eine Rolle aus und klicken Sie auf "Hinzufügen ". In der Berechtigungsnachweisliste wird ein neuer Berechtigungsnachweis angezeigt.
  6. Klicken Sie auf den neuen Berechtigungsnachweis, indem Sie "Berechtigungsnachweis anzeigen" verwenden, um die Details im JSON-Format anzuzeigen.

Führen Sie die folgenden Schritte aus, um mithilfe der CLI IBM Cloud einen Service-Schlüssel zu erstellen.

  1. Suchen Sie Ihren Service:

    ibmcloud resource service-instances
    
  2. Erstellen Sie einen Serviceschlüssel:

    ibmcloud resource service-key-create <key_name> <key_role> --instance-name <your_service_name>
    
  3. Geben Sie den Serviceschlüssel aus:

    ibmcloud resource service-key <key_name>
    

    Jeder Serviceschlüssel enthält eine einzelne Gruppe von Endpunktdetails. Für Serviceinstanzen, die für die Verbindung zu einem einzelnen Netztyp konfiguriert sind, enthält der Serviceschlüssel die für diesen Netztyp relevanten Details: entweder das öffentliche Netz von IBM Cloud (Standardeinstellung) oder das private Netz von IBM Cloud. Für Instanzen, die für die Unterstützung des privaten und des öffentlichen Netzes konfiguriert sind, werden Details für das öffentliche Netz zurückgegeben. Wenn Sie Details zum privaten Netz wünschen, müssen Sie den Parameter --service-endpoint private wie im folgenden Beispiel mit dem vorherigen CLI-Befehl hinzufügen.

    ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
    

Weitere Informationen finden Sie unter Netztypen.

Verbindung herstellen

Führen Sie die folgenden Tasks aus, um eine Kafka-Anwendung zu verbinden.

  • Verwenden Sie das Feld <bootstrap_endpoints> aus dem Serviceschlüssel als Eigenschaft bootstrap.servers Ihrer Kafka-Anwendung.
  • Setzen Sie die Eigenschaft security.protocol auf SASL_SSL und die Eigenschaft sasl.mechanism auf PLAIN.
  • Verwenden Sie das Feld <user> des Serviceschlüssels als Benutzernamen und das Feld <api_key> des Serviceschlüssels als Kennwort. Stellen Sie sicher, dass Ihre Anwendung ein Parsing der Details durchführt.
  • Weitere Informationen finden Sie in Kafka-API-Client konfigurieren.

Führen Sie die folgenden Tasks aus, um eine HTTP-API aufzurufen.

  • Verwenden Sie das Feld <kafka_admin_url> des Serviceschlüssels als URL für HTTP-Anforderungen.
  • Verwenden Sie den Befehl IBM Cloud CLI ibmcloud iam oauth-tokens, um ein Authentifizierungstoken zu generieren. Fügen Sie diesen Token in die Authorization-Kopfzeile der HTTP-Anfrage ein, wobei der Wert als Bearer <token> formatiert ist. Es werden sowohl API-Schlüssel als auch JWT-Token unterstützt.
  • Für jede API wird weitere Dokumentation bereitgestellt.

Netzkonnektivität

Standardmäßig sind Lite-, Standard-und Enterprise-Instanzen so konfiguriert, dass sie über das öffentliche Internet zugänglich sind. Wenn Sie den Enterprise-Plan verwenden, können Sie die Konnektivität wie folgt beschränken:

Private Netze
Wenn Ihre Arbeitslast vollständig innerhalb von IBM Cloud ausgeführt wird und kein öffentlicher Zugriff auf den Dienst erforderlich ist, können Event Streams-Instanzen stattdessen so konfiguriert werden, dass sie nur über das private Netzwerk IBM Cloud zugänglich sind. Diese Konfiguration bietet eine erhöhte Isolierung und verursacht keine Gebühren für die Ausgangsbandbreite, die mit öffentlichem Datenverkehr verbunden sind. Instanzen können auch so konfiguriert werden, dass sie sowohl über das öffentliche als auch das private Netz von IBM Cloud zugänglich sind.
Kontextbasierte Einschränkungen
Sie können Zugriffsregeln definieren, die die Netzadressen begrenzen, von denen Verbindungen gemäß bestimmten Merkmalen akzeptiert werden. Beispiele: Netztyp, IP-Bereiche, VPC oder andere Services.

Weitere Informationen finden Sie unter Netzzugriff einschränken.

Über die klassische Infrastruktur über das private Netz auf eine Unternehmensinstanz zugreifen

Für den Zugriff auf Ihre Unternehmensinstanz über das private Netz für Workloads, die in der klassischen Infrastruktur von IBM Cloud bereitgestellt werden, müssen die VRF-Funktionen (Virtual Route Forwarding) und Serviceendpunkte in Ihrem Konto aktiviert sein. Weitere Informationen finden Sie unter Netzzugriff einschränken.

Zugriff auf eine Unternehmensinstanz über das private Netz über eine VPC

Für Workloads, die in einer IBM Cloud-VPC bereitgestellt wurden, um über das private Netz auf Ihre Unternehmensinstanz zugreifen zu können, muss ein Virtual Private Endpoint (VPE) in der VPC erstellt werden:

  1. Klicken Sie in der Konsole IBM Cloud auf das Menüsymbol und wählen Sie VPC-Infrastruktur > Netzwerk > Virtual Private Endpoint Gateways aus.
  2. Erstellen Sie ein VPE für Ihre Instanz von Event Streams unter Verwendung der Anleitung unter Informationen zu virtuellen privaten Endpunktgateways.
  3. Nachdem Sie Ihre VPE erstellt haben, kann es ein paar Minuten dauern, bis die neue VPE und pDNS den Prozess abgeschlossen haben und für Ihre VPC arbeiten. Die Fertigstellung wird bestätigt, wenn in der Detailansicht des VPE eine IP-Adresse angezeigt wird.

Zugriff auf eine Unternehmensinstanz über das private Netz von außerhalb von IBM Cloud

Lösungen wie Direct Link 2.0 können verwendet werden, um eine Verbindung zwischen einem externen Netz, z. B. einem lokalen Rechenzentrum, und dem privaten Netz IBM Cloud herzustellen. Beim Umgang mit Workloads, die in einem externen Netz ausgeführt werden, ist es jedoch wichtig, zusätzliche Faktoren zu berücksichtigen, um eine erfolgreiche Verbindung zu Kafkasicherzustellen. Beachten Sie, dass diese Aspekte nicht für HTTP-Workloads gelten.

Die Details des privaten Endpunkts, die Ihrer Instanz zugeordnet sind (wie im Serviceschlüssel beschrieben), müssen aus dem Netz, in dem die Workload ausgeführt wird, aufgelöst und weitergeleitet werden können. Es ist nicht möglich, alternative Hostnamenseinträge in den bootstrap.servers-Eigenschaften der Workload anzugeben, um Datenverkehr vom externen Netz weiterzuleiten.

Der Grund für dieses Verhalten ist der aus zwei Schritten bestehende Verbindungsprozess von Kafka. Im ersten Schritt werden die Hostnamen, die in der Clienteigenschaft bootstrap.servers angegeben sind, verwendet, um die erste Bootstrapverbindung herzustellen. Der Server antwortet dem Client jedoch mit den tatsächlich verwendeten Hostnamensdetails des Endpunkts. Diese Hostnamensdetails sind die privaten Endpunktdetails, die Ihrer Instanz ursprünglich zugeordnet wurden und nicht geändert werden können. Daher müssen die Details direkt vom externen Netz aufgelöst und weitergeleitet werden können.

Weitere Informationen finden Sie unter Zugriff auf private API-Endpunkte von einem lokalen Netzwerk aus über IBM Cloud Direct Link.

Nächste Schritte

Da Sie nun über Verbindungs- und Anmeldeinformationen verfügen, können Sie einen Kafka-Client auswählen. Weitere Informationen finden Sie in Kafka-API verwenden.