View a markdown version of this page

Pré-requisitos - Amazon Aurora

Pré-requisitos

O cluster de banco de dados do Aurora PostgreSQL pode ler dados Iceberg e Parquet do Amazon S3, das Tabelas do Amazon S3 e do AWS Glue Data Catalog em seu nome. Antes de consultar esses dados, o cluster precisa de três coisas: uma forma de se autenticar nesses serviços, uma versão do mecanismo que inclua a extensão aurora_analytics e um caminho de rede da VPC para acessá-los. As seções a seguir explicam como criar uma política e um perfil do IAM que concedam acesso de leitura aos dados específicos que você pretende consultar, associar esse perfil ao cluster de banco de dados, habilitar a extensão no grupo de parâmetros do cluster de banco de dados e configurar o caminho de rede usado pelo cluster para acessar o Amazon S3 e o AWS Glue. É possível concluir essas etapas em qualquer cluster de banco de dados do Aurora PostgreSQL existente que atenda ao requisito de versão.

Visão geral das etapas de configuração

As etapas gerais de configuração são as seguintes:

  1. Crie uma política do IAM que conceda acesso de leitura aos dados.

  2. Crie um perfil do IAM e associe essa política a ele.

  3. Associe o perfil do IAM ao cluster de banco de dados do Aurora.

  4. Configure a rede (endpoints da VPC) se o cluster estiver em uma sub-rede privada.

  5. Habilite a extensão aurora_analytics no grupo de parâmetros do cluster de banco de dados.

Criar políticas do IAM

Crie uma política do IAM que conceda à extensão acesso de leitura ao Amazon S3 e, opcionalmente, ao AWS Glue Data Catalog ou às Tabelas do Amazon S3, dependendo do formato dos dados e do local em que estão armazenados.

Os privilégios mínimos dependem de como você referencia os dados: o formato dos dados (Parquet ou Iceberg), a origem (Amazon S3, AWS Glue Data Catalog ou Tabelas do Amazon S3) e se você aponta para um único arquivo ou para um diretório. A tabela a seguir lista os privilégios mínimos do perfil do IAM para os cenários comuns em que os recursos pertencem à mesma conta.

Privilégios mínimos do perfil do IAM por origem
Origem Privilégios mínimos
Amazon S3, arquivo único (s3://bucket/path/data.parquet) s3:GetObject
Amazon S3, diretório ou padrão global (glob) (s3://bucket/path/) s3:GetObject, s3:ListBucket
AWS Glue Data Catalog (arn:aws:glue:us-east-1:123456789012:table/mydb/mytable) glue:GetTable + Privilégios do Amazon S3 listados acima
Tabelas do Amazon S3, ARN direto (arn:aws:s3tables:us-east-1:123456789012:bucket/mybucket/table/table_id) s3tables:GetTable, s3tables:GetTableBucket, s3tables:GetTableData, s3tables:GetNamespace
Tabelas do Amazon S3, por meio do ARN do catálogo AWS Glue (arn:aws:glue:us-east-1:123456789012:table/s3tablescatalog/mybucket/myns/mytable) Privilégios glue:GetTable + s3tables listados acima
nota

s3:ListBucket só é necessário quando a extensão lista um prefixo do Amazon S3 para descobrir arquivos (como no acesso a diretórios Parquet ou por meio de padrões glob). O Iceberg resolve os caminhos exatos dos arquivos a partir dos manifestos, o que significa que s3:ListBucket não é necessário.

nota

Se os dados estiverem criptografados com SSE-KMS, adicione a permissão kms:Decrypt à chave do KMS.

nota

São necessários privilégios adicionais para IMPORT FOREIGN SCHEMA (glue:GetTables ou s3tables:ListTables), acesso entre contas, acesso baseado em políticas de recursos e tabelas controladas pelo Lake Formation.

Consulte exemplos detalhados de políticas em Referência de políticas do IAM. Consulte mais informações sobre como criar políticas do IAM em Criar políticas do IAM no Guia do usuário do IAM.

Criar uma função do IAM

Crie um perfil do IAM que o Aurora possa assumir para acessar os dados do Amazon S3 em nome da extensão.

Como criar um perfil do IAM usando o Console de Gerenciamento da AWS
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Perfis e, em seguida, Criar perfil.

  3. Em Tipo de entidade confiável, escolha Serviços da AWS.

  4. Em Caso de uso, selecione RDS na lista de serviços.

  5. Selecione RDS: adicionar perfil ao banco de dados nas opções de caso de uso.

  6. Escolha Próximo.

  7. Selecione a política que você criou em Criar políticas do IAM. Também é possível selecionar políticas de permissões predefinidas, como AmazonS3ReadOnlyAccess e AWSGlueConsoleFullAccess.

  8. Escolha Próximo.

  9. Em Nome do perfil, insira um nome para o perfil (por exemplo, AuroraAnalyticsRole).

  10. Selecione Criar perfil.

Como criar um perfil do IAM usando a AWS CLI
  1. Crie um perfil chamado AuroraAnalyticsRole:

    aws iam create-role \ --role-name AuroraAnalyticsRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  2. Anexe a política à função:

    aws iam attach-role-policy \ --role-name AuroraAnalyticsRole \ --policy-arn arn:aws:iam::123456789012:policy/AuroraAnalyticsReadAccess

Anote o Nome de região da Amazon (ARN) da função. Você precisará dele ao associar o perfil ao cluster de banco de dados do Aurora. Para obter mais informações, consulte Criar perfis do IAM no Guia do usuário do IAM.

Associação do perfil do IAM ao cluster de banco de dados do Aurora

Depois de criar o cluster de banco de dados, associe o perfil do IAM criado para a extensão.

Para associar o perfil do IAM usando o Console de Gerenciamento da AWS
  1. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Bancos de dados e, em seguida, o nome do cluster de banco de dados do Aurora PostgreSQL.

  3. Na guia Connectivity & security (Conectividade e segurança), na seção Manage IAM roles (Gerenciar funções do IAM), escolha a função a ser adicionada sob Add IAM roles to this cluster (Adicionar funções do IAM a este cluster).

  4. Em Recurso, selecione AuroraAnalytics.

  5. Escolha Add role (adicionar função).

Como associar o perfil do IAM usando a AWS CLI
  • aws rds add-role-to-db-cluster \ --region us-east-1 \ --db-cluster-identifier my-analytics-cluster \ --feature-name AuroraAnalytics \ --role-arn arn:aws:iam::123456789012:role/AuroraAnalyticsRole

O status do perfil do IAM será exibido como Ativo após a associação bem-sucedida. Consulte mais informações em add-role-to-db-cluster na Referência de comandos da AWS CLI.

Configurar redes

Quando o cluster de banco de dados do Aurora é implantado em uma sub-rede privada, ele precisa de um caminho de rede para acessar o Amazon S3 e, opcionalmente, o AWS Glue. Isso pode ser feito por meio de endpoints da VPC (recomendado) ou de um gateway NAT.

Os endpoints da VPC mantêm o tráfego na rede do AWS sem passar pela Internet pública. Além disso, um endpoint de gateway da VPC para o Amazon S3 não tem cobrança adicional por hora, o que faz dessa a abordagem recomendada. Um gateway NAT também funciona se a VPC já encaminhar o tráfego de saída por meio dele, mas o tráfego passa por uma rota pública e há cobranças pelo processamento de dados do NAT. O restante desta seção descreve a configuração dos endpoints da VPC. Consulte mais informações sobre gateways NAT em Gateways NAT.

Endpoints da VPC necessários
Serviço Tipo de endpoint Necessário para
Amazon S3 (com.amazonaws.region.s3) Gateway Acesso a dados do Amazon S3 e das Tabelas do Amazon S3
AWS Glue (com.amazonaws.region.glue) Interface AWS Glue Data Catalogacesso do

Criação de um endpoint de gateway do Amazon S3

Crie um endpoint de gateway do Amazon S3 e associe-o às tabelas de rotas usadas pelas sub-redes do cluster de banco de dados do Aurora.

Consulte mais informações em Criar um endpoint de gateway para o Amazon S3 no Guia do AWS PrivateLink.

Criação de um endpoint de interface do AWS Glue

Se você estiver usando o AWS Glue Data Catalog, crie um endpoint de interface da VPC do AWS Glue com a seguinte configuração:

  • Implante-o nas mesmas sub-redes do cluster de banco de dados do Aurora.

  • Habilite o DNS privado.

  • Associe um grupo de segurança que permita tráfego de entrada na porta TCP 443 a partir do bloco CIDR da VPC ou do mesmo grupo de segurança usado pelo cluster de banco de dados do Aurora PostgreSQL.

Consulte mais informações em Criar um endpoint de interface no Guia do AWS PrivateLink.

Habilitação do recurso no grupo de parâmetros

Por padrão, o parâmetro aurora_analytics.enabled é definido como false. Depois de criar o cluster de banco de dados, habilite o recurso definindo esse parâmetro como true no grupo de parâmetros do cluster de banco de dados.

Como habilitar o recurso usando a AWS CLI
  • aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name my-analytics-params \ --parameters "ParameterName=aurora_analytics.enabled,ParameterValue=true,ApplyMethod=immediate"

Como parâmetro dinâmico, aurora_analytics.enabled é aplicado imediatamente, sem necessidade de reinicialização.

nota

Isso se aplica quando o cluster de banco de dados usa um grupo de parâmetros personalizado. Não é possível modificar o grupo de parâmetros padrão. Se o cluster ainda usar o grupo padrão, primeiro crie um grupo de parâmetros personalizado para o cluster de banco de dados e associe-o ao cluster. A associação a um grupo de parâmetros diferente exige a reinicialização das instâncias de banco de dados para que o novo grupo entre em vigor, embora aurora_analytics.enabled seja, por si só, dinâmico. Consulte mais informações em Trabalhar com grupos de parâmetros de clusters de banco de dados no Guia do usuário do Aurora.

Como habilitar o recurso usando o Console de Gerenciamento da AWS
  1. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Parameter groups.

  3. Selecione o grupo de parâmetros associado ao cluster de banco de dados do Aurora.

  4. Pesquise por aurora_analytics.enabled.

  5. Defina o valor como true.

  6. Escolha Salvar alterações.

Próximas etapas

Após concluir essas etapas, você estará pronto para começar. Para obter mais informações, consulte Introdução.

Consulte orientações sobre como escolher a classe de instância de banco de dados adequada e dimensioná-la para a workload em Práticas recomendadas.