

# Configurar um destino de integração ETL zero
<a name="zero-etl-target"></a>

Há várias opções oferecidas pela AWS para configurar um destino para uma integração ETL zero. O destino pode ser um data warehouse criptografado do Amazon Redshift ou um catálogo do Amazon SageMaker Lakehouse.

Antes de selecionar o destino para a integração ETL zero, você precisa configurar um dos seguintes recursos de destino.

As opções de configuração para um destino em uma integração ETL zero incluem:
+ Um catálogo e banco de dados do Amazon SageMaker Lakehouse configurados com armazenamento normal do Amazon S3. Consulte [Configurar um catálogo do Amazon SageMaker Lakehouse com armazenamento normal do S3](#zero-etl-config-target-regular-s3).
+ Um catálogo do Amazon SageMaker Lakehouse configurado com um bucket das Tabelas do Amazon S3. Consulte [Configurar Tabelas do Amazon S3 como um destino](#zero-etl-config-target-s3-tables).
+ Um catálogo do Amazon SageMaker Lakehouse configurado com armazenamento gerenciado do Amazon Redshift. Consulte [Configurar um catálogo do Amazon SageMaker Lakehouse com armazenamento gerenciado do Amazon Redshift](#zero-etl-config-target-redshift-managed-storage).
+ Um data warehouse do Amazon Redshift identificado por um namespace do Redshift. Consulte [Configurar um destino de data warehouse do Amazon Redshift](#zero-etl-config-target-redshift-data-warehouse).

**nota**  
 Não é possível modificar o destino de uma integração ETL zero após a criação. 

## Configurar um catálogo do Amazon SageMaker Lakehouse com armazenamento normal do S3
<a name="zero-etl-config-target-regular-s3"></a>

Esta seção descreve os pré-requisitos e as etapas de configuração para configurar um bucket normal do Amazon S3 como armazenamento para seu destino de catálogo do Amazon SageMaker Lakehouse em uma integração ETL zero.

### Pré-requisitos para configurar uma integração
<a name="zero-etl-config-target-regular-s3-prerequisites"></a>

Antes de criar uma integração ETL zero com um catálogo do Amazon SageMaker Lakehouse usando o armazenamento normal do S3, você precisa concluir as seguintes tarefas de configuração:

1. Configurar um banco de dados do AWS Glue

1. Fornecer uma política RBAC do Catálogo

1. Criar um perfil do IAM de destino

Depois de configurar o catálogo do Amazon SageMaker Lakehouse com armazenamento normal do Amazon S3, você pode prosseguir com [Configurar a integração com seu destino](#zero-etl-config-target-configuring-the-integration) para conclusão da configuração da integração.

## Configurar Tabelas do Amazon S3 como um destino
<a name="zero-etl-config-target-s3-tables"></a>

Esta seção descreve os pré-requisitos e as etapas de configuração para configurar as Tabelas do Amazon S3 como um destino para sua integração ETL zero.

### Pré-requisitos para configurar uma integração
<a name="zero-etl-config-target-s3-tables-prerequisites"></a>

Antes de criar uma integração ETL zero com as Tabelas do Amazon S3 como destino, você precisa concluir as seguintes tarefas de configuração:

1. Configurar o bucket das Tabelas do Amazon S3

1. Fornecer uma política RBAC do Catálogo

1. Criar um perfil do IAM de destino

### Configurar o bucket de Tabelas do Amazon S3
<a name="zero-etl-config-target-s3-tables-bucket"></a>

1. Crie um bucket de tabelas do S3 em sua conta seguindo as instruções em [Introdução às Tabelas do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-getting-started.html).

1. Habilite as integrações do Analytics com seu bucket das Tabelas do S3 seguindo estas instruções: [Integração de serviços da AWS com as Tabelas do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html#table-integration-procedures).

### Fornecer uma política RBAC do Catálogo
<a name="zero-etl-config-target-s3-tables-rbac"></a>

As seguintes permissões devem ser adicionadas à política RBAC do Catálogo para permitir integrações entre o destino do catálogo de origem e das Tabelas do Amazon S3.

A política de recursos do destino do Catálogo do AWS Glue precisa incluir permissões do Glue Service para AuthorizeInboundIntegration. Além disso, a permissão CreateInboundIntegration é necessária na fonte principal que cria a integração ou no destino da política de recursos do AWS Glue.

**nota**  
Para um cenário de várias contas, tanto a política de recursos do catálogo da entidade principal de origem quanto a do AWS Glue de destino precisam incluir as permissões glue:CreateInboundIntegration no recurso.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
        	"arn:aws:iam::123456789012:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:CreateInboundIntegration"
      ],
      "Resource": [
	      "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*"
      ],
      "Condition": {
        "StringLike": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    },
    {
      "Principal": {
        "Service": [
          "glue.amazonaws.com"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:AuthorizeInboundIntegration"
      ],
      "Resource": [
      "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*"
      ],
      "Condition": {
        "StringEquals": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    }
  ]
}
```

------

**nota**  
Substitua `<s3tablescatalog>` pelo nome do catálogo de suas tabelas do S3.

### Criar um perfil do IAM de destino
<a name="zero-etl-config-target-s3-tables-iam"></a>

Crie um perfil do IAM de destino com as permissões e relação de confiança a seguir.

Exemplo de política do IAM:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3tables:ListTableBuckets",
        "s3tables:GetTableBucket",
        "s3tables:GetTableBucketEncryption",
        "s3tables:GetNamespace",
        "s3tables:CreateNamespace",
        "s3tables:ListNamespaces",
        "s3tables:CreateTable",
        "s3tables:GetTable",
        "s3tables:GetTableEncryption",
        "s3tables:ListTables",
        "s3tables:GetTableMetadataLocation",
        "s3tables:UpdateTableMetadataLocation",
        "s3tables:GetTableData",
        "s3tables:PutTableData"
      ],
      "Resource": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloudwatch:namespace": "AWS/Glue/ZeroETL"
        }
      },
      "Effect": "Allow"
    },
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}
```

------

Adicione a seguinte política de confiança no perfil do IAM de destino para permitir que o serviço do AWS Glue assuma:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**nota**  
Certifique-se de que não haja uma declaração DENY explícita para esse perfil do IAM de destino na política de recursos do bucket das Tabelas do S3. Uma declaração DENY explícita substituiria todas as permissões ALLOW e impediria que a integração funcionasse corretamente.

## Configurar um catálogo do Amazon SageMaker Lakehouse com armazenamento gerenciado do Amazon Redshift
<a name="zero-etl-config-target-redshift-managed-storage"></a>

Esta seção descreve os pré-requisitos e as etapas de configuração para configurar um catálogo do Amazon SageMaker Lakehouse com armazenamento gerenciado (RMS) do Amazon Redshift como destino para sua integração ETL zero.

### Pré-requisitos para configurar uma integração
<a name="zero-etl-config-target-rms-prerequisites"></a>

Antes de criar uma integração ETL zero com um catálogo do Amazon SageMaker Lakehouse usando o armazenamento normal do Redshift, você precisa concluir as seguintes tarefas de configuração:

1. Configurar um cluster do Amazon Redshift ou grupo de trabalho do Serverless

1. Registrar a integração do Amazon Redshift com o Lake Formation

1. Criar um catálogo gerenciado no Lake Formation

1. Configurar permissões do IAM

### Configurar o armazenamento gerenciado do Amazon Redshift
<a name="zero-etl-config-target-rms-setup"></a>

Para configurar um armazenamento gerenciado do Amazon Redshift para sua integração ETL zero:

1. Crie ou use um cluster do Amazon Redshift ou grupo de trabalho do Serverless existente. Confirme se o grupo de trabalho ou cluster de destino do Amazon Redshift tem o parâmetro `enable_case_sensitive_identifier` ativado para que a integração tenha êxito. Para obter mais informações sobre como habilitar a diferenciação de maiúsculas e minúsculas, consulte [Ativar diferenciação de maiúsculas e minúsculas para seu data warehouse](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) no guia de gerenciamento do Amazon Redshift.

1. Registre uma integração do Redshift no catálogo no AWS Lake Formation. Consulte [Registrar clusters e namespaces do Amazon Redshift no Catálogo de dados do AWS Glue](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration-register.html).

1. Crie um catálogo federado ou gerenciado no AWS Lake Formation. Para obter mais informações, consulte:
   +  [ Trazer dados do Amazon Redshift para o catálogo de dados do AWS Glue](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-namespaces-datacatalog.html) 
   +  [ Criar um catálogo gerenciado do Amazon Redshift no catálogo de dados do AWS Glue](https://docs.aws.amazon.com/lake-formation/latest/dg/create-rms-catalog.html) 

1. Configurar permissões do IAM para o perfil de destino. O perfil precisa de permissões para acessar os recursos do Redshift e do Lake Formation. No mínimo, o perfil deve ter:
   + Permissões para acessar o cluster ou grupo de trabalho do Redshift
   + Permissões para acessar o catálogo do Lake Formation
   + Permissões para criar e gerenciar tabelas no catálogo
   + Permissões do CloudWatch e do CloudWatch Logs para monitoramento

Depois de configurar o catálogo do Amazon SageMaker Lakehouse com o armazenamento gerenciado do Amazon Redshift, você pode prosseguir para [Configurar a integração com seu destino](#zero-etl-config-target-configuring-the-integration) para concluir a configuração da integração.

## Configurar um destino de data warehouse do Amazon Redshift
<a name="zero-etl-config-target-redshift-data-warehouse"></a>

Esta seção descreve os pré-requisitos e as etapas de configuração para configurar o data warehouse do Amazon Redshift como um destino para sua integração ETL zero.

### Pré-requisitos para configurar uma integração
<a name="zero-etl-config-target-redshift-prerequisites"></a>

Antes de criar uma integração ETL zero com um destino de data warehouse do Amazon Redshift, você precisa concluir as seguintes tarefas de configuração:

1. Configurar um cluster do Amazon Redshift ou grupo de trabalho do Serverless

1. Configurar a diferenciação de maiúsculas e minúsculas

1. Configurar permissões do IAM

### Configurar o data warehouse do Amazon Redshift
<a name="zero-etl-config-target-redshift-setup"></a>

Para configurar um data warehouse do Amazon Redshift para sua integração ETL zero:

1. Navegue até o [console do Amazon Redshift](https://console.aws.amazon.com/redshiftv2/home) e clique em **Criar cluster** ou use um cluster existente. No Amazon Redshift sem servidor, clique em **Criar grupo de trabalho**.

1. Ao criar um novo cluster, escolha um tamanho de cluster apropriado e garanta que seu cluster esteja criptografado. Para o Serverless, defina as configurações do grupo de trabalho de acordo com seus requisitos.

1. Confirme se o grupo de trabalho ou cluster de destino do Amazon Redshift tem o parâmetro `enable_case_sensitive_identifier` ativado para que a integração tenha êxito. Para obter mais informações sobre como habilitar a diferenciação de maiúsculas e minúsculas, consulte [Ativar diferenciação de maiúsculas e minúsculas para seu data warehouse](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) no guia de gerenciamento do Amazon Redshift.

1. Configure as permissões do IAM para permitir que a integração ETL zero acesse seu data warehouse do Amazon Redshift. Você precisará criar um perfil do IAM com as permissões a seguir:
   + Permissões para acessar o cluster ou grupo de trabalho do Amazon Redshift
   + Permissões para criar e gerenciar bancos de dados e tabelas no Amazon Redshift
   + Permissões do CloudWatch e do Amazon CloudWatch Logs para monitoramento

1. Depois que a configuração do grupo de trabalho ou cluster do Amazon Redshift estiver concluída, você precisará configurar o data warehouse ou as integrações ETL zero. Consulte [Introdução a integrações ETL zero](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html) no Guia de gerenciamento do Amazon Redshift para obter mais informações.

**nota**  
Ao usar um data warehouse do Amazon Redshift como destino, a integração cria um esquema no banco de dados especificado para armazenar os dados replicados. O nome do esquema é derivado do nome da integração.

Depois de configurar o data warehouse do Amazon Redshift, você pode prosseguir para [Configurar a integração com seu destino](#zero-etl-config-target-configuring-the-integration) para concluir a configuração da integração.

## Configurar a integração com seu destino
<a name="zero-etl-config-target-configuring-the-integration"></a>

Depois de configurar seus recursos de destino, selecionar sua conexão e especificar um perfil do IAM de origem, siga estas etapas para concluir a configuração da integração:

1. Especifique o destino que você configurou nas etapas anteriores.

1. Selecione a opção **Corrigir para mim** do AWS Glue. Para o Amazon Redshift de destino, isso fará:
   + Aplicar uma entidade principal autorizada no cluster Amazon Redshift ou grupo de trabalho do Serverless.
   + Aplicar um ARN de origem autorizado do AWS Glue ao cluster do Amazon Redshift ou ao grupo de trabalho do Serverless.
   + Associar um novo grupo de parâmetros a `enable_case_sensitive_identifier = true`.  
![\[A captura de tela mostra a seleção de um destino em uma integração ETL zero.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/zero-etl-target-selection.png)

1. Forneça o nome da integração e escolha **Criar e iniciar integração**.

1. Quando sua integração estiver ativa, navegue até a página de detalhes da integração e escolha **Criar um banco de dados com base na integração**.

1. Finalmente, você pode navegar até o editor de consultas do Redshift e conectar ao seu banco de dados para validar o snapshot e os dados incrementais.

**nota**  
Você só pode usar caracteres alfanuméricos minúsculos e sublinhados no nome do namespace ou do catálogo. Isso é diferente do que o Catálogo de Dados do AWS Glue permite para criar um banco de dados com qualquer nome (incluindo caracteres especiais).