Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Pré-requisitos para configurar uma integração ETL zero

Modo de foco
Pré-requisitos para configurar uma integração ETL zero - AWS Glue

Configurar uma integração entre a origem e o destino exige alguns pré-requisitos, como a configuração de perfis do IAM que o AWS Glue usa para acessar dados da origem e gravar no destino, e o uso de chaves do KMS para criptografar os dados no local intermediário ou de destino.

Configurar recursos de origem

Execute as seguintes tarefas de configuração conforme necessário para sua origem.

Configurar o perfil de origem

Esta seção descreve como passar um perfil de origem para permitir que a integração ETL zero acesse sua conexão. Isso também é aplicável somente para origens SaaS.

nota

Para restringir o acesso a apenas algumas conexões, primeiro você pode criar a conexão para obter o ARN da conexão. Consulte Configurar uma origem para uma integração ETL zero.

Crie um perfil que tenha permissões para que a integração acesse a conexão:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueConnections", "Effect": "Allow", "Action": [ "glue:GetConnections", "glue:GetConnection" ], "Resource": [ "arn:aws:glue:*:<accountId>:catalog", "arn:aws:glue:us-east-1:<accountId>:connection/*" ] }, { "Sid": "GlueActionBasedPermissions", "Effect": "Allow", "Action": [ // Fetch entities: "glue:ListEntities", // Refresh connection credentials: "glue:RefreshOAuth2Tokens" ], "Resource": [ "*" ] } ] }

Política de confiança:

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

Configurar recursos de destino

Execute as tarefas de configuração a seguir conforme necessário para o destino de integração do data warehouse do Catálogo de Dados do AWS Glue ou do Amazon Redshift.

Para integrações com um destino de banco de dados do AWS Glue:

Para integrações com um destino de data warehouse do Amazon Redshift:

Configurar um banco de dados do AWS Glue

Para integrações que usam um banco de dados do AWS Glue:

Para configurar um banco de dados de destino no Catálogo de Dados do AWS Glue com uma localização no Amazon S3:

  1. Na página inicial do console do AWS Glue, selecione Banco de dados em Catálogo de Dados.

  2. Escolha Adicionar dados no canto superior direito. Se você já criou um banco de dados, certifique-se de que o local com o URI do Amazon S3 esteja definido para o banco de dados.

  3. Insira um nome e um Local (URI do S3). Observe que o local é necessário para a integração ETL zero. Clique em Criar banco de dados quando terminar.

    nota

    O bucket do Amazon S3 deve estar na mesma região que o banco de dados do AWS Glue.

Para obter informações sobre como criar um novo banco de dados no AWS Glue, consulte Introdução ao Catálogo de Dados do AWS Glue.

Você também pode usar a CLI create-database para criar o banco de dados no AWS Glue. Observe que o LocationUri em --database-input é obrigatório.

Otimizar tabelas Iceberg

Depois que uma tabela é criada pelo AWS Glue no banco de dados de destino, é possível habilitar a compactação para acelerar as consultas no Amazon Athena. Para obter informações sobre como configurar os recursos (perfil do IAM) para compactação, consulte Pré-requisitos da otimização de tabelas.

Para obter mais informações sobre como configurar a compactação na tabela do AWS Glue criada pela integração, consulte Otimizar tabelas do Iceberg.

Fornecer uma política de acesso baseado em recursos (RBAC) do catálogo

Para integrações que usam um banco de dados do AWS Glue, adicione as seguintes permissões à política RBAC do catálogo para permitir integrações entre a origem e o destino.

nota

Para integrações entre contas, tanto a política do perfil de Alice (usuária que está criando a integração) quanto a política de recursos do catálogo precisam permitir glue:CreateInboundIntegration no recurso. Para a mesma conta, uma política de recursos ou uma política de perfil que permita glue:CreateInboundIntegration no recurso é suficiente. Ambos os cenários ainda precisam permitir glue.amazonaws.com em glue:AuthorizeInboundIntegration.

Você pode acessar as Configurações do catálogo em Catálogo de Dados. Em seguida, forneça as permissões a seguir e preencha as informações que faltam.

{ "Version": "2012-10-17", "Statement": [ { // Allow Alice to create Integration on Target Database "Principal": { "AWS": [ "arn:aws:iam::<source-account-id>:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:<region>:<Target-Account-Id>:catalog", "arn:aws:glue:<region>:<Target-Account-Id>:database/DatabaseName" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<Account>:table/<table-name>" } } }, { // 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", "arn:aws:glue:<region>:<Target-Account-Id>:database/DatabaseName" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<account-id>:table/<table-name>" } } } ] }

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.

{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::<target iceberg table s3 bucket>", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::<target iceberg table s3 bucket>/prefix/*", "Effect": "Allow" }, { "Action": [ "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:<region>:<account-id>:catalog", "arn:aws:glue:<region>:<account-id>:database/DatabaseName" ], "Effect": "Allow" }, { "Action": [ "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:GetTableVersion", "glue:GetTableVersions", "glue:GetResourcePolicy" ], "Resource": [ "arn:aws:glue:<region>:<account-id>:catalog", "arn:aws:glue:<region>:<account-id>:database/<DatabaseName>", "arn:aws:glue:<region>:<account-id>:table/<DatabaseName>/*" ], "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 seguinte a política de confiança para permitir que o serviço AWS Glue assuma o perfil:

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

Criar um data warehouse do Amazon Redshift

Quando sua meta de integração ETL zero for um data warehouse do Amazon Redshift, crie o data warehouse se você ainda não tiver um. Para criar um grupo de trabalho do Amazon Redshift sem servidor, consulte Criar um grupo de trabalho com um namespace. Para criar um cluster do Amazon Redshift, consulte Criar um cluster.

O grupo de trabalho ou cluster de destino do Amazon Redshift deve ter o parâmetro enable_case_sensitive_identifier ativado para que a integração seja bem-sucedida. 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.

Depois que a configuração do grupo de trabalho ou cluster do Amazon Redshift estiver concluída, você precisará configurar o data warehouse. Consulte Introdução a integrações ETL zero no Guia de gerenciamento do Amazon Redshift para obter mais informações.

Configurar uma VPC para sua integração ETL zero

Para configurar uma VPC para sua integração ETL zero:

  1. Vá para VPC > Suas VPCs e escolha Criar VPC.

    1. Selecione VPC e mais.

    2. Defina o nome da VPC.

    3. Configure o CIDR IPv4: 10.0.0.0/16.

    4. Defina o número de AZ como 1.

    5. Defina o número de sub-redes públicas e privadas como 1.

    6. Defina Gateways NAT como Nenhum.

    7. Defina Endpoints da VPC como Gateway do S3.

    8. Habilitar os nomes de host DNS e a resolução de DNS.

  2. Vá para Endpoints e escolha Criar endpoint.

  3. Crie endpoints para esses serviços na sub-rede privada da sua VPC (use o grupo de segurança padrão):

    1. com.amazonaws.us-east-1.lambda

    2. com.amazonaws.us-east-1.glue

    3. com.amazonaws.us-east-1.sts

Crie a conexão do AWS Glue:

  1. Vá até AWS Glue > Conexões de dados e escolha Criar conexão.

  2. Selecione Rede.

  3. Selecione a VPC, a sub-rede (privada) e o grupo de segurança padrão que você criou.

Configurar o perfil de destino para a VPC

O perfil de destino deve ter essas permissões (além das outras permissões exigidas pelas integrações ETL zero):

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CustomerVpc", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:DeleteTags", "ec2:DescribeRouteTables", "ec2:DescribeVpcEndpoints", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "glue:GetConnection" ], "Resource": [ "*" ] } ] }

Configurar as propriedades do recurso da perna de destino

Se estiver usando a CLI, defina as propriedades do recurso da perna de destino para o banco de dados do AWS Glue de destino que você criou. Passe o ARN do perfil de destino, bem como o nome da conexão do AWS Glue.

aws glue create-integration-resource-property \ --resource-arn arn:aws:glue:us-east-1:<account-id>:database/exampletarget \ --target-processing-properties '{"RoleArn" : "arn:aws:iam::<account-id>:role/example-role", "ConnectionName":"example-vpc-3"}' \ --endpoint-url https://example.amazonaws.com --region us-east-1

Possíveis erros de clientes

A seguir estão os possíveis erros do cliente para uma integração configurada com uma VPC.

Mensagem de erro Ação necessária
O perfil fornecido não está autorizado a executar glue:GetConnection na conexão. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:DescribeSubnets. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:DescribeSecurityGroups. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:DescribeVpcEndpoints. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:DescribeRouteTables. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:CreateTags. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
O perfil fornecido não está autorizado a executar ec2:CreateNetworkInterface. Adicione essa permissão à política do perfil e aguarde a recuperação da integração. Atualizar política de perfil
A sub-rede de conexão fornecida não contém um endpoint do S3 nem um gateway NAT gateway válido. Atualize a sub-rede e aguarde a recuperação da integração. Atualizar endpoints da sub-rede da VPC
Sub-rede de conexão não encontrada. Atualize a sub-rede de conexão e aguarde a recuperação da integração. Atualizar conexão do &GLU;
Grupo de segurança da conexão não encontrado. Atualize o grupo de rede da conexão e aguarde a recuperação da integração. Atualizar conexão do &GLU;
Não é possível conectar ao S3 via conexão de VPC fornecida. Atualize as configurações da sub-rede e aguarde a recuperação da integração. Atualizar endpoints da sub-rede da VPC
Não é possível conectar ao Lambda via conexão de VPC fornecida. Atualize as configurações da sub-rede e aguarde a recuperação da integração. Atualizar endpoints da sub-rede da VPC

Configurar uma integração entre contas ETL zero

Para configurar uma integração entre contas ETL zero:

  1. Configure uma política de recursos de destino conforme descrito em Fornecer uma política de acesso baseado em recursos (RBAC) do catálogo. Certifique-se de que o perfil da conta de origem seja explicitamente permitido no recurso de destino.

  2. Verifique se o perfil da conta de origem (a função usada para criar a integração) tem o seguinte:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt123456789012", "Action": [ "glue:CreateInboundIntegration" ], "Effect": "Allow", "Resource": [ "arn:aws:glue:<region>:<target-account-id>:catalog", "arn:aws:glue:<region>:<target-account-id>:database/DatabaseName" ] }] }
  3. Crie a integração conforme descrito em Criar uma integração.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.