

# Tutorial: Usar o AWS Glue Connector for Elasticsearch
<a name="tutorial-elastisearch-connector"></a>

O Elasticsearch é um conhecido mecanismo de pesquisa e analytics de código aberto para casos de uso, como analytics de logs, monitoramento de aplicações em tempo real e analytics 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](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6). 

**nota**  
 O [AWS Marketplace Elasticsearch Spark Connector ](https://aws.amazon.com/marketplace/pp/B08PPT2V5J) foi descontinuado. Use o [AWS Glue Connector for Elasticsearch ](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6) em seu lugar. 

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

**Topics**
+ [Pré-requisitos](#tutorial-prerequisites)
+ [Etapa 1: (opcional) Criar um segredo da AWS para as informações do cluster do OpenSearch](#tutorial-step1)
+ [Etapa 2: Assinar o conector](#tutorial-step2)
+ [Etapa 3: Ativar o conector no AWS Glue Studio e criar uma conexão](#tutorial-step3)
+ [Etapa 4: Configurar uma função do IAM para o trabalho de ETL](#tutorial-step4)
+ [Etapa 5: Criar um trabalho que usa a conexão do OpenSearch](#tutorial-step5)
+ [Etapa 6: Executar o trabalho](#tutorial-step6)

## Pré-requisitos
<a name="tutorial-prerequisites"></a>

Para usar este tutorial, você deve ter o seguinte:
+ Acesso ao 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
<a name="tutorial-step1"></a>

 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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) 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](https://console.aws.amazon.com/secretsmanager/).

1. 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)**.

1. 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.

1. 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*

1. Escolha **\$1 Add row** (Adicionar linha) e insira outro par de chave-valor para a senha. Por exemplo:

   `es.net.http.auth.pass`: *senha*

1. Escolha **Próximo**.

1. 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).

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

### Próxima etapa
<a name="tutorial-step1.2"></a>

 [Etapa 2: Assinar o conector](#tutorial-step2) 

## Etapa 2: Assinar o conector
<a name="tutorial-step2"></a>

O AWS Glue Connector for Elasticsearch está disponível gratuitamente no [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6#pdp-pricing). 

**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 AWS License Manager em [https://console.aws.amazon.com/license-manager](https://console.aws.amazon.com/license-manager).

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

   1. 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.

1. Abra o console do AWS Glue Studio em [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1. No console do AWS Glue Studio, expanda o ícone de menu (![\[\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/nav-menu-icon.png)) e escolha **Connectors** (Conectores) no painel de navegação.

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

1. 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. 

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

1. 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).

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

1.  Quando o processo de assinatura for concluído, você verá uma notificação: "Thank you for subscribing to this product\$1 You can now configure your software" (Obrigado por assinar este produto\$1 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)**. 

1.  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
<a name="tutorial-step2.1"></a>

 [Etapa 3: Ativar o conector no AWS Glue Studio e criar uma conexão](#tutorial-step3) 

## Etapa 3: Ativar o conector no AWS Glue Studio e criar uma conexão
<a name="tutorial-step3"></a>

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.

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

1. 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). 

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

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

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

### Próxima etapa
<a name="tutorial-step3.1"></a>

 [Etapa 4: Configurar uma função do IAM para o trabalho de ETL](#tutorial-step4) 

## Etapa 4: Configurar uma função do IAM para o trabalho de ETL
<a name="tutorial-step4"></a>

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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) e [Limitar acesso a segredos específicos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_identity-based-policies.html#permissions_grant-limited-resources).

**Para configurar uma função do IAM para o trabalho de ETL**

1. Configure as permissões descritas em [Revisar as permissões do IAM necessárias para trabalhos de ETL](getting-started-min-privs-job.md).

1. 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](getting-started-min-privs-job.md#getting-started-min-privs-connectors).

### Próxima etapa
<a name="tutorial-step4.1"></a>

 [Etapa 5: Criar um trabalho que usa a conexão do OpenSearch](#tutorial-step5) 

## Etapa 5: Criar um trabalho que usa a conexão do OpenSearch
<a name="tutorial-step5"></a>

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 obter mais informações, consulte [Configurar uma VPC para seu trabalho de ETL](getting-started-vpc-config.md).

**Para criar um trabalho que usa o Elasticsearch Spark Connector**

1. Em AWS Glue Studio, escolha **Connectors** (Conectores).

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

1. 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](transforms-custom.md#transforms-custom-editschema).

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

   1. 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](https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html).

1. 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.

1. 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](edit-jobs-transforms.md).

1. Configure as propriedades do trabalho conforme descrito em [Modificar as propriedades do trabalho](managing-jobs-chapter.md#edit-jobs-properties), começando com a etapa 3, e salve o trabalho.

### Próxima etapa
<a name="tutorial-step5.1"></a>

 [Etapa 6: Executar o trabalho](#tutorial-step6) 

## Etapa 6: Executar o trabalho
<a name="tutorial-step6"></a>

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).

1. 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.