View a markdown version of this page

Exporte tabelas do Amazon RDS for SQL Server para um bucket do S3 usando AWS DMS - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exporte tabelas do Amazon RDS for SQL Server para um bucket do S3 usando AWS DMS

Subhani Shaik, Amazon Web Services

Resumo

O Amazon Relational Database Service (Amazon RDS) para SQL Server não suporta o carregamento de dados em outros servidores vinculados a mecanismos de banco de dados (DB) na nuvem Amazon Web Services AWS(). Em vez disso, você pode usar AWS Database Migration Service (AWS DMS) para exportar tabelas do Amazon RDS for SQL Server para um bucket do Amazon Simple Storage Service (Amazon S3), onde os dados estão disponíveis para outros mecanismos de banco de dados.

AWS DMS ajuda você a migrar bancos de dados com AWS rapidez e segurança. O banco de dados de origem permanece totalmente operacional durante a migração, minimizando o tempo de inatividade dos aplicativos que dependem do banco de dados. AWS DMS pode migrar seus dados de e para os bancos de dados comerciais e de código aberto mais usados.

Esse padrão é usado AWS Secrets Manager durante a configuração dos AWS DMS endpoints. O Secrets Manager ajuda você a proteger os segredos necessários para acessar aplicativos, serviços e recursos de TI. Você pode usar o serviço para alternar, gerenciar e recuperar credenciais de banco de dados, chaves de API e outros segredos durante seu ciclo de vida. Usuários e aplicativos recuperam segredos com uma chamada para o Secrets Manager, reduzindo a necessidade de codificar informações confidenciais. O Secrets Manager oferece rotação secreta com integração integrada para Amazon RDS, Amazon Redshift e Amazon DocumentDB (com compatibilidade com MongoDB). Além disso, o serviço é extensível a outros tipos de segredos, incluindo chaves de API e tokens OAuth. Com o Secrets Manager, você pode controlar o acesso a segredos usando permissões refinadas e auditar centralmente a rotação de segredos para recursos na AWS nuvem, serviços de terceiros e no local.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Um bucket Amazon S3

  • Uma nuvem privada virtual (VPC)

  • Uma sub-rede de banco de dados

  • Amazon RDS para SQL Server

  • Uma função AWS Identity and Access Management (IAM) com acesso (listar, obter e colocar objetos) ao bucket do S3 em nome da instância do Amazon RDS

  • Secrets Manager para armazenar as credenciais da instância Amazon RDS

Arquitetura

Pilha de tecnologia

  • Amazon RDS para SQL Server

  • AWS DMS

  • Amazon S3

  • AWS Secrets Manager

Arquitetura de destino

O diagrama a seguir mostra a arquitetura para exportar dados da instância do Amazon RDS para o bucket do Amazon S3 com a ajuda de. AWS DMS

A descrição segue o diagrama.
  1. A tarefa de AWS DMS migração conectando-se à instância de origem do Amazon RDS por meio do endpoint de origem

  2. Copiar dados da instância de origem do Amazon RDS

  3. A tarefa de AWS DMS migração conectando-se ao bucket Amazon S3 de destino por meio do endpoint de destino

  4. Exportação de dados copiados para o bucket do Amazon S3 em formato de valores separados por vírgula (CSV)

Ferramentas

Serviços da AWS

Outras ferramentas

Práticas recomendadas

Épicos

TarefaDescriptionHabilidades necessárias

Criar a instância do Amazon RDS para SQL Server.

  1. Abra o Console de gerenciamento da AWS, escolha RDS e use a opção Standard create para criar uma instância do Amazon RDS com a edição necessária, como SQL Server Express Edition, SQL Server Standard Edition ou SQL Server Enterprise Edition. Para a versão, escolha 2016 ou superior.

  2. Em Modelos, escolha Dev/Test.

DBA, engenheiro DevOps

Configurar as credenciais para a instância.

  1. Insira um nome para a instância.

  2. Forneça um nome de usuário e senha para a instância do Amazon RDS.

DBA, engenheiro DevOps

Configurar a classe, o armazenamento, o ajuste de escala automático e a disponibilidade da instância.

  1. Selecione a classe da instância de banco de dados na lista: classes Padrão, Otimizada para memória e Desempenho expansível. Escolha o tipo de instância de banco de dados que aloca a capacidade computacional, de rede e de memória exigida pelas workloads planejadas para essa instância de banco de dados. Para obter mais informações, consulte a documentação do AWS.

  2. Selecione o tipo de armazenamento na lista: SSD de uso geral, SSD de IOPS provisionado ou magnético. Aloque o tamanho de armazenamento padrão conforme necessário.

  3. Escolha Habilitar escalabilidade automática de armazenamento para aumentar o armazenamento do Amazon RDS com base no seu planejamento de capacidade.

  4. Uma Multi-AZ implantação com uma instância de replicação é suportada pelo AWS DMS. No caso de uma interrupção na zona de disponibilidade, o hardware interno ou a rede AWS DMS criarão uma instância em espera e fornecerão alta disponibilidade (HA) por meio de failover automático para as réplicas em espera. Dependendo do tamanho da importação, selecione a opção apropriada.

DBA, engenheiro DevOps

Especificar a VPC, o grupo de sub-rede, o acesso público e o grupo de segurança.

Selecione a VPC, os grupos de sub-redes de banco de dados e o grupo de segurança da VPC conforme necessário para criar a instância do Amazon RDS. Siga as práticas recomendadas, por exemplo:

  • Não habilite o acesso público à instância do Amazon RDS.

  • Não use o CIDR 0.0.0. 0/0 nos grupos de segurança.

  • Use somente o endereço IP e os detalhes da porta necessários para acessar a instância do Amazon RDS.

DBA, engenheiro DevOps

Configurar o monitoramento, o backup e a manutenção.

  1. Especifique as opções de backup que você deseja. Por padrão, os backups automáticos são habilitados com um período de retenção de sete dias.

  2. Escolha as configurações apropriadas de atualização automática da versão secundária e da janela de manutenção para aplicar as modificações ou a manutenção pendente ao banco de dados pelo Amazon RDS.

  3. Selecione Criar banco de dados.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Criar uma tabela e carregar os dados de exemplo.

No novo banco de dados, crie uma tabela. Use o código de exemplo na seção Informações adicionais para carregar dados na tabela.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Crie o segredo.

  1. No console, escolha Secrets Manager e escolha Armazenar um novo segredo.

  2. Insira um nome de usuário e senha para o banco de dados do Amazon RDS para SQL Server.

Esse segredo será usado para o endpoint AWS DMS de origem.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Criar um perfil do IAM para acessar o Amazon RDS.

  1. No console, escolha IAM e crie uma função do IAM que dê read/write acesso a um bucket do S3 ao Amazon RDS.

  2. Em Atributo, selecione Integração do S3.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Crie o bucket do Amazon S3.

Para salvar os dados do Amazon RDS para SQL Server, no console, escolha S3 e, em seguida, escolha Criar bucket. Certifique-se de que o bucket do Amazon S3 não esteja disponível publicamente.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Crie uma função do IAM AWS DMS para acessar o Amazon S3.

Crie uma função do IAM que AWS DMS permita listar, obter e colocar objetos do bucket do Amazon S3.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Crie o endpoint AWS DMS de origem.

  1. No console, escolha Serviço de migração de banco de dados e escolha Endpoints. Crie o endpoint de origem, marcando a caixa de seleção Selecionar instância de banco de dados do RDS.

  2. Para o mecanismo de origem, selecione Microsoft SQL Server.

  3. Em Acesso ao banco de dados do endpoint AWS Secrets Manager, escolha e insira o segredo e a função do IAM que você criou anteriormente e o nome do banco de dados.

  4. Teste o endpoint de origem.

DBA, engenheiro DevOps

Crie o endpoint de AWS DMS destino.

Crie o Endpoint de destino, selecionando Amazon S3 como Mecanismo de destino.

Forneça o nome do bucket e o nome da pasta do Amazon S3 para a função do IAM que você criou anteriormente.

DBA, engenheiro DevOps

Crie a instância de AWS DMS replicação.

Na mesma VPC, sub-rede e grupo de segurança, crie a instância de replicação AWS DMS . Para obter mais informações sobre como escolher uma classe de instância, consulte a AWS documentação.

DBA, engenheiro DevOps

Crie a tarefa de AWS DMS migração.

Para exportar os dados do Amazon RDS for SQL Server para o bucket do Amazon S3, crie uma tarefa de migração de banco de dados. Para tipo de migração, selecione Migrar dados existentes. Selecione os AWS DMS endpoints e a instância de replicação que você criou.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Executar a tarefa de migração do banco de dados.

Para exportar os dados da tabela do SQL Server, inicie a tarefa de migração do banco de dados. A tarefa exportará os dados do Amazon RDS for SQL Server para o bucket do Amazon S3 no formato CSV.

DBA, engenheiro DevOps
TarefaDescriptionHabilidades necessárias

Excluir os recursos.

Para evitar custos extras, use o console para excluir os recursos na seguinte ordem:

  1. Tarefa de migração

  2. Instância da replicação

  3. Endpoints

  4. Bucket do Amazon S3.

  5. Instância do banco de dados

DBA, engenheiro DevOps

Solução de problemas

ProblemaSolução

Solução de problemas com o Microsoft SQL Server

Para obter mais informações sobre como resolver problemas com o Microsoft SQL Server durante o uso AWS DMS, consulte Solução de problemas com o Microsoft SQL Server.

Solução de problemas de tarefas de migração

Para obter mais informações sobre como resolver problemas de migração durante o uso AWS DMS, consulte Solução de problemas de migração em AWS Database Migration Service.

Recursos relacionados

Mais informações

Para criar o banco de dados e a tabela e carregar os dados de exemplo, use o código a seguir:

--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')