Connexion à Event Streams

Pour vous connecter à votre instance Event Streams, vous avez besoin des URL de noeud final pour les API et des données d'identification pour l'authentification. Découvrez comment obtenir ces détails et les options de connectivité que vous pouvez utiliser.

Présentation

Les services fournis dans le cadre des offres Lite, Standard ou Enterprise sont regroupés dans le tableau de bord sous l'intitulé Services.

Tous les plans utilisent IAM pour l'authentification. Vous n'avez pas besoin de comprendre parfaitement IAM pour commencer mais un minimum de connaissances est recommandé si vous voulez sécuriser votre service Event Streams. Pour plus d'informations, voir Gestion de l'accès à vos ressources Event Streams. Pour effectuer les étapes suivantes et être autorisé à créer des rubriques, votre application ou votre clé de service doit avoir un rôle d'accès Manager. Par défaut, le propriétaire du compte qui contient l'instance de service a ce rôle.

Par défaut, les instances Event Streams sont configurées pour utiliser le réseau public IBM Cloud® de sorte à être accessibles sur l'Internet public.  Si nécessaire, vous pouvez restreindre cet accès en sélectionnant un autre type de réseau ou en limitant l'emplacement à partir duquel les connexions sont acceptées. Pour plus d'informations, voir Restriction de l'accès au réseau.

Informations de connexion

Pour accéder à une instance de service, créez une clé de service. Une clé de service contient les informations nécessaires pour accéder à l'instance, y compris les détails de noeud final pour ses API et des données d'identification de clé d'API uniques.

Pour créer une clé de service à l'aide de la console IBM Cloud:

  1. Recherchez votre service Event Streams sur le tableau de bord.
  2. Cliquez sur la vignette de votre service.
  3. Cliquez sur Données d'identification pour le service.
  4. Cliquez sur Nouvelles données d'identification.
  5. Indiquez les détails de vos nouvelles données d'identification. Choisissez un nom et un rôle et cliquez sur Ajouter. Une nouvelle donnée d'identification s'affiche dans la liste des données d'identification.
  6. Cliquez sur le nouveau justificatif en utilisant Afficher les justificatifs pour révéler les détails au format JSON.

Pour créer une clé de service à l'aide de l'interface de ligne de commande ( IBM Cloud, CLI), procédez comme suit.

  1. Recherchez votre service comme suit :

    ibmcloud resource service-instances
    
  2. Créez une instance de service :

    ibmcloud resource service-key-create <key_name> <key_role> --instance-name <your_service_name>
    
  3. Imprimez la clé de service :

    ibmcloud resource service-key <key_name>
    

    Un ensemble unique de détails de noeud final est contenu dans chaque clé de service. Pour les instances de service configurées pour être connectées à un type de réseau unique, le réseau public IBM Cloud (valeur par défaut) ou le réseau privé IBM Cloud, la clé de service contient les détails relatifs à ce type de réseau. Pour les instances configurées pour prendre en charge les réseaux privés et publics, les détails du réseau public sont renvoyés. Si vous souhaitez des détails sur le réseau privé, vous devez ajouter le paramètre --service-endpoint private à la commande CLI précédente, comme dans l'exemple suivant.

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

Pour plus d'informations, voir Types de réseau.

Etablissement d'une connexion

Pour connecter une application Kafka, procédez comme suit.

  • Utilisez la zone <bootstrap_endpoints> de la clé de service comme propriété bootstrap.servers de votre application Kafka.
  • Définissez la propriété security.protocol sur SASL_SSL et la propriété sasl.mechanism sur PLAIN.
  • Utilisez la zone <user> de la clé de service comme nom d'utilisateur et la zone <api_key> de la clé de service comme mot de passe. Vérifiez que votre application analyse les détails.
  • Pour en savoir plus, voir Configuration de votre client API Kafka.

Pour appeler une API HTTP, procédez comme suit.

  • Utilisez la zone <kafka_admin_url> de la clé de service comme URL de base pour les demandes HTTP.
  • Utilisez la commande IBM Cloud ibmcloud iam oauth-tokens pour générer un jeton d'authentification. Placez ce jeton dans l'en-tête " Authorization " de la requête " HTTP " avec la valeur formatée comme suit : Bearer <token>. La clé d'API et les jetons JWT sont pris en charge.
  • Une documentation supplémentaire est fournie pour chaque API.

Connectivité du réseau

Par défaut, les instances Lite, Standard et Enterprise sont configurées pour être accessibles sur l'Internet public. Si vous utilisez le plan Enterprise, vous pouvez restreindre la connectivité comme suit:

Réseau privé
Si votre charge de travail s'exécute entièrement au sein de l' IBM Cloud, et que l'accès public au service n'est pas requis, les instances Event Streams peuvent être configurées pour être accessibles uniquement via le réseau privé IBM Cloud. Cette configuration offre une isolation accrue et n'entraîne pas de frais de bande passante de sortie associés au trafic public. Les instances peuvent également être configurées pour être accessibles sur les réseaux public et privé IBM Cloud.
Restrictions basées sur le contexte
Vous pouvez définir des règles d'accès qui limitent les emplacements réseau à partir lesquels les connexions sont acceptées en fonction de certaines caractéristiques. Par exemple, le type de réseau, les plages d'adresses IP, le VPC ou d'autres services.

Pour plus d'informations, voir Restriction de l'accès au réseau.

Accès à une instance d'entreprise sur le réseau privé à partir de l'infrastructure classique

Pour accéder à votre instance Enterprise sur le réseau privé pour les charges de travail déployées sur l'infrastructure classique IBM Cloud, les fonctions VRF (Virtual Route Forwarding) et Service Endpoints doivent être activées dans votre compte. Pour plus d'informations, voir Restriction de l'accès au réseau.

Accès à une instance Enterprise sur le réseau privé à partir d'un VPC

Pour que les charges de travail déployées dans un VPC IBM Cloud puissent accéder à votre instance Enterprise sur le réseau privé, un noeud final privé virtuel (VPE) doit être créé dans le VPC:

  1. Dans la console d' IBM Cloud, cliquez sur l'icône de menu et sélectionnez Infrastructure VPC > Réseau > Passerelles de point de terminaison privé virtuel.
  2. Créez un VPE pour votre instance Event Streams en suivant les conseils de la rubrique A propos des passerelles de points d'extrémité virtuels privés.
  3. Une fois que vous avez créé votre noeud final privé virtuel, patientez quelques minutes pour que le nouveau noeud final privé virtuel et le nouveau pDNS terminent le processus et soient opérationnels dans votre cloud privé virtuel. La fin de l'opération est confirmée lorsque vous voyez une adresse IP s'afficher dans la vue détaillée du VPE.

Accès à une instance Enterprise sur le réseau privé depuis l'extérieur de IBM Cloud

Des solutions telles que Direct Link 2.0 peuvent être utilisées pour établir une connexion entre un réseau externe, tel qu'un centre de données sur site, et le réseau privé IBM Cloud. Toutefois, lorsque vous traitez des charges de travail fonctionnant sur un réseau externe, il est essentiel de prendre en compte des facteurs supplémentaires pour garantir la réussite de la connexion à Kafka. Notez que ces considérations ne s'appliquent pas aux charges de travail HTTP.

Les détails de noeud final privé alloués à votre instance (comme décrit dans la clé de service) doivent pouvoir être résolus et routables à partir du réseau dans lequel s'exécute la charge de travail. Il n'est pas possible de spécifier d'autres entrées de nom d'hôte dans les propriétés bootstrap.servers de la charge de travail pour acheminer le trafic à partir du réseau externe.

La raison de ce comportement est le processus de connexion en deux étapes de Kafka. Dans l'étape initiale, les noms d'hôte fournis dans la propriété bootstrap.servers du client sont utilisés pour établir la première connexion d'amorçage. Cependant, le serveur répond ensuite au client avec les détails du nom d'hôte de noeud final réel qu'il utilise. Ces détails de nom d'hôte sont les détails de noeud final privé alloués à l'origine à votre instance et ne peuvent pas être modifiés. Par conséquent, les détails doivent pouvoir être résolus et routables directement à partir du réseau externe.

Pour plus d'informations, voir Accéder aux points de terminaison API privés à partir d'un réseau local en utilisant IBM Cloud Direct Link.

Etape suivante

Maintenant que vous disposez des informations de connexion et d'identification, vous pouvez choisir un client d' Kafka. Pour plus d'informations, voir Utilisation de l'API Kafka.