Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'un pipeline d' OpenSearch ingestion avec Confluent Cloud Kafka
Vous pouvez utiliser un pipeline d' OpenSearch ingestion pour diffuser des données depuis des clusters Confluent Cloud Kafka vers des domaines Amazon OpenSearch Service et des collections OpenSearch Serverless. OpenSearch Ingestion prend en charge les configurations de réseau public et privé pour le streaming de données depuis les clusters Confluent Cloud Kafka vers des domaines ou des collections gérés par OpenSearch Service ou OpenSearch Serverless.
Connectivité aux clusters Kafka publics de Confluent Cloud
Vous pouvez utiliser des pipelines d' OpenSearch ingestion pour migrer les données d'un cluster Confluent Cloud Kafka avec une configuration publique, ce qui signifie que le nom DNS du domaine peut être résolu publiquement. Pour ce faire, configurez un pipeline d' OpenSearch ingestion avec le cluster Kafka public Confluent Cloud comme source et OpenSearch Service ou OpenSearch Serverless comme destination. Cela traite vos données de streaming depuis un cluster source autogéré vers un domaine ou une collection de destination AWS géré.
Prérequis
Avant de créer votre pipeline OpenSearch d'ingestion, effectuez les étapes suivantes :
-
Créez un cluster de clusters Confluent Cloud Kafka faisant office de source. Le cluster doit contenir les données que vous souhaitez ingérer dans OpenSearch Service.
-
Créez un domaine OpenSearch de service ou une collection OpenSearch sans serveur vers lequel vous souhaitez migrer les données. Pour plus d’informations, consultez Création de domaines OpenSearch de service et Créer des collections.
-
Configurez l'authentification sur votre cluster Confluent Cloud Kafka avec. AWS Secrets Manager Activez la rotation des secrets en suivant les étapes décrites dans Rotation AWS Secrets Manager des secrets.
-
Associez une politique basée sur les ressources à votre domaine ou une politique d'accès aux données à votre collection. Ces politiques d'accès permettent à OpenSearch Ingestion d'écrire des données de votre cluster autogéré vers votre domaine ou votre collection.
L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline, que vous créez à l'étape suivante, d'écrire des données dans un domaine. Assurez-vous de le mettre à jour
resource
avec votre propre ARN.Pour créer un rôle IAM doté des autorisations appropriées pour accéder aux données d'écriture de la collection ou du domaine, consultezConfiguration des rôles et des utilisateurs dans Amazon OpenSearch Ingestion.
Étape 1 : configurer le rôle du pipeline
Après avoir défini les prérequis de votre pipeline de cluster Confluent Cloud Kafka, configurez le rôle de pipeline que vous souhaitez utiliser dans la configuration de votre pipeline et ajoutez l'autorisation d'écrire dans un domaine de OpenSearch service ou une collection OpenSearch sans serveur, ainsi que l'autorisation de lire les secrets de Secrets Manager.
Les autorisations suivantes sont nécessaires pour gérer l'interface réseau :
L'autorisation requise pour lire les secrets du AWS Secrets Manager service est la suivante :
Les autorisations suivantes sont nécessaires pour écrire sur un domaine Amazon OpenSearch Service :
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:role/pipeline-role
" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:region
:account-id
:domain/domain-name
/*" } ] }
Étape 2 : Création du pipeline
Vous pouvez ensuite configurer un pipeline d' OpenSearch ingestion comme celui-ci, qui spécifie votre Confluent Cloud Kafka comme source.
Vous pouvez spécifier plusieurs domaines OpenSearch de service comme destinations pour vos données. Cette fonctionnalité permet le routage conditionnel ou la réplication des données entrantes dans plusieurs domaines OpenSearch de service.
Vous pouvez également migrer les données d'un cluster Confluent Kafka source vers une collection VPC OpenSearch sans serveur. Assurez-vous de fournir une politique d'accès au réseau dans la configuration du pipeline. Vous pouvez utiliser un registre de schémas Confluent pour définir un schéma Confluent.
version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "
topic-name
" group_id: "group-id
" bootstrap_servers: - "bootstrap-server
.us-east-1
.aws.private.confluent.cloud:9092" authentication: sasl: plain: username: ${aws_secrets:confluent-kafka-secret:username
} password: ${aws_secrets:confluent-kafka-secret:password
} schema: type: confluent registry_url: https://my-registry
.us-east-1
.aws.confluent.cloud api_key: "${{aws_secrets:schema-secret:schema_registry_api_key
}}" api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret
}}" basic_auth_credentials_source: "USER_INFO" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"] aws: region: "us-east-1
" aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret
" region: "us-east-1
" schema-secret: secret_id: "my-self-managed-kafka-schema
" region: "us-east-1
"
Vous pouvez utiliser un plan préconfiguré pour créer ce pipeline. Pour de plus amples informations, veuillez consulter Travailler avec des plans.
Connectivité aux clusters Confluent Cloud Kafka dans un VPC
Vous pouvez également utiliser des pipelines OpenSearch d'ingestion pour migrer les données d'un cluster Confluent Cloud Kafka exécuté dans un VPC. Pour ce faire, configurez un pipeline d' OpenSearch ingestion avec un cluster Confluent Cloud Kafka comme source et OpenSearch Service ou OpenSearch Serverless comme destination. Cela traite vos données de streaming depuis un cluster source Confluent Cloud Kafka vers un domaine ou une AWS collection de destination géré.
OpenSearch Ingestion prend en charge les clusters Confluent Cloud Kafka configurés dans tous les modes réseau pris en charge dans Confluent. Les modes de configuration réseau suivants sont pris en charge en tant que source dans OpenSearch Ingestion :
-
AWS Appairage de VPC
-
AWS PrivateLink pour les clusters dédiés
-
AWS PrivateLink pour les clusters d'entreprise
-
AWS Transit Gateway
Prérequis
Avant de créer votre pipeline OpenSearch d'ingestion, effectuez les étapes suivantes :
-
Créez un cluster Confluent Cloud Kafka avec une configuration réseau VPC contenant les données que vous souhaitez ingérer dans Service. OpenSearch
-
Créez un domaine OpenSearch de service ou une collection OpenSearch sans serveur vers lequel vous souhaitez migrer les données. Pour plus d'informations, voir Pour plus d'informations, voir Création de domaines OpenSearch de service etCréer des collections.
-
Configurez l'authentification sur votre cluster Confluent Cloud Kafka avec. AWS Secrets Manager Activez la rotation des secrets en suivant les étapes décrites dans Rotation AWS Secrets Manager des secrets.
-
Obtenez l'ID du VPC qui a accès au cluster Confluent Cloud Kafka. Choisissez le VPC CIDR à utiliser par Ingestion. OpenSearch
Note
Si vous utilisez le AWS Management Console pour créer votre pipeline, vous devez également attacher votre pipeline d' OpenSearch ingestion à votre VPC afin d'utiliser le cluster Confluent Cloud Kafka. Pour ce faire, recherchez la section Configuration réseau, cochez la case Attacher au VPC et choisissez votre CIDR parmi l'une des options par défaut fournies, ou sélectionnez le vôtre. Vous pouvez utiliser n'importe quel CIDR à partir d'un espace d'adressage privé tel que défini dans la RFC 1918 Best Current
Practice. Pour fournir un CIDR personnalisé, sélectionnez Autre dans le menu déroulant. Pour éviter une collision d'adresses IP entre OpenSearch l'ingestion et l'adresse autogérée OpenSearch, assurez-vous que le CIDR OpenSearch VPC autogéré est différent du CIDR pour l'ingestion. OpenSearch
-
Associez une politique basée sur les ressources à votre domaine ou une politique d'accès aux données à votre collection. Ces politiques d'accès permettent à OpenSearch Ingestion d'écrire des données de votre cluster autogéré vers votre domaine ou votre collection.
Note
Si vous utilisez Confluent Cloud Kafka AWS PrivateLink pour connecter votre Confluent, vous devez configurer les options DHCP du VPC. Les noms d'hôte DNS et la résolution DNS doivent être activés.
Plus précisément, utilisez les valeurs du jeu d'options suivantes :
domain-name: aws.private.confluent.cloud domain-name-servers: AmazonProvidedDNS
Cette modification garantit que la résolution DNS pour le point de PrivateLink terminaison Confluent fonctionne correctement au sein du VPC.
L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline, que vous créez à l'étape suivante, d'écrire des données dans un domaine. Assurez-vous de le mettre à jour
resource
avec votre propre ARN.Pour créer un rôle IAM doté des autorisations appropriées pour accéder aux données d'écriture de la collection ou du domaine, consultezConfiguration des rôles et des utilisateurs dans Amazon OpenSearch Ingestion.
Étape 1 : configurer le rôle du pipeline
Une fois les prérequis de votre pipeline configurés, configurez le rôle de pipeline que vous souhaitez utiliser dans la configuration de votre pipeline et ajoutez-y les autorisations suivantes :
Vous devez fournir les EC2 autorisations Amazon ci-dessus sur le rôle IAM que vous utilisez pour créer le pipeline d' OpenSearch ingestion, car le pipeline utilise ces autorisations pour créer et supprimer une interface réseau dans votre VPC. Le pipeline ne peut accéder au cluster Kafka que via cette interface réseau.
Étape 2 : Création du pipeline
Vous pouvez ensuite configurer un pipeline d' OpenSearch ingestion comme le suivant, qui spécifie Kafka comme source.
Vous pouvez spécifier plusieurs domaines OpenSearch de service comme destinations pour vos données. Cette fonctionnalité permet le routage conditionnel ou la réplication des données entrantes dans plusieurs domaines OpenSearch de service.
Vous pouvez également migrer les données d'un cluster Confluent Kafka source vers une collection VPC OpenSearch sans serveur. Assurez-vous de fournir une politique d'accès au réseau dans la configuration du pipeline. Vous pouvez utiliser un registre de schémas Confluent pour définir un schéma Confluent.
version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "
topic-name
" group_id: "group-id
" bootstrap_servers: - "bootstrap-server
.us-east-1
.aws.private.confluent.cloud:9092" authentication: sasl: plain: username: ${aws_secrets:confluent-kafka-secret:username
} password: ${aws_secrets:confluent-kafka-secret:password
} schema: type: confluent registry_url: https://my-registry
.us-east-1
.aws.confluent.cloud api_key: "${{aws_secrets:schema-secret:schema_registry_api_key
}}" api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret
}}" basic_auth_credentials_source: "USER_INFO" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"] aws: region: "us-east-1
" index: "confluent-index
" extension: aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret
" region: "us-east-1
" schema-secret: secret_id: "my-self-managed-kafka-schema
" region: "us-east-2
"