Utilizzo di una pipeline OpenSearch di ingestione con Kafka - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di una pipeline OpenSearch di ingestione con Kafka

Puoi utilizzare una pipeline di OpenSearch Ingestion con Kafka autogestito per lo streaming di dati verso domini Amazon OpenSearch Service e raccolte Serverless. OpenSearch OpenSearch Ingestion supporta configurazioni di rete pubbliche e private per lo streaming di dati da Kafka autogestito a domini o raccolte gestite da Service o Serverless. OpenSearch OpenSearch

Connettività ai cluster Kafka pubblici

È possibile utilizzare le pipeline di OpenSearch Ingestion per migrare i dati da un cluster Kafka autogestito con una configurazione pubblica, il che significa che il nome di dominio può essere risolto pubblicamente. DNS A tale scopo, configurate una pipeline di OpenSearch ingestion con Kafka autogestito come origine e Service o Serverless come destinazione. OpenSearch OpenSearch Questo elabora i dati di streaming da un cluster di origine autogestito a un dominio o raccolta di destinazione gestito. AWS

Prerequisiti

Prima di creare la pipeline OpenSearch di Ingestion, effettuate le seguenti operazioni:

  1. Crea un cluster Kafka autogestito con una configurazione di rete pubblica. Il cluster deve contenere i dati che desideri inserire nel servizio. OpenSearch

  2. Crea un dominio OpenSearch di servizio o una raccolta OpenSearch Serverless verso cui migrare i dati. Per ulteriori informazioni, consulta Creazione di domini di OpenSearch servizio e Creazione di raccolte.

  3. Configura l'autenticazione sul tuo cluster autogestito con. AWS Secrets Manager Abilita la rotazione dei segreti seguendo la procedura descritta in Ruota AWS Secrets Manager i segreti.

  4. Allega una politica basata sulle risorse al tuo dominio o una politica di accesso ai dati alla tua raccolta. Queste politiche di accesso consentono a OpenSearch Ingestion di scrivere dati dal cluster autogestito al dominio o alla raccolta.

    Il seguente esempio di policy di accesso al dominio consente al ruolo pipeline, creato nel passaggio successivo, di scrivere dati su un dominio. Assicurati di aggiornarli resource con i tuoi. ARN

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{pipeline-account-id}:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}:{account-id}:domain/domain-name" ] } ] }

    Per creare un IAM ruolo con le autorizzazioni corrette per accedere ai dati di scrittura nella raccolta o nel dominio, vedi Autorizzazioni richieste per i domini e Autorizzazioni richieste per le raccolte.

Fase 1: Configurare il ruolo della pipeline

Dopo aver impostato i prerequisiti della pipeline Kafka, configura il ruolo della pipeline che desideri utilizzare nella configurazione della pipeline e aggiungi l'autorizzazione alla scrittura su un dominio di OpenSearch servizio o una raccolta OpenSearch Serverless, nonché l'autorizzazione a leggere segreti da Secrets Manager.

Fase 2: Creare la pipeline

È quindi possibile configurare una pipeline OpenSearch di ingestione come la seguente, che specifica Kafka come origine.

È possibile specificare più domini di OpenSearch servizio come destinazioni per i dati. Questa funzionalità consente il routing o la replica condizionale dei dati in entrata in più domini di servizio. OpenSearch

Puoi anche migrare i dati da un cluster Confluent Kafka di origine a una raccolta Serverless. OpenSearch VPC Assicurati di fornire una politica di accesso alla rete all'interno della configurazione della pipeline. È possibile utilizzare un registro di schemi Confluent per definire uno schema Confluent.

version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "topic-name" group_id: "group-id" bootstrap_servers: - "bootstrap-server.us-west-2.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-west-2.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-west-2.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-west-2" index: "confluent-index" extension: aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" schema-secret: secret_id: "my-self-managed-kafka-schema" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role"

È possibile utilizzare un blueprint preconfigurato per creare questa pipeline. Per ulteriori informazioni, consulta Utilizzo dei blueprint per creare una pipeline.

Connettività ai cluster Kafka in un VPC

Puoi anche utilizzare le pipeline di OpenSearch Ingestion per migrare i dati da un cluster Kafka autogestito in esecuzione in un. VPC A tale scopo, configura una pipeline di OpenSearch ingestion con Kafka autogestito come origine e Service o Serverless come destinazione. OpenSearch OpenSearch Questo elabora i dati di streaming da un cluster di origine autogestito a un dominio o raccolta di destinazione gestito. AWS

Prerequisiti

Prima di creare la pipeline OpenSearch di Ingestion, effettuate le seguenti operazioni:

  1. Crea un cluster Kafka autogestito con una configurazione di VPC rete che contenga i dati che desideri importare in Service. OpenSearch

  2. Crea un dominio OpenSearch di servizio o una raccolta OpenSearch Serverless verso cui migrare i dati. Per ulteriori informazioni, consulta Creazione di domini di OpenSearch servizio e Creazione di raccolte.

  3. Configura l'autenticazione sul tuo cluster autogestito con. AWS Secrets Manager Abilita la rotazione dei segreti seguendo la procedura descritta in Ruota AWS Secrets Manager i segreti.

  4. Ottieni l'ID di chi ha accesso a Kafka autogestito. VPC Scegli quello che deve essere utilizzato VPC CIDR da Ingestion. OpenSearch

    Nota

    Se utilizzi il AWS Management Console per creare la tua pipeline, devi anche collegare la pipeline OpenSearch Ingestion alla tua per utilizzare Kafka VPC autogestito. Per farlo, trova la sezione Configurazione di rete, seleziona la VPC casella di controllo Allega a e scegli una delle opzioni predefinite fornite CIDR oppure selezionane una personalizzata. È possibile utilizzarne uno qualsiasi CIDR da uno spazio di indirizzi privato, come definito nella Best Current RFC Practice del 1918.

    Per fornire una personalizzazioneCIDR, seleziona Altro dal menu a discesa. Per evitare una collisione negli indirizzi IP tra OpenSearch Ingestion e Self-managed OpenSearch, assicurati che la gestione automatica OpenSearch VPC CIDR sia diversa da quella di for Ingestion. CIDR OpenSearch

  5. Allega una policy basata sulle risorse al tuo dominio o una policy di accesso ai dati alla tua raccolta. Queste politiche di accesso consentono a OpenSearch Ingestion di scrivere dati dal cluster autogestito al dominio o alla raccolta.

    Il seguente esempio di policy di accesso al dominio consente al ruolo pipeline, creato nel passaggio successivo, di scrivere dati su un dominio. Assicurati di aggiornarli resource con i tuoi. ARN

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{pipeline-account-id}:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}:{account-id}:domain/domain-name" ] } ] }

    Per creare un IAM ruolo con le autorizzazioni corrette per accedere ai dati di scrittura nella raccolta o nel dominio, vedi Autorizzazioni richieste per i domini e Autorizzazioni richieste per le raccolte.

Fase 1: Configurare il ruolo della pipeline

Dopo aver impostato i prerequisiti della pipeline, configura il ruolo della pipeline che desideri utilizzare nella configurazione della pipeline e aggiungi le seguenti autorizzazioni nel ruolo:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": ["arn:aws:secretsmanager:{region}:{account-id}:secret:secret-name"] }, { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:{account-id}:network-interface/*", "arn:aws:ec2:*:{account-id}:subnet/*", "arn:aws:ec2:*:{account-id}:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:RequestTag/OSISManaged": "true" } } } ] }

Devi fornire le EC2 autorizzazioni Amazon di cui sopra sul IAM ruolo che utilizzi per creare la pipeline OpenSearch Ingestion, poiché la pipeline utilizza queste autorizzazioni per creare ed eliminare un'interfaccia di rete nel tuo. VPC La pipeline può accedere al cluster Kafka solo tramite questa interfaccia di rete.

Fase 2: Creare la pipeline

È quindi possibile configurare una pipeline OpenSearch di ingestione come la seguente, che specifica Kafka come origine.

È possibile specificare più domini di OpenSearch servizio come destinazioni per i dati. Questa funzionalità consente il routing o la replica condizionale dei dati in entrata in più domini di servizio. OpenSearch

Puoi anche migrare i dati da un cluster Confluent Kafka di origine a una raccolta Serverless. OpenSearch VPC Assicurati di fornire una politica di accesso alla rete all'interno della configurazione della pipeline. È possibile utilizzare un registro di schemi Confluent per definire uno schema Confluent.

version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "topic-name" group_id: "group-id" bootstrap_servers: - "bootstrap-server.us-west-2.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-west-2.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-west-2.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-west-2" index: "confluent-index" extension: aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" schema-secret: secret_id: "my-self-managed-kafka-schema" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role"

È possibile utilizzare un blueprint preconfigurato per creare questa pipeline. Per ulteriori informazioni, consulta Utilizzo dei blueprint per creare una pipeline.