Configurar um destino de integração ETL zero
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.
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.
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.
Um data warehouse do Amazon Redshift identificado por um namespace do Redshift. Consulte Configurar um destino de data warehouse do Amazon Redshift.
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
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
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:
Configurar um banco de dados do AWS Glue
Fornecer uma política RBAC do Catálogo
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 para conclusão da configuração da integração.
Configurar Tabelas do Amazon S3 como um destino
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
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:
Configurar o bucket das Tabelas do Amazon S3
Fornecer uma política RBAC do Catálogo
Criar um perfil do IAM de destino
Configurar o bucket de Tabelas do Amazon S3
Crie um bucket de tabelas do S3 em sua conta seguindo as instruções em Introdução às Tabelas do Amazon S3.
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.
Fornecer uma política RBAC do Catálogo
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.
{ "Version": "2012-10-17", "Statement": [ { // Optional for same account but mandatory for cross account scenarios // Allow Alice to create Integration on Target Catalog "Principal": { "AWS": [ "arn:aws:iam::<source-account-id>:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:<region>:<Target-Account-Id>:catalog/<s3tablescatalog>/*" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<Account>:table/<table-name>" } } }, { // Required: Allow Glue to Authorize the Inbound Integration on behalf of Bob "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": [ "arn:aws:glue:<region>:<Target-Account-Id>:catalog/<s3tablescatalog>/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<account-id>:table/<table-name>" } } } ] }
nota
Substitua <s3tablescatalog>
pelo nome do catálogo de suas tabelas do S3.
Criar um perfil do IAM de destino
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:
{ "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:<region>:<account-id>: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:
{ "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
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
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:
Configurar um cluster do Amazon Redshift ou grupo de trabalho do Serverless
Registrar a integração do Amazon Redshift com o Lake Formation
Criar um catálogo gerenciado no Lake Formation
Configurar permissões do IAM
Configurar o armazenamento gerenciado do Amazon Redshift
Para configurar um armazenamento gerenciado do Amazon Redshift para sua integração ETL zero:
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 no guia de gerenciamento do Amazon Redshift.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.
Crie um catálogo federado ou gerenciado no AWS Lake Formation. Para obter mais informações, consulte:
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 para concluir a configuração da integração.
Configurar um destino de data warehouse do Amazon Redshift
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
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:
Configurar um cluster do Amazon Redshift ou grupo de trabalho do Serverless
Configurar a diferenciação de maiúsculas e minúsculas
Configurar permissões do IAM
Configurar o data warehouse do Amazon Redshift
Para configurar um data warehouse do Amazon Redshift para sua integração ETL zero:
Navegue até o console do Amazon Redshift
e clique em Criar cluster ou use um cluster existente. No Amazon Redshift sem servidor, clique em Criar grupo de trabalho. 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.
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 no guia de gerenciamento do Amazon Redshift.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
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 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 para concluir a configuração da integração.
Configurar a integração com seu destino
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:
Especifique o destino que você configurou nas etapas anteriores.
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
.
Forneça o nome da integração e escolha Criar e iniciar integração.
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.
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).