Criação de pipelines de Ingestão do Amazon OpenSearch
O pipeline é o mecanismo que a Ingestão do Amazon OpenSearch usa para mover dados da fonte (de onde vêm os dados) para o coletor (para onde vão os dados). Na Ingestão do OpenSearch, o coletor sempre será um único domínio do Amazon OpenSearch Service, enquanto a fonte dos dados pode ser clientes como Amazon S3, Fluent Bit ou OpenTelemetry Collector.
Para obter mais informações, consulte Pipelines
Tópicos
Pré-requisitos e perfil do IAM necessário
Para criar um pipeline de Ingestão do OpenSearch, você deve ter os seguintes recursos:
-
Um perfil do IAM, denominado perfil do pipeline, que o OpenSearch Ingestion assume para gravar no coletor. Você pode criar esse perfil com antecedência ou o OpenSearch Ingestion pode criá-lo automaticamente enquanto você está criando o pipeline.
-
Um domínio do OpenSearch Service ou uma Coleção da tecnologia sem servidor do OpenSearch para atuar como coletor. Se você estiver escrevendo para um domínio, ele deve estar executando o OpenSearch 1.0 ou posterior ou o Elasticsearch 7.4 ou posterior. O coletor deve ter uma política de acesso que conceda as permissões apropriadas à sua perfil de pipeline do IAM.
Para obter instruções sobre como criar esses recursos, consulte os tópicos a seguir:
nota
Se você estiver escrevendo para um domínio que usa controle de acesso detalhado, há etapas extras que você precisa concluir. Consulte Mapear o perfil de pipeline (somente para domínios que usam o controle de acesso refinado).
Permissões obrigatórias do IAM
A Ingestão do OpenSearch usa as seguintes permissões do IAM para criar pipelines:
-
osis:CreatePipeline– crie um pipeline. -
osis:ValidatePipeline– verifica se a configuração do pipeline é válida. -
iam:CreateRoleeiam:AttachPolicy: deixe o OpenSearch Ingestion criar automaticamente o perfil de pipeline para você. -
iam:PassRole– passa o perfil de pipeline para a Ingestão do OpenSearch para que ele possa gravar dados no domínio. Essa permissão deverá ser o recurso de perfil do pipeline ou simplesmente*se você planejar usar perfis diferentes em cada pipeline.
Por exemplo, a política a seguir concede permissão para criar um pipeline:
A Ingestão do OpenSearch também inclui uma permissão chamada osis:Ingest, que é necessária para enviar solicitações assinadas ao pipeline usando o Signature Version 4. Para obter mais informações, consulte Criação de uma função de ingestão.
nota
Além disso, o primeiro usuário a criar um pipeline em uma conta precisa ter permissões para a ação iam:CreateServiceLinkedRole. Para obter mais informações, consulte Recurso de perfil de pipeline.
Para mais informações sobre cada permissão, consulte Ações, recursos e chaves de condição para a Ingestão do OpenSearch na Referência de autorização do serviço.
Como especificar a versão do pipeline
Ao configurar um pipeline usando o editor de configuração. você deve especificar a versão principal do Data Prepperversion na configuração do pipeline:
version: "2"log-pipeline: source: ...
Quando você escolhe Criar, a Ingestão do OpenSearch determina a última versão secundária disponível da versão principal especificada e provisiona o pipeline com essa versão. Por exemplo, se você especificar version:
"2" e a versão mais recente compatível do Data Prepper for 2.1.1, a Ingestão do OpenSearch provisionará seu pipeline com a versão 2.1.1. Não exibimos publicamente a versão secundária que seu pipeline está executando.
Para atualizar seu pipeline quando uma nova versão principal do Data Prepper estiver disponível, edite a configuração do pipeline e especifique a nova versão. Você não pode fazer o downgrade de um pipeline para uma versão anterior.
nota
A Ingestão do OpenSearch não oferece suporte imediato às novas versões do Data Prepper na ocasião do lançamento. Haverá algum atraso entre o momento em que uma nova versão estará disponível publicamente e quando ela será compatível com a Ingestão do OpenSearch. Além disso, a Ingestão do OpenSearch pode explicitamente não oferecer suporte total a determinadas versões principais ou secundárias. Para obter uma lista abrangente, consulte Versões do Data Prepper compatíveis.
Sempre que você faz uma alteração no pipeline que inicia uma implantação azul/verde, o OpenSearch Ingestion pode atualizá-lo para a versão secundária mais recente da versão principal que está atualmente configurada para o pipeline. Para obter mais informações, consulte Implantações azul/verde para atualizações de pipeline. A Ingestão do OpenSearch não pode alterar a versão principal do seu pipeline, a menos que você atualize explicitamente a opção version na configuração do pipeline.
Como especificar o caminho de ingestão
Para fontes baseadas em pull, como o rastreamento OTel path em sua configuração de origem. O caminho é uma string como /log/ingest, que representa o caminho do URI para ingestão. Esse caminho define o URI que você usa para enviar dados para o pipeline.
Por exemplo, digamos que você especifique o seguinte caminho para um pipeline com uma origem HTTP:
Ao ingerir dados no pipeline, você deve especificar o seguinte endpoint na configuração do seu cliente:. https://pipeline-name-abc123.us-west-2.osis.amazonaws.com/my/test_path
O caminho deve começar com uma barra (/) e pode conter os caracteres especiais '-', '_', ' . 'e'/', bem como o placeholder ${pipelineName}. Se você usar ${pipelineName} (como /${pipelineName}/test_path), o OpenSearch Ingestion substituirá a variável pelo nome do subpipeline associado.
Como criar pipelines
Esta seção descreve como criar pipelines de Ingestão do OpenSearch usando o console do OpenSearch Service e o AWS CLI.
Para criar um pipeline, faça login no console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home
Selecione um pipeline em branco ou escolha um esquema de configuração. Os esquemas incluem um pipeline pré-configurado para vários casos de uso comuns. Para obter mais informações, consulte Trabalhar com esquemas.
Escolha Selecionar esquema.
Configuração da fonte
-
Se você estiver começando com um pipeline em branco, selecione uma origem no menu suspenso. As origens disponíveis podem incluir outros Serviços da AWS, OpenTelemetry ou HTTP. Para obter mais informações, consulte Integração de pipelines do Amazon OpenSearch Ingestion com outros serviços e aplicações.
-
Dependendo da origem escolhida, defina configurações adicionais para a origem. Por exemplo, para usar o Amazon S3 como origem, você deve especificar a URL da fila do Amazon SQS das mensagens recebidas pelo pipeline. Para obter uma lista dos plug-ins de origem compatíveis e os links para sua documentação, consulte Plug-ins e opções compatíveis com pipelines da Ingestão do Amazon OpenSearch.
-
Para algumas origens, você deve especificar as Opções de rede de origem. Escolha entre Acesso de VPC ou Acesso público. Se você selecionar Acesso público, vá para a próxima etapa. Se você escolher Acesso à VPC, defina as seguintes configurações:
Configuração Descrição Gerenciamento de endpoints Escolha se você mesmo deseja criar os endpoints da nuvem privada virtual (VPC) ou deixar o OpenSearch Ingestion criá-los para você. O gerenciamento de endpoints é padronizado para endpoints gerenciados pelo OpenSearch Ingestion.
da VPC Escolha o ID da VPC que você deseja usar. A VPC e o pipeline devem estar na mesma Região da AWS.
Sub-redes Escolha uma ou mais sub-redes. O OpenSearch Service colocará um endpoint da VPC e interfaces de rede elásticas nas sub-redes.
Grupos de segurança Escolha um ou mais grupos de segurança da VPC que permitem que o aplicativo necessário acesse o pipeline de Ingestão do OpenSearch nas portas (80 ou 443) e nos protocolos (HTTP ou HTTPs) expostos pelo pipeline.
Opções de anexo de VPC Se sua origem for um endpoint autogerenciado, conecte seu pipeline a uma VPC. Escolha uma das opções de CIDR padrão fornecidas ou use um CIDR personalizado.
Para obter mais informações, consulte Como configurar o acesso da VPC aos pipelines do Amazon OpenSearch Ingestion.
-
Escolha Próximo.
Configurar processador
Adicione um ou mais processadores ao pipeline. Os processadores são componentes dentro de um subpipeline que permitem filtrar, transformar e enriquecer eventos antes de publicar registros no coletor de domínios ou coleções. Para obter uma lista dos processadores compatíveis e os links para sua documentação, consulte Plug-ins e opções compatíveis com pipelines da Ingestão do Amazon OpenSearch.
Você pode selecionar Ações e adicionar o seguinte:
-
Roteamento condicional: encaminha eventos para diferentes coletores com base em condições específicas. Para obter mais informações, consulte Roteamento condicional
. -
Subpipeline: cada subpipeline é uma combinação de uma origem, zero ou mais processadores e um coletor. Apenas um único subpipeline pode ter uma origem externa. Todos os outros devem ter origens que sejam outros subpipelines dentro da configuração geral do pipeline. Um único arquivo de configuração de pipeline pode conter de 1 a 10 subpipelines.
Escolha Próximo.
Configurar coletor
Selecione o destino onde o pipeline publica registros. Cada subpipeline deve conter pelo menos um coletor. É possível adicionar até dez coletores a um pipeline.
Em coletores do OpenSearch, configure os seguintes campos:
| Configuração | Descrição |
|---|---|
| Tamanho da política de rede (Somente coletores com tecnologia sem servidor) |
Se você selecionou uma coleção do OpenSearch sem Servidor, insira um nome de política de rede. O OpenSearch Ingestion cria a política, se ela não existir, ou a atualiza com uma regra que concede acesso ao endpoint da VPC que conecta o pipeline e a coleção. Para obter mais informações, consulte Conceder aos pipelines da Ingestão do Amazon OpenSearch o acesso às coleções. |
| Nome do índice |
O nome do índice para o qual o pipeline envia dados. O OpenSearch Ingestion cria esse índice se ele ainda não existir. |
| Opções de mapeamento de índice |
Selecione como o pipeline armazena e indexa documentos e seus campos no coletor do OpenSearch. Se você selecionar Mapeamento dinâmico, o OpenSearch adicionará os campos automaticamente quando você indexar um documento. Se você selecionar Personalizar mapeamento, insira um modelo de mapeamento de índice. Para obter mais informações, consulte Modelos de índice |
| Habilitar DLQ |
Configure uma fila de mensagens não entregues (DLQ) do Amazon S3 para o pipeline. Para obter mais informações, consulte Filas de mensagens não entregues. |
| Configurações adicionais |
Configure as opções avançadas para o coletor do OpenSearch. Para obter mais informações, consulte Configuration options |
Para adicionar um coletor do Amazon S3, escolha Adicionar coletor e Amazon S3. Para obter mais informações, consulte Amazon S3 como destino.
Escolha Próximo.
Configurar pipeline
Defina as seguintes configurações adicionais de pipeline:
| Configuração | Descrição |
|---|---|
| Pipeline name (Nome do pipeline |
Insira um nome exclusivo para o pipeline. |
| Buffer persistente |
Um buffer persistente armazena os dados em um buffer baseado em disco em várias zonas de disponibilidade. Para obter mais informações, consulte Armazenamento em buffer persistente. Se você habilitar o buffer persistente, selecione a chave do AWS Key Management Service para criptografar os dados do buffer. |
| Capacidade do pipeline |
Configure a capacidade mínima e máxima do pipeline em unidades de computação do OpenSearch Ingestion (OCUs). Para obter mais informações, consulte Escalar pipelines no Amazon OpenSearch Ingestion. |
| Perfis do pipeline |
O perfil do IAM que fornece as permissões necessárias para o pipeline gravar no destino e ler origens baseadas em pull. Você mesmo pode criar o perfil ou deixar que o OpenSearch Ingestion a crie com base no caso de uso selecionado. Para obter mais informações, consulte Configurar funções e usuários na Ingestão do Amazon OpenSearch. |
| Tags da |
Adicione uma ou mais tags ao pipeline. Para obter mais informações, consulte Uso de tags nos pipelines de Ingestão do Amazon OpenSearch. |
| Opções de publicação de log | Habilitar a publicação de logs do pipeline no Amazon CloudWatch Logs. Recomendamos que você habilite a publicação de logs para poder solucionar problemas de pipeline com mais facilidade. Para obter mais informações, consulte Monitoramento dos logs de pipeline. |
Escolha Avançar, revise a configuração do pipeline e escolha Criar pipeline.
A Ingestão do OpenSearch executa um processo assíncrono para criar o pipeline. Quando o status do pipeline for Active, você pode começar a ingerir dados.
O comando create-pipeline. aceita a configuração do pipeline como uma string ou como um arquivo .yaml ou .json. Se você fornecer a configuração como uma string, cada nova linha deverá ser escapada com \n. Por exemplo, ., "log-pipeline:\n source:\n
http:\n processor:\n - grok:\n ...
O exemplo de comando a seguir cria um pipeline com a seguinte configuração:
-
Mínimo de 4 OCUs de ingestão, máximo de 10 OCUs de ingestão
-
Provisionado em uma nuvem privada virtual (VPC)
-
Publicação de logs habilitada
aws osis create-pipeline \ --pipeline-namemy-pipeline\ --min-units 4 \ --max-units 10 \ --log-publishing-options IsLoggingEnabled=true,CloudWatchLogDestination={LogGroup="MyLogGroup"} \ --vpc-options SecurityGroupIds={sg-12345678,sg-9012345},SubnetIds=subnet-1212234567834asdf\ --pipeline-configuration-body "file://pipeline-config.yaml" \ --pipeline-role-arn arn:aws:iam::1234456789012:role/pipeline-role
A Ingestão do OpenSearch executa um processo assíncrono para criar o pipeline. Quando o status do pipeline for Active, você pode começar a ingerir dados. Para verificar o status do pipeline, use o comando GetPipeline.
Para criar um pipeline de Ingestão do OpenSearch usando a API de Ingestão do OpenSearch, chame a operação CreatePipeline (Criar pipeline).
Depois que seu pipeline for criado com sucesso, você poderá configurar seu cliente e começar a ingerir dados no seu domínio do OpenSearch Service. Para obter mais informações, consulte Integração de pipelines do Amazon OpenSearch Ingestion com outros serviços e aplicações.
Acompanhar o status da criação do pipeline
Você pode acompanhar o status de um pipeline à medida que a Ingestão do OpenSearch o provisiona e prepara para ingerir dados.
Depois de criar inicialmente um pipeline, ele passa por vários estágios à medida que a Ingestão do OpenSearch o prepara para ingerir dados. Para visualizar os vários estágios da criação do pipeline, escolha o nome do pipeline para ver sua página Configurações do pipeline. Em Status, escolha Exibir detalhes.
Um pipeline passa pelos seguintes estágios antes de estar disponível para ingestão de dados:
-
Validação: valida a configuração do pipeline. Quando esse estágio estiver concluído, todas as validações serão bem-sucedidas.
-
Criação de um ambiente: prepara e provisiona recursos Quando esse estágio estiver concluído, o novo ambiente de pipeline será criado.
-
Implantação do pipeline: implanta o pipeline. Quando esse estágio estiver concluído, o pipeline foi implantado com sucesso.
-
Verificação da integridade do pipeline: verifica a integridade da pipeline. Quando esse estágio estiver concluído, todas as verificações de integridade serão aprovadas.
-
Habilitação de tráfego: permite que o pipeline consuma dados. Quando este estágio for concluído, você pode começar a ingerir dados no pipeline.
Use o comando get-pipeline-change-progress para verificar o status de um pipeline. A solicitação AWS CLI a seguir verifica o status de um pipeline nomeado: my-pipeline
aws osis get-pipeline-change-progress \ --pipeline-namemy-pipeline
Resposta:
{ "ChangeProgressStatuses": { "ChangeProgressStages": [ { "Description": "Validating pipeline configuration", "LastUpdated": 1.671055851E9, "Name": "VALIDATION", "Status": "PENDING" } ], "StartTime": 1.671055851E9, "Status": "PROCESSING", "TotalNumberOfStages": 5 } }
Para acompanhar o status da criação do pipeline usando a API de Ingestão do OpenSearch, chame a operação getPipelineChangeProgress.