Usar um pipeline do OpenSearch Ingestion com o Amazon Managed Streaming for Apache Kafka
Você pode usar o plug-in Kafka
Tópicos
Pré-requisitos do Amazon MSK provisionados
Antes de criar o pipeline da Ingestão do OpenSearch, execute as seguintes etapas:
-
Crie um cluster provisionado do Amazon MSK seguindo as etapas em Criar um cluster no Guia do desenvolvedor do Amazon Managed Streaming para Apache Kafka. Para o tipo Broker, escolha qualquer opção, exceto os tipos
t3, pois eles não são compatíveis com o OpenSearch Ingestion. -
Depois que o cluster tiver um status Ativo, siga as etapas em Ativar a conectividade de várias VPCs.
-
Siga as etapas em Anexar uma política de cluster ao cluster MSK para anexar uma das políticas a seguir, dependendo se o cluster e o pipeline estão na mesma Conta da AWS. Esta política permite que a Ingestão do OpenSearch crie uma conexão AWS PrivateLink com seu cluster do Amazon MSK e leia dados de tópicos do Kafka. Lembre-se de atualizar o
resourcecom seu próprio ARN.As políticas a seguir se aplicam quando o cluster e o pipeline estão na mesma Conta da AWS:
Se seu cluster do Amazon MSK estiver em uma Conta da AWS diferente do seu pipeline, anexe a política a seguir. Observe que o acesso entre contas é possível somente com clusters provisionados do Amazon MSK e não com clusters do Amazon MSK Serverless. O ARN da
principalda AWS deve ser o ARN da mesmo perfil de pipeline que você fornece à configuração do pipeline: -
Crie um tópico do Kafka seguindo as etapas em Criar um tópico. Assegure-se de que
seja um dos URLs de bootstrap do endpoint privado (VPC única). O valor deBootstrapServerString--replication-factordeve ser2ou3, com base no número de zonas que seu cluster do Amazon MSK tem. O valor de--partitionsdeve ser pelo menos10. -
Produza e consuma dados seguindo as etapas em Produzir e consumir dados. Novamente, verifique se
é um dos seus URLs de bootstrap de endpoint privado (VPC única).BootstrapServerString
Pré-requisitos do Amazon MSK Serverless
Antes de criar o pipeline da Ingestão do OpenSearch, execute as seguintes etapas:
-
Crie um cluster do Amazon MSK Serverless seguindo as etapas em Criar um cluster do MSK Serverless no Guia do desenvolvedor do Amazon Managed Streaming para Apache Kafka.
-
Depois que o cluster tiver um status Ativo, siga as etapas em Anexar uma política de cluster ao cluster do MSK para anexar a política a seguir. Lembre-se de atualizar o
resourcecom seu próprio ARN.Esta política permite que a Ingestão do OpenSearch crie uma conexão AWS PrivateLink com seu cluster do Amazon MSK Serverless e leia dados de tópicos do Kafka. Essa política se aplica quando seu cluster e pipeline estão na mesma Conta da AWS, o que deve ser verdade, pois o Amazon MSK Serverless não é compatível com o acesso entre contas.
-
Crie um tópico do Kafka seguindo as etapas em Criar um tópico. Verifique se
é um dos seus URLs de bootstrap do Simple Authentication and Security Layer (SASL) do IAM. O valor deBootstrapServerString--replication-factordeve ser2ou3, com base no número de zonas que seu cluster do Amazon MSK Serverless tem. O valor de--partitionsdeve ser pelo menos10. -
Produza e consuma dados seguindo as etapas em Produzir e consumir dados. Novamente, verifique se
é um dos seus URLs de bootstrap do Simple Authentication and Security Layer (SASL) do IAM.BootstrapServerString
Etapa 1: configurar o perfil de pipeline
Depois de configurar seu cluster provisionado ou sem servidor do Amazon MSK, adicione as seguintes permissões do Kafka na função do pipeline que você deseja usar na configuração do pipeline:
Etapa 2: Criar o pipeline
Em seguida, você pode configurar um pipeline de Ingestão do OpenSearch como o seguinte, que especifica o Kafka como a fonte:
version: "2" log-pipeline: source: kafka: acknowledgements: true topics: - name: "topic-name" group_id: "grouplambd-id" aws: msk: arn: "arn:aws:kafka:region:account-id:cluster/cluster-name/cluster-id" region: "us-west-2" processor: - grok: match: message: - "%{COMMONAPACHELOG}" - date: destination: "@timestamp" from_time_received: true sink: - opensearch: hosts: ["https://search-domain-endpoint.us-east-1es.amazonaws.com"] index: "index_name" aws_region: "region" aws_sigv4: true
Você pode usar um esquema do Amazon MSK pré-configurado para criar esse pipeline. Para obter mais informações, consulte Trabalhar com esquemas.
Etapa 3: (opcional) usar o registro do esquema AWS Glue
Ao usar a Ingestão do OpenSearch com o Amazon MSK, você pode usar o formato de dados AVRO para esquemas hospedados no Schema Registry do AWS Glue. Com o registro de esquema do AWS Glue, você pode descobrir, controlar e evoluir centralmente esquemas de fluxo de dados.
Para usar essa opção, habilite o esquema type na configuração do seu pipeline:
schema: type: "aws_glue"
Você também deve fornecer AWS Glue permissões de acesso de leitura em sua função de pipeline. Você pode usar a política AWS gerenciada chamada AWSGlueSchemaRegistryReadonlyAccess. Além disso, seu registro deve estar na mesma Conta da AWS e região do pipeline da Ingestão do OpenSearch.
Etapa 4: (opcional) configurar unidades computacionais (OCUs) recomendadas para o pipeline do Amazon MSK
Cada unidade computacional tem um consumidor por tópico. Os corretores equilibram as partições entre esses consumidores para um determinado tópico. No entanto, quando o número de partições é maior que o número de consumidores, o Amazon MSK hospeda várias partições em cada consumidor. A Ingestão do OpenSearch possui ajuste de escala automático integrado para aumentar a escala verticalmente, com base no uso da CPU ou número de registros pendentes no pipeline.
Para um desempenho ideal, distribua suas partições em várias unidades de computação para processamento paralelo. Se os tópicos tiverem um grande número de partições (por exemplo, mais de 96, que é o máximo de OCUs por pipeline), recomendamos que você configure um pipeline com 1 a 96 OCUs. Isso ocorre porque ele será escalado automaticamente conforme necessário. Se um tópico tiver um número baixo de partições (por exemplo, menos de 96), mantenha o máximo de unidades computacionais igual ao número de partições.
Quando um pipeline tiver mais de um tópico, escolha o tópico com o maior número de partições como referência para configurar o máximo de unidades computacionais. Ao adicionar outro pipeline com um novo conjunto de OCUs ao mesmo tópico e grupo de consumidores, você pode escalar o throughput quase linearmente.