Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usando um pipeline OpenSearch de ingestão com o Kafka

Modo de foco
Usando um pipeline OpenSearch de ingestão com o Kafka - OpenSearch Serviço Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Você pode usar o plug-in Kafka para transmitir dados de clusters autogerenciados do Kafka para domínios do OpenSearch Amazon Service e coleções Serverless. OpenSearch OpenSearch A ingestão oferece suporte a conexões de clusters do Kafka configurados com redes públicas ou privadas (VPC). Este tópico descreve os pré-requisitos e as etapas para configurar um pipeline de ingestão, incluindo a definição de configurações de rede e métodos de autenticação, como TLS mútuo (mTLS), SASL/SCRAM ou IAM.

Migração de dados de clusters públicos do Kafka

Você pode usar pipelines de OpenSearch ingestão para migrar dados de um cluster público autogerenciado do Kafka, o que significa que o nome DNS do domínio pode ser resolvido publicamente. Para fazer isso, configure um pipeline de OpenSearch ingestão com Kafka autogerenciado como origem e OpenSearch Service ou OpenSearch Serverless como destino. Isso processa seus dados de streaming de um cluster de origem autogerenciado para um domínio ou AWS coleção de destino gerenciado.

Pré-requisitos

Antes de criar seu pipeline OpenSearch de ingestão, execute as seguintes etapas:

  1. Crie um cluster Kafka autogerenciado com uma configuração de rede pública. O cluster deve conter os dados que você deseja ingerir no OpenSearch Service.

  2. Crie um domínio OpenSearch de serviço ou uma coleção OpenSearch sem servidor para onde você deseja migrar dados. Para obter mais informações, consulte Criação OpenSearch de domínios de serviço e Criação de coleções.

  3. Configure a autenticação em seu cluster autogerenciado com AWS Secrets Manager. Ative a alternância de segredos seguindo as etapas em Alternar segredos do AWS Secrets Manager.

  4. Anexe uma política baseada em recursos ao seu domínio ou uma política de acesso a dados à sua coleção. Essas políticas de acesso permitem que o OpenSearch Inestion grave dados do seu cluster autogerenciado em seu domínio ou coleção.

    O exemplo de política de acesso ao domínio a seguir permite que a função de pipeline, que você cria na próxima etapa, grave dados em um domínio. Lembre-se de atualizar o resource com seu próprio 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" ] } ] }

    Para criar uma função do IAM com as permissões corretas para acessar dados de gravação na coleção ou no domínio, consulteConfigurando funções e usuários na Amazon OpenSearch Ingestion.

Etapa 1: reconfigurar a função do pipeline

Depois de configurar os pré-requisitos do pipeline do Kafka, configure a função do pipeline que você deseja usar na configuração do pipeline e adicione permissão para gravar em um domínio de OpenSearch serviço ou coleção OpenSearch sem servidor, bem como permissão para ler segredos do Secrets Manager.

Etapa 2: Criar o pipeline

Em seguida, você pode configurar um pipeline OpenSearch de ingestão como o seguinte, que especifica o Kafka como a origem.

Você pode especificar vários domínios OpenSearch de serviço como destinos para seus dados. Esse recurso permite o roteamento condicional ou a replicação de dados recebidos em vários domínios de serviço. OpenSearch

Você também pode migrar dados de um cluster de origem do Confluent Kafka para uma coleção de VPC sem servidor. OpenSearch Forneça uma política de acesso à rede na configuração do pipeline. Você pode usar um registro de esquema do Confluent para definir um esquema do 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"

É possível usar um esquema pré-configurado para criar esse pipeline. Para obter mais informações, consulte Usar esquemas para criar um pipeline.

Migração de dados de clusters do Kafka em uma VPC

Você também pode usar pipelines OpenSearch de ingestão para migrar dados de um cluster Kafka autogerenciado executado em uma VPC. Para fazer isso, configure um pipeline de OpenSearch ingestão com Kafka autogerenciado como origem e OpenSearch Service ou OpenSearch Serverless como destino. Isso processa seus dados de streaming de um cluster de origem autogerenciado para um domínio ou AWS coleção de destino gerenciado.

Pré-requisitos

Antes de criar seu pipeline OpenSearch de ingestão, execute as seguintes etapas:

  1. Crie um cluster Kafka autogerenciado com uma configuração de rede VPC que contenha os dados que você deseja ingerir no Service. OpenSearch

  2. Crie um domínio OpenSearch de serviço ou uma coleção OpenSearch sem servidor para onde você deseja migrar dados. Para obter mais informações, consulte Criação OpenSearch de domínios de serviço e Criação de coleções.

  3. Configure a autenticação em seu cluster autogerenciado com AWS Secrets Manager. Habilite a alternância de segredos seguindo as etapas em Alternar segredos do AWS Secrets Manager.

  4. Obtenha o ID da VPC que tem acesso ao Kafka autogerenciado. Escolha o CIDR da VPC a ser usado pela ingestão. OpenSearch

    nota

    Se você estiver usando o AWS Management Console para criar seu pipeline, você também deve anexar seu pipeline de OpenSearch ingestão à sua VPC para usar o Kafka autogerenciado. Para fazer isso, encontre a seção Configuração de rede, marque a caixa de seleção Anexar à VPC e escolha seu CIDR em uma das opções padrão fornecidas ou selecione a sua própria. Você pode usar qualquer CIDR de um espaço de endereço privado, conforme definido em Melhor prática atual RFC 1918.

    Para fornecer um CIDR personalizado, selecione Outro no menu suspenso. Para evitar uma colisão de endereços IP entre OpenSearch ingestão e autogerenciamento OpenSearch, certifique-se de que o CIDR autogerenciado da OpenSearch VPC seja diferente do CIDR para ingestão. OpenSearch

  5. Anexe uma política baseada em recursos ao seu domínio ou uma política de acesso a dados à sua coleção. Essas políticas de acesso permitem que o OpenSearch Inestion grave dados do seu cluster autogerenciado em seu domínio ou coleção.

    O exemplo de política de acesso ao domínio a seguir permite que a função de pipeline, que você cria na próxima etapa, grave dados em um domínio. Lembre-se de atualizar o resource com seu próprio 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" ] } ] }

    Para criar uma função do IAM com as permissões corretas para acessar dados de gravação na coleção ou no domínio, consulteConfigurando funções e usuários na Amazon OpenSearch Ingestion.

Etapa 1: configurar a função do pipeline

Depois de configurar os pré-requisitos do pipeline, configure o perfil de pipeline que você deseja usar na configuração do pipeline e adicione as seguintes permissões nesse perfil:

{ "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" } } } ] }

Você deve fornecer as EC2 permissões da Amazon acima sobre a função do IAM que você usa para criar o pipeline de OpenSearch ingestão porque o pipeline usa essas permissões para criar e excluir uma interface de rede em sua VPC. O pipeline só pode acessar o cluster do Kafka por meio dessa interface de rede.

Etapa 2: Criar o pipeline

Em seguida, você pode configurar um pipeline OpenSearch de ingestão como o seguinte, que especifica o Kafka como a origem.

Você pode especificar vários domínios OpenSearch de serviço como destinos para seus dados. Esse recurso permite o roteamento condicional ou a replicação de dados recebidos em vários domínios de serviço. OpenSearch

Você também pode migrar dados de um cluster de origem do Confluent Kafka para uma coleção de VPC sem servidor. OpenSearch Forneça uma política de acesso à rede na configuração do pipeline. Você pode usar um registro de esquema do Confluent para definir um esquema do 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"

É possível usar um esquema pré-configurado para criar esse pipeline. Para obter mais informações, consulte Usar esquemas para criar um pipeline.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.