Utilizzo di una pipeline OpenSearch di ingestione con Confluent Cloud 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 Confluent Cloud Kafka

Puoi utilizzare una pipeline di OpenSearch ingestion per lo streaming di dati dai cluster Confluent Cloud Kafka ai domini Amazon Service e alle raccolte Serverless. OpenSearch OpenSearch OpenSearch Ingestion supporta configurazioni di rete pubbliche e private per lo streaming di dati dai cluster Confluent Cloud Kafka a domini o raccolte gestiti da Service o Serverless. OpenSearch OpenSearch

Connettività ai cluster Kafka pubblici di Confluent Cloud

Puoi utilizzare le pipeline di OpenSearch Ingestion per migrare i dati da un cluster Confluent Cloud Kafka con una configurazione pubblica, il che significa che il nome di dominio può essere risolto pubblicamente. DNS A tale scopo, configura una pipeline di OpenSearch Ingestion con il cluster Kafka pubblico Confluent Cloud 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 di cluster Confluent Cloud Kafka che funge da fonte. Il cluster deve contenere 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 Confluent Cloud Kafka con. AWS Secrets ManagerAbilita la rotazione dei segreti seguendo i passaggi in Ruota i segreti. AWS Secrets Manager

  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 configurato i prerequisiti della pipeline del cluster Confluent Cloud 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.

Per gestire l'interfaccia di rete sono necessarie le seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "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" } } } ] }

Le seguenti sono le autorizzazioni necessarie per leggere i segreti del AWS Secrets Manager servizio:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": ["secretsmanager:GetSecretValue"], "Resource": ["arn:aws:secretsmanager:<region:<account-id>:secret:<,secret-name>"] } ] }

Per scrivere su un dominio Amazon OpenSearch Service sono necessarie le seguenti autorizzazioni:

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

Fase 2: Creare la pipeline

Puoi quindi configurare una pipeline di OpenSearch Ingestion come la seguente, che specifica Confluent Cloud Kafka come origine.

Puoi specificare più OpenSearch domini di servizio come destinazioni per i tuoi 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 Confluent Cloud Kafka in un VPC

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

OpenSearch Ingestion supporta i cluster Confluent Cloud Kafka configurati in tutte le modalità di rete supportate in Confluent. Le seguenti modalità di configurazione di rete sono supportate come origine in Ingestion: OpenSearch

  • AWS VPCpeering

  • AWS PrivateLink per cluster dedicati

  • AWS PrivateLink per cluster aziendali

  • AWS Transit Gateway

Prerequisiti

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

  1. Crea un cluster Confluent Cloud Kafka con una configurazione di VPC rete che contenga i dati che desideri importare nel servizio. OpenSearch

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

  3. Configura l'autenticazione sul tuo cluster Confluent Cloud Kafka con. AWS Secrets ManagerAbilita la rotazione dei segreti seguendo i passaggi in Ruota i segreti. AWS Secrets Manager

  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 per il 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.