Tutorial: Usar o AWS Glue Connector for Elasticsearch - AWS Glue

Tutorial: Usar o AWS Glue Connector for Elasticsearch

O Elasticsearch é um conhecido mecanismo de pesquisa e análise de código aberto para casos de uso, como análise de logs, monitoramento de aplicações em tempo real e análise de transmissões de cliques. Você pode usar o OpenSearch como um armazenamento de dados para seus trabalhos de extração, transformação e carregamento (ETL) configurando o AWS Glue Connector for Elasticsearch no AWS Glue Studio. Esse conector está disponível gratuitamente no AWS Marketplace.

Neste tutorial, mostraremos como se conectar aos nós do Amazon OpenSearch Service com um número mínimo de etapas.

Pré-requisitos

Para usar este tutorial, você deve ter o seguinte:

  • Acessar o AWS Glue Studio

  • Acesso a um cluster do OpenSearch na Nuvem AWS

  • (Opcional) Acesso ao AWS Secrets Manager.

Etapa 1: (opcional) Criar um segredo da AWS para as informações do cluster do OpenSearch

Para armazenar e usar com segurança sua credencial de conexão, salve-a no AWS Secrets Manager. O segredo que você criar será usado pela conexão, mais tarde no tutorial. Os pares chave-valor de credenciais serão alimentados no AWS Glue Connector for Elasticsearch como opções de conexão normais.

Para obter mais informações sobre criação de segredos, consulte Criar e gerenciar segredos com o AWS Secrets Manager no Manual do usuário do AWS Secrets Manager.

Para criar um segredo da AWS
  1. Faça login no console do AWS Secrets Manager.

  2. Na página de introdução do serviço ou na página da lista de Secrets (Segredos), escolha Store a new secret (Armazenar um novo segredo).

  3. Na página Store a new secret (Armazenar um novo segredo), selecione Other type of secret (Outro tipo de segredo). Essa opção significa que você precisa fornecer a estrutura e os detalhes do seu segredo.

  4. Adicione um par de Key (Chave) e Value (Valor) para o nome de usuário do cluster do OpenSearch. Por exemplo:

    es.net.http.auth.user: nome de usuário

  5. Escolha + Add row (Adicionar linha) e insira outro par de chave-valor para a senha. Por exemplo:

    es.net.http.auth.pass: senha

  6. Escolha Próximo.

  7. Insira um nome para o segredo. Por exemplo: meu-segredo-es. Se preferir, você também pode inserir uma descrição.

    Registre o nome secreto, que é usado posteriormente neste tutorial, e escolha Next (Próximo).

  8. Escolha Next (Próximo) novamente e, depois, escolha Store (Armazenar) para criar o segredo.

Próxima etapa

Etapa 2: Assinar o conector

Etapa 2: Assinar o conector

O AWS Glue Connector for Elasticsearch está disponível gratuitamente no AWS Marketplace.

Para assinar o AWS Glue Connector for Elasticsearch no AWS Marketplace
  1. Se você ainda não configurou a conta da AWS para usar o License Manager, faça o seguinte:

    1. Abra o console do AWS License Manager em https://console.aws.amazon.com/license-manager.

    2. Escolha Create customer managed license (Criar licença gerenciada pelo cliente).

    3. Na janela Permissões do IAM (configuração única), escolha Concedo as permissões necessárias ao AWS License Manager e depois escolha Conceder permissões.

      Se você não vir essa janela, você já configurou as permissões necessárias.

  2. Abra o console do AWS Glue Studio em https://console.aws.amazon.com/gluestudio/.

  3. No console do AWS Glue Studio, expanda o ícone de menu ( 3 short, horizontal lines in a vertical stack ) e escolha Connectors (Conectores) no painel de navegação.

  4. Na página Conectores, escolha Ir para o AWS Marketplace.

  5. No AWS Marketplace, na seção Pesquisar produtos da AWS Glue Studio, insira Conector do AWS Glue para Elasticsearch no campo de pesquisa e pressione Enter.

  6. Escolha o nome do conector, AWS Glue Connector for Elasticsearch.

  7. Na página de produto do conector, use as guias para visualizar informações sobre o conector. Quando estiver tudo pronto para continuar, escolha Continue to Subscribe (Avançar para assinar).

  8. Revise e aceite os termos de uso do software. Clique em Accept Terms (Aceitar os termos).

  9. Quando o processo de assinatura for concluído, você verá uma notificação: "Thank you for subscribing to this product! You can now configure your software" (Obrigado por assinar este produto! Agora você pode configurar o software). Acima do banner, encontra-se o botão Continue to Configuration(Continuar em Configuração). Escolha Continue to Configuration (Continuar para configuração).

  10. Escolha a opção Fulfillment (Atendimento) na página Configure this software (Configurar este software). Você também pode escolher o AWS Glue 1.0/2.0 ou o AWS Glue 3.0. Em seguida, escolha Continue to Launch (Continuar em Iniciar).

Próxima etapa

Etapa 3: Ativar o conector no AWS Glue Studio e criar uma conexão

Etapa 3: Ativar o conector no AWS Glue Studio e criar uma conexão

Depois de escolher Continue to Launch (Avançar para iniciar), você verá a página Launch this software (Iniciar este software) no AWS Marketplace. Depois de usar o link para ativar o conector no AWS Glue Studio, você cria uma conexão.

Para implantar o conector e criar uma conexão no AWS Glue Studio
  1. Na página Launch this software (Iniciar este software) no console do AWS Marketplace, escolha Usage Instructions (Instruções de uso) e, em seguida, selecione o link na janela exibida.

    Seu navegador é redirecionado para a página Create marketplace connection (Criar conexão com o marketplace) do console do AWS Glue Studio.

  2. Insira um nome para a conexão. Por exemplo: minha-conexão-es.

  3. Na seção Connection access (Acesso à conexão), em Connection credential type (Tipo de credencial de conexão), escolha User name and password (Nome de usuário e senha).

  4. Em segredo da AWS, insira o nome do seu segredo. Por exemplo: meu-segredo-es.

  5. Na seção Network options (Opções de rede), insira as informações da VPC para conectar ao cluster do OpenSearch.

  6. Esoclha Create connection and activate connector (Criar conexão e ativar o conector).

Próxima etapa

Etapa 4: Configurar uma função do IAM para o trabalho de ETL

Etapa 4: Configurar uma função do IAM para o trabalho de ETL

Ao criar o trabalho de ETL do AWS Glue, você especifica uma função do AWS Identity and Access Management (IAM) para o trabalho usar. A função deve conceder acesso a todos os recursos usados pelo trabalho, incluindo o Amazon S3 (para quaisquer origens, destinos, scripts, arquivos de driver e diretórios temporários) e também objetos do AWS Glue Data Catalog.

A função do IAM assumida para o trabalho de ETL do AWS Glue também deve ter acesso ao segredo que foi criado na seção anterior. Por padrão, a função gerenciada pela AWS AWSGlueServiceRole não tem acesso ao segredo. Para configurar o controle de acesso a seus segredos, consulte Autenticação e controle de acesso para o AWS Secrets Manager e Limitar acesso a segredos específicos.

Para configurar uma função do IAM para o trabalho de ETL
  1. Configure as permissões descritas em Revise IAM as permissões necessárias para ETL trabalhos.

  2. Configure as permissões adicionais necessárias ao usar conectores com o AWS Glue Studio, conforme descrito em Permissões necessárias para usar conectores.

Próxima etapa

Etapa 5: Criar um trabalho que usa a conexão do OpenSearch

Etapa 5: Criar um trabalho que usa a conexão do OpenSearch

Depois de criar uma função para o seu trabalho de ETL, você pode criar um trabalho no AWS Glue Studio que usa a conexão e o conector para o Open Spark ElasticSearch.

Se seu trabalho for executado em uma Amazon Virtual Private Cloud (Amazon VPC), certifique-se de que a VPC esteja configurada corretamente. Para ter mais informações, consulte Configurar uma VPC para seu trabalho de ETL.

Para criar um trabalho que usa o Elasticsearch Spark Connector
  1. Em AWS Glue Studio, escolha Connectors (Conectores).

  2. Na lista Your connections (Suas conexões), selecione a conexão que você acabou de criar e escolha Create job (Criar trabalho).

  3. No editor de trabalhos visual, escolha o nó de origem dos dados. À direita, na guia Data source properties - Connector (Propriedades da origem dos dados: conector), configure informações adicionais para o conector.

    1. Escolha Add schema (Adicionar esquema) e insira o esquema do conjunto de dados na origem dos dados. As conexões não usam tabelas armazenadas no Data Catalog, o que significa que AWS Glue Studio não conhece o esquema dos dados. Você deve fornecer manualmente essas informações de esquema. Para obter instruções sobre como usar o editor de esquemas, consulte Editar o esquema de um nó de transformação personalizada.

    2. Expanda Connection options (Opções de conexão).

    3. Escolha Add new option (Adicionar nova opção) e insira as informações necessárias para o conector que não foram inseridas no segredo da AWS:

      • es.nodes: https://<endpoint do domínio do OpenSearch>

      • es.port: 443

      • path: test

      • es.nodes.wan.only: true

      Para obter uma explicação sobre essas opções de conexão, consulte: https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html.

  4. Adicione um nó de destino ao gráfico.

    Seu destino de dados pode ser o Amazon S3 ou pode usar informações de um AWS Glue Data Catalog ou um conector para gravar dados em um local diferente. Por exemplo, você pode usar uma tabela do Data Catalog para gravar em um banco de dados no Amazon RDS ou pode usar um conector como destino de dados para gravar em armazenamentos de dados que não são suportados nativamente no AWS Glue.

    Se você escolher um conector para o destino dos dados, deverá escolher uma conexão criada para esse conector. Além disso, se exigido pelo provedor do conector, você deve adicionar opções para fornecer mais informações ao conector. Se você usar uma conexão que contenha informações para um segredo da AWS, então não será preciso fornecer a autenticação com o nome do usuário e senha nas opções de conexão.

  5. Opcionalmente, adicione mais fontes de dados, e um ou mais nós de transformação, conforme descrito em Transformar dados com transformações gerenciadas do AWS Glue.

  6. Configure as propriedades do trabalho conforme descrito em Modificar as propriedades do trabalho, começando com a etapa 3, e salve o trabalho.

Próxima etapa

Etapa 6: Executar o trabalho

Etapa 6: Executar o trabalho

Depois de salvar o trabalho, você pode executá-lo para realizar as operações de ETL.

Para executar o trabalho que você criou para o AWS Glue Connector for Elasticsearch
  1. Usando o console do AWS Glue Studio, na página do editor visual, escolha Run (Executar).

  2. No banner de sucesso, escolha Run Details (Detalhes da execução), ou você pode escolher a opção Runs (Execuções) do editor visual para visualizar informações sobre a execução do trabalho.