Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3 - Amazon Relational Database Service

Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3

É possível transferir arquivos entre uma instância de banco de dados do Amazon RDS for SQL Server e um bucket do Amazon S3. Ao fazer isso, é possível usar o Amazon S3 com os recursos do SQL Server, como BULK INSERT. Por exemplo, é possível baixar .csv, .xml, .txt e outros arquivos do Amazon S3 no host da instância de banco de dados de D:\S3\ para o banco de dados. Todos os arquivos são armazenados em D:\S3\ na instância de banco de dados.

As limitações a seguir se aplicam a:

  • Os arquivos na pasta D:\S3 são excluídos na réplica em espera após um failover em instâncias Multi-AZ. Para obter mais informações, consulte Limitações Multi-AZ para a integração do S3.

  • A instância de banco de dados e o bucket do S3 devem estar na mesma região da AWS.

  • Se você executar mais de uma tarefa de integração do S3 por vez, as tarefas serão executadas sequencialmente, não em paralelo.

    nota

    As tarefas de integração do S3 compartilham a mesma fila que as tarefas nativas de backup e restauração. É possível ter no máximo duas tarefas em andamento a qualquer momento nesta fila. Portanto, duas tarefas nativas de backup e restauração em execução bloquearão todas as tarefas de integração do S3.

  • É necessário habilitar novamente o recurso de integração do S3 em instâncias restauradas. A integração do S3 não é propagada da instância de origem para a instância restaurada. Os arquivos em D:\S3 são excluídos em uma instância restaurada.

  • O download na instância de banco de dados é limitado a 100 arquivos. Em outras palavras, não pode haver mais de 100 arquivos em D:\S3\.

  • Somente arquivos sem extensões de arquivo ou com as seguintes extensões de arquivo são aceitos para download: .abf, .asdatabase, .bcp, .configsettings, .csv, .dat, .deploymentoptions, .deploymenttargets, .fmt, .info, .ispac, .lst, .tbl, .txt, .xml e .xmla.

  • O bucket do S3 deve ter o mesmo proprietário da função do AWS Identity and Access Management (IAM) relacionada. Portanto, a integração do S3 entre contas não tem suporte.

  • O bucket do S3 não pode ser aberto ao público.

  • O tamanho do arquivo para uploads do RDS para o S3 é limitado a 50 GB por arquivo.

  • O tamanho do arquivo para downloads do S3 para o RDS é limitado ao máximo aceito pelo S3.

Para obter mais informações sobre como trabalhar com arquivos no Amazon S3, consulte Conceitos básicos do Amazon Simple Storage Service.

Limitações Multi-AZ para a integração do S3

Em instâncias Multi-AZ, os arquivos na pasta D:\S3 são excluídos na réplica em espera após um failover. Um failover pode ser planejado, por exemplo, durante modificações de instâncias de banco de dados, como alterar a classe de instância ou atualizar a versão do mecanismo. Ou um failover pode ser não planejado, durante uma interrupção do principal.

nota

Não recomendamos usar a pasta D:\S3 para armazenamento de arquivos. A prática recomendada é carregar arquivos criados no Amazon S3 para torná-los duráveis e baixar arquivos quando precisar importar dados.

Para determinar o último tempo de failover, é possível usar o procedimento msdb.dbo.rds_failover_time armazenado. Para obter mais informações, consulte Determinar o horário do último failover do Amazon RDS para SQL Server.

exemplo de nenhum failover recente

Este exemplo mostra a saída quando não há nenhum failover recente nos logs de erros. Nenhum failover aconteceu desde 29-04-2020 23:59:00.01.

Portanto, todos os arquivos baixados após esse horário que não foram excluídos usando o procedimento rds_delete_from_filesystem armazenado ainda estão acessíveis no host atual. Arquivos baixados antes desse horário também podem estar disponíveis.

errorlog_available_from recent_failover_time

29-04-2020 23:59:00.0100000

nulo

exemplo de failover recente

Este exemplo mostra a saída quando há um failover nos logs de erros. O failover mais recente foi em 05-05-2020 18:57:51.89.

Todos os arquivos baixados após esse horário que não foram excluídos usando o procedimento rds_delete_from_filesystem armazenado ainda estão acessíveis no host atual.

errorlog_available_from recent_failover_time

29-04-2020 23:59:00.0100000

05-05-2020 18:57:51.8900000