Exportar dados do cluster de banco de dados para o Amazon S3 - Amazon Aurora

Exportar dados do cluster de banco de dados para o Amazon S3

É possível exportar dados de um cluster de banco de dados do Amazon Aurora para um bucket do Amazon S3. O processo de exportação é executado em segundo plano e não afeta a performance do cluster de banco de dados ativo.

Por padrão, todos os dados no cluster de banco de dados são exportados. No entanto, você pode optar por exportar conjuntos específicos de bancos de dados, esquemas ou tabelas.

O Amazon Aurora clona o cluster de banco de dados, extrai dados do clone e armazena-os em um bucket do Amazon S3. Os dados são armazenados em um formato Apache Parquet que é compactado e consistente. Em geral, os arquivos Parquet individuais têm cerca de 1 a 10 MB de tamanho.

A performance mais rápida que você pode obter com a exportação de dados de snapshot para o Aurora MySQL versão 2 e versão 3 não se aplica à exportação de dados de cluster de banco de dados. Para ter mais informações, consulte Exportar dados de snapshot de cluster de banco de dados para o Amazon S3.

Você recebe cobrança pela exportação de todo o cluster de banco de dados, independentemente de exportar todos os dados ou parte deles. Para ter mais informações, consulte a página Definição de preço do Amazon Aurora.

Depois que os dados são exportados, você pode analisar os dados exportados diretamente por meio de ferramentas, como Amazon Athena ou Amazon Redshift Spectrum. Para ter mais informações sobre como usar o Athena para ler os dados do Parquet, consulte Parquet SerDe no Guia do usuário do Amazon Athena. Para ter mais informações sobre como usar o Redshift Spectrum para ler os dados do Parquet, consulte COPY de formatos de dados colunares no Guia do desenvolvedor de banco de dados do Amazon Redshift.

A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados e entre Regiões da AWS. Para ter mais informações sobre a disponibilidade de versões e regiões para a exportação de dados de cluster de banco de dados para o S3, consulte Regiões e mecanismos de banco de dados do Aurora compatíveis com a exportação de dados de cluster para o Amazon S3.

Limitações

A exportação de dados de cluster de banco de dados para o Amazon S3 apresenta as seguintes limitações:

  • Não é possível executar várias tarefas de exportação para o mesmo cluster de banco de dados simultaneamente. Isso se aplica a exportações totais e parciais.

  • Você pode ter até cinco tarefas de exportação de snapshot de banco de dados simultâneas em andamento por Conta da AWS.

  • Os clusters de banco de dados do Aurora Serverless v1 não são compatíveis com exportações para o S3.

  • O Aurora MySQL e o Aurora PostgreSQL são compatíveis com exportações para o S3 somente para o modo de mecanismo provisionado.

  • As exportações para o S3 não são compatíveis com prefixos do S3 contendo dois pontos (:).

  • Os seguintes caracteres no caminho do arquivo do S3 são convertidos em sublinhados (_) durante a exportação:

    \ ` " (space)
  • Se um banco de dados, esquema ou tabela tiver caracteres em seu nome diferentes dos a seguir, a exportação parcial não será aceita. No entanto, você pode exportar o cluster de banco de dados inteiro.

    • Letras latinas (A–Z)

    • Dígitos (0–9)

    • Símbolo do dólar ($)

    • Sublinhado (_)

  • Espaços ( ) e alguns caracteres não são compatíveis em nomes de colunas de tabelas de banco de dados. As tabelas com os seguintes caracteres em nomes de colunas são ignoradas durante a exportação:

    , ; { } ( ) \n \t = (space)
  • As tabelas com barras (/) em seus nomes são ignoradas durante a exportação.

  • As tabelas temporárias e não registradas do Aurora PostgreSQL são ignoradas durante a exportação.

  • Se os dados contiverem um objeto grande, como um BLOB ou um CLOB, com tamanho próximo ou superior a 500 MB, ocorrerá uma falha na exportação.

  • Se uma tabela contiver uma linha grande próxima ou maior que 2 GB, a tabela será ignorada durante a exportação.

  • Em relação a exportações parciais, a lista ExportOnly tem um tamanho máximo de 200 KB.

  • É altamente recomendável que você use um nome exclusivo para cada tarefa de exportação. Se você não usar um nome de tarefa exclusivo, poderá receber a seguinte mensagem de erro:

    ExportTaskAlreadyExistsFault: An error occurred (ExportTaskAlreadyExists) when calling the StartExportTask operation: The export task with the ID xxxxx already exists [ExportTaskAlreadyExistsFault: ocorreu um erro (ExportTaskAlreadyExists) ao chamar a operação StartExportTask: a tarefa de exportação com o ID xxxxx já existe].

  • Como algumas tabelas podem ser ignoradas, recomendamos que você verifique a contagem de linhas e tabelas nos dados após a exportação.

Visão geral da exportação de dados do cluster de banco de dados

Use o seguinte processo para exportar dados de cluster de banco de dados para um bucket do Amazon S3. Para obter mais detalhes, consulte as seções a seguir.

  1. Identifique o cluster de banco de dados cujos dados você deseja exportar.

  2. Configure o acesso ao bucket do Amazon S3.

    Um bucket é um contêiner de objetos ou arquivos do Amazon S3. Para fornecer informações para acesso a um bucket, execute as seguintes etapas:

    1. Identifique o bucket do S3 para os dados do cluster de banco de dados devem ser exportados. O bucket do S3 deve estar na mesma região da AWS que o cluster de banco de dados. Para ter mais informações, consulte Identificar o bucket do Amazon S3 para exportar.

    2. Crie um perfil do AWS Identity and Access Management (IAM) que conceda à tarefa de exportação de cluster de banco de dados acesso ao bucket do S3. Para ter mais informações, consulte Fornecer acesso a um bucket do Amazon S3 usando um perfil do IAM.

  3. Crie uma criptografia simétrica do AWS KMS key para a criptografia do lado do servidor. A chave do KMS é usada pela tarefa de exportação de cluster para configurar a criptografia do lado do servidor do AWS KMS ao gravar dados de exportação no S3.

    A política de chave do KMS deve incluir as permissões kms:CreateGrant e kms:DescribeKey. Para ter mais informações sobre o uso de chaves do KMS no Amazon Aurora, consulte Gerenciamento de AWS KMS key.

    Além disso, se você tiver uma instrução de negação na política de chaves do KMS, exclua explicitamente a entidade principal de serviço da AWS export.rds.amazonaws.com.

    Você pode utilizar uma chave do KMS na sua conta do AWS ou pode utilizar uma chave do KMS entre contas. Para ter mais informações, consulte Utilizar uma conta cruzada AWS KMS key.

  4. Exporte o cluster de banco de dados para o Amazon S3 usando o console ou o comando start-export-task da CLI. Para ter mais informações, consulte Exportar dados do cluster de banco de dados para o bucket do Amazon S3.

  5. Para acessar os seus dados exportados no bucket do Amazon S3, consulte Como carregar, baixar e gerenciar objetos no Guia do usuário do Amazon Simple Storage Service.

Configurar o acesso a um bucket do Amazon S3

Você identifica o bucket do Amazon S3, depois fornece à tarefa de exportação do cluster de banco de dados permissão para acessá-lo.

Identificar o bucket do Amazon S3 para exportar

Identifique o bucket do Amazon S3 para o qual exportar os dados de cluster de banco de dados. Use um bucket do S3 existente ou crie um novo bucket do S3.

nota

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

Para ter mais informações sobre como trabalhar com buckets do Amazon S3, consulte o seguinte no Guia do usuário do Amazon Simple Storage Service:

Fornecer acesso a um bucket do Amazon S3 usando um perfil do IAM

Antes de exportar dados de cluster de banco de dados para o Amazon S3, forneça a permissão de acesso de gravação ao bucket do Amazon S3 às tarefas de exportação.

Para conceder essa permissão, crie uma política do IAM que forneça acesso ao bucket e, depois, crie um perfil do IAM e anexe a política ao perfil. Posteriormente, você pode atribuir o perfil do IAM à tarefa de exportação do cluster de banco de dados.

Importante

Se você planeja usar o AWS Management Console para exportar seu cluster de banco de dados, poderá optar por criar a política do IAM e o perfil automaticamente ao exportar o cluster de banco de dados. Para obter instruções, consulte Exportar dados do cluster de banco de dados para o bucket do Amazon S3.

Como fornecer às tarefas acesso ao Amazon S3
  1. Crie uma política do IAM. Essa política fornece as permissões de bucket e objeto que permitem que sua tarefa de exportação de cluster de banco de dados acesse o Amazon S3.

    Na política, inclua as ações necessárias a seguir para permitir a transferência de arquivos do Amazon Aurora para um bucket do S3:

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    Na política, inclua os recursos a seguir para identificar o bucket do S3 e os objetos no bucket. A lista de recursos a seguir mostra o formato do nome de recurso da Amazon (ARN) para acessar o Amazon S3.

    • arn:aws:s3:::DOC-EXAMPLE-BUCKET

    • arn:aws:s3:::DOC-EXAMPLE-BUCKET/*

    Para ter mais informações sobre como criar uma política do IAM para o Amazon Aurora, consulte Criar e usar uma política do IAM para acesso do banco de dados do IAM. Consulte também Tutorial: Criar e anexar sua primeira política gerenciada pelo cliente no Guia do usuário do IAM.

    O comando da AWS CLI a seguir cria uma política do IAM denominada ExportPolicy com essas opções. Ele concede acesso a um bucket chamado DOC-EXAMPLE-BUCKET.

    nota

    Depois de criar a política, anote o ARN da política. O ARN será necessário para uma etapa posterior, quando você anexar a política a um perfil do IAM.

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }'
  2. Crie um perfil do IAM para que o Aurora possa assumir esse perfil do IAM em seu nome a fim de acessar os buckets do Amazon S3. Para ter mais informações, consulte Criar um perfil para delegar permissões a um usuário do IAM no Guia do usuário do IAM.

    O exemplo a seguir mostra como usar o comando da AWS CLI para criar uma função chamada rds-s3-export-role.

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Anexe a política do IAM que você criou ao perfil do IAM que você criou.

    O seguinte comando da AWS CLI anexa a política criada anteriormente à função chamada rds-s3-export-role. Substitua your-policy-arn pelo ARN da política que você anotou em uma etapa anterior.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

Utilizar um bucket do Amazon S3 entre contas

É possível utilizar buckets do S3 entre contas da AWS. Para ter mais informações, consulte Utilizar um bucket do Amazon S3 entre contas.

Exportar dados do cluster de banco de dados para o bucket do Amazon S3

Você pode ter até cinco tarefas de exportação de cluster de banco de dados simultâneas em andamento por Conta da AWS.

nota

A exportação dos dados do cluster de banco de dados pode levar um tempo, dependendo do tipo e do tamanho do banco de dados. A tarefa de exportação primeiro clona e escala todo o banco de dados antes de extrair os dados para o Amazon S3. O andamento da tarefa durante essa fase é exibido como Starting (Iniciando). Quando a tarefa muda para a exportação de dados para o S3, o andamento é exibido como In progress (Em andamento).

O tempo necessário para que a exportação seja concluída depende dos dados armazenados no banco de dados. Por exemplo, tabelas com chaves primárias numéricas bem distribuída ou colunas de índice serão exportadas de maneira mais rápida. As tabelas que não contêm uma coluna adequada para particionamento e as tabelas com somente um índice em uma coluna baseada em string levam mais tempo porque a exportação usa um processo em thread único mais lento.

Você pode exportar os dados de cluster de banco de dados para o Amazon S3 usando o AWS Management Console, a AWS CLI ou a API do RDS.

Se você usar uma função do Lambda para exportar os dados do cluster de banco de dados, adicione a ação kms:DescribeKey à política da função do Lambda. Para ter mais informações, consulte Permissões doAWS Lambda.

A opção do console Export to Amazon S3 (Exportar para o Amazon S3) é exibido somente para clusters de banco de dados que podem ser exportados para o Amazon S3. Um cluster de banco de dados pode não estar disponível para exportação devido aos seguintes motivos:

  • O mecanismo de banco de dados não tem suporte para exportação do S3.

  • A versão do cluster de banco de dados não é compatível com a exportação do S3.

  • A exportação do S3 não é aceita na região da AWS onde o cluster de banco de dados foi criado.

Como exportar dados do cluster de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Bancos de dados.

  3. Selecione o cluster de banco de dados cujos dados você deseja exportar.

  4. Em Actions (Ações), escolha Export to Amazon S3 (Exportar para o Amazon S3).

    A janela Export to Amazon S3 (Exportar para o Amazon S3) é exibida.

  5. Em Export identifier (Identificador de exportação), insira um nome para identificar a tarefa de exportação. Esse valor também é usado para o nome do arquivo criado no bucket do S3.

  6. Escolha os dados a serem exportados:

    • Selecione All (Todos) para exportar todos os dados do cluster de banco de dados.

    • Selecione Partial (Parcial) para exportar partes específicas do cluster de banco de dados. Para identificar quais partes do cluster exportar, insira um ou mais bancos de dados, esquemas ou tabelas para Identifiers (Identificadores), separados por espaços.

      Use o formato a seguir:

      database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]

      Por exemplo:

      mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
  7. Em S3 bucket (Bucket do S3), escolha o bucket para o qual exportar.

    Para atribuir os dados exportados a um caminho de pasta no bucket do S3, insira o caminho opcional para o S3 prefix (Prefixo do S3).

  8. Em IAM role (Perfil do IAM), escolha um perfil que conceda a você acesso de gravação ao bucket do S3 escolhido ou crie um novo perfil.

    • Se você criou um perfil seguindo as etapas em Fornecer acesso a um bucket do Amazon S3 usando um perfil do IAM, escolha esse perfil.

    • Se você não criou um perfil que conceda acesso de gravação ao bucket do S3 escolhido, selecione Create a new role (Criar um perfil) para criar o perfil automaticamente. Depois, insira um nome para o perfil em Nome do perfil do IAM.

  9. Em KMS key (Chave do KMS), insira o ARN da chave a ser usada para criptografar os dados exportados.

  10. Escolha Export to Amazon S3 (Exportar para o Amazon S3).

Para exportar dados do cluster de banco de dados para o Amazon S3 usando a AWS CLI, use o comando start-export-task com as seguintes opções necessárias:

  • --export-task-identifier

  • --source-arn: o nome do recurso da Amazon (ARN) do cluster de banco de dados

  • --s3-bucket-name

  • --iam-role-arn

  • --kms-key-id

Nos exemplos a seguir, a tarefa de exportação é chamada my-cluster-export, que exporta os dados para um bucket do S3 chamado DOC-EXAMPLE-DESTINATION-BUCKET.

Para Linux, macOS ou Unix:

aws rds start-export-task \ --export-task-identifier my-cluster-export \ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \ --s3-bucket-name DOC-EXAMPLE-DESTINATION-BUCKET \ --iam-role-arn iam-role \ --kms-key-id my-key

Para Windows:

aws rds start-export-task ^ --export-task-identifier my-DB-cluster-export ^ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^ --s3-bucket-name DOC-EXAMPLE-DESTINATION-BUCKET ^ --iam-role-arn iam-role ^ --kms-key-id my-key

Segue um exemplo de saída.

{ "ExportTaskIdentifier": "my-cluster-export", "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster", "S3Bucket": "DOC-EXAMPLE-DESTINATION-BUCKET", "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest", "KmsKeyId": "my-key", "Status": "STARTING", "PercentProgress": 0, "TotalExtractedDataInGB": 0, }

Para fornecer um caminho de pasta no bucket do S3 para a exportação do cluster de banco de dados, inclua a opção --s3-prefix no comando start-export-task.

Para exportar dados do cluster de banco de dados para o Amazon S3 usando a API do Amazon RDS, use a operação StartExportTask com os seguintes parâmetros necessários:

  • ExportTaskIdentifier

  • SourceArn: o ARN do cluster de banco de dados

  • S3BucketName

  • IamRoleArn

  • KmsKeyId

Monitorar tarefas de exportação do cluster de banco de dados

Você pode monitorar as exportações de cluster de banco de dados usando o AWS Management Console, a AWS CLI e a API do RDS.

Como monitorar exportações do cluster de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Exports in Amazon S3 (Exportações no Amazon S3).

    As exportações do cluster de banco de dados são indicadas na coluna Source type (Tipo de origem). O status da exportação é exibido na coluna Status.

  3. Para visualizar informações detalhadas sobre uma exportação de cluster de banco de dados específica, selecione a tarefa de exportação.

Para monitorar exportações de cluster de banco de dados usando a AWS CLI, utilize o comando describe-export-tasks.

O exemplo a seguir mostra como exibir informações atuais sobre todas as exportações do cluster de banco de dados.

aws rds describe-export-tasks { "ExportTasks": [ { "Status": "CANCELED", "TaskEndTime": "2022-11-01T17:36:46.961Z", "S3Prefix": "something", "S3Bucket": "DOC-EXAMPLE-BUCKET", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "anewtest", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:parameter-groups-test" }, { "Status": "COMPLETE", "TaskStartTime": "2022-10-31T20:58:06.998Z", "TaskEndTime": "2022-10-31T21:37:28.312Z", "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}", "S3Prefix": "", "S3Bucket": "DOC-EXAMPLE-BUCKET1", "PercentProgress": 100, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "thursday-events-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 263, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-31-06-44" }, { "Status": "FAILED", "TaskEndTime": "2022-10-31T02:12:36.409Z", "FailureCause": "The S3 bucket DOC-EXAMPLE-BUCKET2 isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.", "S3Prefix": "", "S3Bucket": "DOC-EXAMPLE-BUCKET2", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "wednesday-afternoon-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-30-06-45" } ] }

Para exibir informações sobre uma tarefa de exportação específica, inclua a opção --export-task-identifier com o comando describe-export-tasks. Para filtrar a saída, inclua a opção --Filters. Para obter mais opções, consulte o comando describe-export-tasks.

Para exibir informações sobre exportações de cluster de banco de dados usando a API do Amazon RDS, use a operação DescribeExportTasks.

Para rastrear a conclusão do fluxo de trabalho de exportação ou acionar outro fluxo de trabalho, você pode assinar tópicos do Amazon Simple Notification Service. Para ter mais informações sobre Amazon SNS, consulte Trabalhar com a notificação de eventos do Amazon RDS.

Cancelar uma tarefa de exportação de cluster de banco de dados

Você pode cancelar uma tarefa de exportação de cluster de banco de dados usando o AWS Management Console, a AWS CLI ou a API do RDS.

nota

O cancelamento de uma tarefa de exportação não remove os dados que foram exportados para o Amazon S3. Para obter informações sobre como excluir os dados usando o console, consulte Como excluir objetos de um bucket do S3? Para excluir os dados usando a CLI, use o comando delete-object.

Como cancelar uma tarefa de exportação de cluster de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Exports in Amazon S3 (Exportações no Amazon S3).

    As exportações do cluster de banco de dados são indicadas na coluna Source type (Tipo de origem). O status da exportação é exibido na coluna Status.

  3. Selecione a tarefa de exportação que você deseja cancelar.

  4. Escolha Cancelar.

  5. Escolha Cancel export task (Cancelar tarefa de exportação) na página de confirmação.

Para cancelar uma tarefa de exportação usando a AWS CLI, use o comando cancel-export-task. O comando requer a opção --export-task-identifier.

aws rds cancel-export-task --export-task-identifier my-export { "Status": "CANCELING", "S3Prefix": "", "S3Bucket": "DOC-EXAMPLE-BUCKET", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "my-export", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:export-example-1" }

Para cancelar uma tarefa de exportação usando a API do Amazon RDS, use a operação CancelExportTask com o parâmetro ExportTaskIdentifier.

Mensagens de falha de tarefas de exportação do Amazon S3

A tabela a seguir descreve as mensagens que são retornadas quando ocorrem falhas nas tarefas de exportação do Amazon S3.

Mensagem de falha Descrição
Falha ao encontrar ou acessar o cluster de banco de dados de origem: [nome do cluster] O cluster de banco de dados de origem não pode ser clonado.
Ocorreu um erro interno desconhecido.

O processamento da falha devido a um erro, uma exceção ou uma falha desconhecida.

Ocorreu um erro interno desconhecido ao gravar os metadados da tarefa de exportação no bucket do S3 [nome do bucket].

O processamento da falha devido a um erro, uma exceção ou uma falha desconhecida.

A exportação do RDS falhou ao gravar os metadados da tarefa de exportação porque ela não pode assumir o perfil do IAM [ARN do perfil].

A tarefa de exportação assume seu perfil do IAM para validar se pode gravar metadados no seu bucket do S3. Se a tarefa não puder assumir seu perfil do IAM, ela falhará.

A exportação do RDS falhou ao gravar os metadados da tarefa de exportação no bucket do S3 [nome do bucket] utilizando o perfil do IAM [ARN do perfil] com a chave do KMS [ID da chave]. Código de erro: [código de erro]

Uma ou mais permissões estão ausentes e, portanto, a tarefa de exportação não consegue acessar o bucket do S3. Essa mensagem de falha é gerada quando você recebe um dos seguintes códigos de erro:

  • AWSSecurityTokenServiceException com o código de erro AccessDenied

  • AmazonS3Exception com o código de erro NoSuchBucket, AccessDenied, KMS.KMSInvalidStateException, 403 Forbidden ou KMS.DisabledException

Esses códigos de erro indicam que as configurações estão definidas incorretamente para o perfil do IAM, o bucket do S3 ou a chave do KMS.

O perfil do IAM [ARN do perfil] não está autorizado a chamar [ação do S3] no bucket do S3 [nome do bucket]. Revise suas permissões e tente novamente a exportação.

A política do IAM está incorretamente configurada. A permissão para a ação específica do S3 no bucket do S3 está ausente, o que causa falha na tarefa de exportação.

A verificação da chave do KMS falhou. Verifique as credenciais na sua chave do KMS e tente novamente. A verificação de credenciais da chave KMS do falhou.
Falha na verificação de credenciais do S3. Verifique as permissões no bucket do S3 e a política do IAM. A verificação de credenciais do S3 falhou.
O bucket do S3 [nome do bucket] não é válido. Ele não está localizado na Região da AWS atual ou não existe. Reveja o nome do bucket do S3 e tente exportar novamente. O bucket do S3 não é válido.
O bucket do S3 [nome do bucket] não está localizado na Região da AWS atual. Reveja o nome do bucket do S3 e tente exportar novamente. O bucket da S3 está na Região da AWS incorreta.

Solucionar problemas de erros de permissões do PostgreSQL

Ao exportar bancos de dados PostgreSQL para o Amazon S3, é possível ver um erro PERMISSIONS_DO_NOT_EXIST informando que determinadas tabelas foram ignoradas. Esse erro geralmente ocorre quando o superusuário, especificado ao criar o cluster de banco de dados, não tem permissões para acessar essas tabelas.

Para corrigir esse erro, execute o seguinte comando:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name

Para ter mais informações sobre privilégios de superusuário, consulte Privilégios da conta de usuário mestre.

Convenção de nomenclatura de arquivos

Os dados exportados para tabelas específicas são armazenados no formato base_prefix/files, onde o prefixo base é o seguinte:

export_identifier/database_name/schema_name.table_name/

Por exemplo:

export-1234567890123-459/rdststcluster/mycluster.DataInsert_7ADB5D19965123A2/

Os arquivos de saída usam a seguinte convenção de nomenclatura, em que partition_index é alfanumérico:

partition_index/part-00000-random_uuid.format-based_extension

Por exemplo:

1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet a/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet

A convenção de nomenclatura de arquivos está sujeita a alterações. Portanto, ao ler as tabelas de destino, recomendamos que você leia tudo dentro do prefixo base para a tabela.

Formato de conversão e armazenamento de dados

Ao exportar um cluster de banco de dados para um bucket do Amazon S3, o Amazon Aurora converte os dados para o formato Parquet e exporta e armazena os dados nesse formato. Para ter mais informações, consulte Conversão de dados ao exportar para um bucket do Amazon S3.