Connexion à OCI Streams avec Apache Kafka
Découvrez comment créer une connexion à OCI Streaming avec Apache Kafka pour l'utiliser en tant que source ou cible OCI GoldenGate
Avant de commencer
Effectuez les opérations suivantes :
-
Consultez la façon dont OCI GoldenGate se connecte à la source et aux cibles.
-
Configurez les stratégies requises pour activer l'accès sécurisé au coffre et aux clés secrètes, telles que l'utilisation de clés secrètes, l'utilisation de coffres et la lecture de groupes de clés secrètes. Pour plus d'informations, reportez-vous à Stratégies minimales recommandées.
-
Si vous utilisez TLS/ mTLS, convertissez le truststore ou le truststore JKS et le keystore au format
PKCS12à utiliser dans la connexion.-
Utilisez l'utilitaire keytool du kit JDK pour effectuer la conversion au format PKCS12.
Pour le fichier de clés, l'utilitaire keytool vous invite à saisir un mot de passe, comme indiqué dans l'exemple suivant :
keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]Pour le truststore, l'utilitaire keytool vous invite à saisir un mot de passe, comme indiqué dans l'exemple suivant :
keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12] -
Après avoir converti le fichier de clés et le truststore, ajoutez les lignes suivantes au fichier de propriétés du fournisseur de portlets Kafka, puis enregistrez vos modifications :
ssl.truststore.type=PKCS12 ssl.keystore.type=PKCS12 -
Téléchargez le fichier vers les propriétés du fournisseur de la connexion dans la section Paramètres des options avancées.
-
Création de la connexion OCI Streaming source avec Apache Kafka
Pour créer la connexion OCI Streaming source avec Apache Kafka, procédez comme suit :
-
Sur la page Présentation d'OCI GoldenGate, sélectionnez Connexions.
Vous pouvez également sélectionner Créer une connexion sous la section Démarrage et passer à l'étape 3.
-
Sur la page Connexions, sélectionnez Créer une connexion.
-
Sur la page Créer une connexion, renseignez les champs comme suit :
-
Dans Nom, entrez le nom de la connexion.
-
(Facultatif) Dans Description, entrez une description permettant de distinguer la connexion des autres.
-
(Pour GoldenGate sur le multicloud uniquement) Sélectionnez votre abonnement, puis renseignez les champs suivants.
-
Dans la liste déroulante Compartiment, sélectionnez le compartiment dans lequel réside l'ancre de ressource.
-
Sélectionnez la région partenaire multicloud.
-
Sélectionnez votre zone de disponibilité Partenaire. Les options disponibles sont renseignées en fonction de la région partenaire multicloud sélectionnée.
-
-
Dans Compartiment, sélectionnez le compartiment dans lequel créer la connexion.
-
Pour Type, sélectionnez OCI Streaming with Apache Kafka dans la liste déroulante.
-
Pour les serveurs Bootstrap :
-
Saisissez le numéro d'hôte et de port du serveur de démarrage. Entrez l'adresse IP privée uniquement si le nom d'hôte ne doit pas être résolu à partir de votre sous-réseau ou s'il utilise SSL/TLS.
Remarque : si vous entrez une adresse IP privée, OCI GoldenGate réécrit l'adresse IP privée au format
ip-10-0-0-0.ociggsvc.oracle.vcn.com.A savoir : Tous les noeuds du cluster doivent avoir des noms de domaine qualifiés complets pour permettre le parcours sur des adresses privées.
-
(Facultatif) Sélectionnez + Serveur de démarrage pour ajouter un autre serveur de démarrage.
-
-
Pour le protocole de sécurité, sélectionnez l'une des options suivantes :
-
Texte normal
-
SASL sur texte brut
-
SASL sur SSL
-
SSL
Pour plus d'informations sur ces options, reportez-vous à Gestion de la sécurité de cluster.
-
-
Développez Show advanced options (Afficher les options avancées). Vous pouvez configurer les options suivantes :
-
Sécurité (Security)
-
Désélectionnez Utiliser les clés secrètes de coffre pour lesquelles vous préférez ne pas utiliser de clés secrètes de mot de passe pour cette connexion. Si cette option n'est pas sélectionnée :
-
Sélectionnez Utiliser la clé de cryptage gérée par Oracle pour laisser toutes les clés de cryptage gérées à Oracle.
-
Sélectionnez Utiliser la clé de cryptage gérée par le client pour sélectionner une clé de cryptage spécifique stockée dans OCI Vault afin de crypter vos informations d'identification de connexion.
-
-
-
Connectivité réseau
-
Adresse partagée, pour partager une adresse avec le déploiement affecté. Vous devez autoriser la connectivité à partir de l'adresse IP entrante du déploiement.
-
Adresse dédiée, pour le trafic réseau via une adresse dédiée dans le sous-réseau affecté dans votre VCN. Vous devez autoriser la connectivité à partir des adresses IP entrantes de cette connexion.
Remarque :
- Si une connexion dédiée n'est pas affectée pendant sept jours, le service la convertit en connexion partagée.
- En savoir plus sur la connectivité Oracle GoldenGate.
-
-
Paramètres
-
Si vous utilisez cette connexion pour l'extraction, glissez-déplacez ou sélectionnez le fichier Consommateur ou Propriétés du fournisseur (.properties).
-
Pour effectuer une capture à partir de Kafka, créez un fichier de propriétés Kafka Consumer (.properties) avec l'un des désérialiseurs ou convertisseurs suivants :
-
Propriétés du consommateur Kafka pour le désérialiseur JSON :
key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer -
Propriétés du consommateur Kafka pour le convertisseur JSON :
key.converter=org.apache.kafka.connect.json.JsonConverter value.converter=org.apache.kafka.connect.json.JsonConverter -
Propriétés Kafka Consumer pour le convertisseur Avro :
key.converter=io.confluent.connect.avro.AvroConverter value.converter=io.confluent.connect.avro.AvroConverter
-
-
-
Attributs de sécurité : ajoutez des attributs de sécurité pour contrôler l'accès à cette connexion à l'aide de Zero Trust Packet Routing (ZPR).
-
Balises : ajoutez des balises pour organiser vos ressources.
-
-
-
Choisissez Créer.
Une fois la connexion créée, elle apparaît dans la liste Connexions. Assurez-vous d'affecter la connexion à un déploiement pour l'utiliser en tant que réplication source.
Création de la connexion OCI Streaming cible avec Apache Kafka
Pour créer la connexion OCI Streaming cible avec Apache Kafka, procédez comme suit :
-
Sur la page Présentation d'OCI GoldenGate, sélectionnez Connexions.
Vous pouvez également sélectionner Créer une connexion sous la section Démarrage et passer à l'étape 3.
-
Sur la page Connexions, sélectionnez Créer une connexion.
-
Sur la page Créer une connexion, renseignez les champs comme suit :
-
Dans Nom, entrez le nom de la connexion.
-
(Facultatif) Dans Description, entrez une description permettant de distinguer la connexion des autres.
-
(Pour GoldenGate sur le multicloud uniquement) Sélectionnez votre abonnement, puis renseignez les champs suivants.
-
Dans la liste déroulante Compartiment, sélectionnez le compartiment dans lequel réside l'ancre de ressource.
-
Sélectionnez la région partenaire multicloud.
-
Sélectionnez votre zone de disponibilité Partenaire. Les options disponibles sont renseignées en fonction de la région partenaire multicloud sélectionnée.
-
-
Dans Compartiment, sélectionnez le compartiment dans lequel créer la connexion.
-
Pour Type, sélectionnez OCI Streaming with Apache Kafka dans la liste déroulante.
-
Pour les serveurs Bootstrap :
-
Saisissez le numéro d'hôte et de port du serveur de démarrage. Entrez l'adresse IP privée uniquement si le nom d'hôte ne doit pas être résolu à partir de votre sous-réseau ou s'il utilise SSL/TLS.
Remarque : si vous entrez une adresse IP privée, OCI GoldenGate réécrit l'adresse IP privée au format
ip-10-0-0-0.ociggsvc.oracle.vcn.com.A savoir : Tous les noeuds du cluster doivent avoir des noms de domaine qualifiés complets pour permettre le parcours sur des adresses privées.
-
(Facultatif) Sélectionnez + Serveur de démarrage pour ajouter un autre serveur de démarrage.
-
-
Pour le protocole de sécurité, sélectionnez l'une des options suivantes :
-
Texte normal
-
SASL sur texte brut
-
SASL sur SSL
-
SSL
Pour plus d'informations sur ces options, reportez-vous à Gestion de la sécurité de cluster.
-
-
Développez Show advanced options (Afficher les options avancées). Vous pouvez configurer les options suivantes :
-
Sécurité (Security)
-
Désélectionnez Utiliser les clés secrètes de coffre pour lesquelles vous préférez ne pas utiliser de clés secrètes de mot de passe pour cette connexion. Si cette option n'est pas sélectionnée :
-
Sélectionnez Utiliser la clé de cryptage gérée par Oracle pour laisser toutes les clés de cryptage gérées à Oracle.
-
Sélectionnez Utiliser la clé de cryptage gérée par le client pour sélectionner une clé de cryptage spécifique stockée dans OCI Vault afin de crypter vos informations d'identification de connexion.
-
-
-
Connectivité réseau
-
Adresse partagée, pour partager une adresse avec le déploiement affecté. Vous devez autoriser la connectivité à partir de l'adresse IP entrante du déploiement.
-
Adresse dédiée, pour le trafic réseau via une adresse dédiée dans le sous-réseau affecté dans votre VCN. Vous devez autoriser la connectivité à partir des adresses IP entrantes de cette connexion.
Remarque :
- Si une connexion dédiée n'est pas affectée pendant sept jours, le service la convertit en connexion partagée.
- En savoir plus sur la connectivité Oracle GoldenGate.
-
-
Paramètres : pour utiliser la compression Snappy dans la réplication Kafka, glissez-déplacez ou sélectionnez Propriétés du fournisseur, et modifiez les paramètres de réplication comme indiqué dans Utilisation de la réplication Kafka OCI GoldenGate (Confluent) de compression.
-
Attributs de sécurité : ajoutez des attributs de sécurité pour contrôler l'accès à cette connexion à l'aide de Zero Trust Packet Routing (ZPR).
-
Balises : ajoutez des balises pour organiser vos ressources.
-
-
-
Choisissez Créer.
Une fois la connexion créée, elle apparaît dans la liste Connexions. Assurez-vous d'affecter la connexion à un déploiement pour l'utiliser en tant que source ou cible dans une réplication.
Etapes suivantes
Résoudre les erreurs de connexion Kafka
La plupart des problèmes de connexion entraînent des erreurs TimeoutException. Exemple :
A failure occurred sending a message to Kafka to topic [ggstest] org.apache.kafka.common.errors.TimeoutException: Topic ggstest not present in metadata after 60000/120000 ms.
Si ce message s'affiche dans votre fichier de rapport Replicat, vous pouvez :
-
Assurez-vous que la rubrique cible est présente ou vérifiez que la création automatique de rubrique est activée dans les paramètres Kafka cible.
-
Assurez-vous qu'aucune règle de pare-feu ne bloque le trafic.
-
Si vous exécutez Kafka sur OCI avec une adresse privée, assurez-vous d'utiliser le nom de domaine qualifié complet interne comme serveur d'amorçage dans server.properties et dans la connexion Kafka.
-
Si vous êtes connecté à un cloud Confluent avec des adresses privées :
-
Assurez-vous que les zones DNS et les enregistrements DNS sont configurés correctement dans OCI et dans le cloud tiers cible.
-
Assurez-vous que la connexion réseau entre OCI et le cloud cible fonctionne correctement.
-
Vérifiez que vous pouvez vous connecter au cloud Confluent cible avec OpenSSL (
openssl s_client -connect <bootstrap>) à partir d'une machine virtuelle OCI exécutée sur le même sous-réseau connecté au cloud tiers. -
Testez que vous pouvez publier ou utiliser des messages à partir d'un client Kafka exécuté sur OCI au sein du même sous-réseau connecté au cloud tiers. En cas d'échec, vérifiez les paramètres réseau sur OCI et le cloud tiers.
-