Amazon RDS para SQL Server - AWS Orientação prescritiva

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á.

Amazon RDS para SQL Server

O Amazon RDS para SQL Server é um serviço de banco de dados gerenciado que simplifica o provisionamento e o gerenciamento do SQL Server em AWS. O Amazon RDS facilita a configuração, a operação e a escala de implantações do SQL Server na nuvem. Com o Amazon RDS, você pode implantar várias versões do SQL Server (2014, 2016, 2017, 2019 e 2022) e edições (incluindo Express, Web, Standard e Enterprise) em minutos, com capacidade computacional econômica e redimensionável. Você pode provisionar instâncias de banco de dados do Amazon RDS para SQL Server com armazenamento SSD de uso geral ou SSD de IOPS provisionadas. (Para obter detalhes, consulte Tipos de armazenamento do Amazon RDS na AWS documentação.) O SSD de IOPS provisionadas foi projetado para oferecer desempenho de E/S rápido, previsível e consistente e é otimizado para workloads de banco de dados transacionais (OLTP) com uso intenso de E/S.

O Amazon RDS permite que você se concentre no desenvolvimento de aplicativos, pois gerencia tarefas demoradas de administração do banco de dados, incluindo provisionamento, backups, aplicação de patches de software, monitoramento e escalabilidade de hardware. O Amazon RDS para SQL Server também oferece implantações Multi-AZ e réplicas de leitura (para a edição SQL Server Enterprise) para fornecer alta disponibilidade, desempenho, escalabilidade e confiabilidade para workloads de produção.

Para obter mais informações sobre a migração do SQL Server para o Amazon RDS, consulte os padrões de replataforma no site AWS Prescriptive Guidance.

Quando escolher o Amazon RDS

O Amazon RDS para SQL Server é uma opção de migração quando:

  • Você quer se concentrar em seus negócios e aplicativos e cuidar de tarefas pesadas indiferenciadas, como provisionamento do banco de dados, gerenciamento de tarefas de backup e recuperação, gerenciamento de patches de segurança, pequenas atualizações de versões do SQL Server e gerenciamento de armazenamento. AWS

  • Você precisa de uma solução de banco de dados altamente disponível e quer aproveitar a replicação multi-AZ síncrona e automática oferecida pelo Amazon RDS, sem precisar configurar e manter manualmente o espelhamento de banco de dados, clusters de failover ou grupos de disponibilidade Always On.

  • Você quer pagar pela licença do SQL Server como parte do custo da instância por hora, em vez de fazer um grande investimento inicial.

  • O tamanho do seu banco de dados e as necessidades de IOPS são compatíveis com o Amazon RDS para SQL Server. Consulte Amazon RDS DB Instance Storage na AWS documentação para ver os limites máximos atuais.

  • Você não quer gerenciar backups ou point-in-time recuperações do seu banco de dados.

  • Você quer se concentrar em tarefas de alto nível, como ajuste de desempenho e otimização de esquemas, em vez da administração diária do banco de dados.

  • Você quer escalar o tipo de instância para mais ou para menos com base em seus padrões de workload sem se preocupar com as complexidades do licenciamento.

Depois de avaliar seus requisitos de banco de dados e projeto, se você decidir migrar para o Amazon RDS para SQL Server, consulte os detalhes fornecidos nas seções a seguir e analise as melhores práticas de migração que discutiremos posteriormente neste guia.

Para conhecer os recursos, versões e opções do SQL Server atualmente suportados, consulte os recursos do Amazon RDS for SQL Server no site, Escolha entre AWS o Amazon EC2 e o Amazon RDS, mais adiante neste guia, e o Microsoft SQL Server no Amazon AWS RDS, na documentação. Se você estiver migrando para o Amazon RDS Custom, certifique-se de analisar os requisitos e as limitações do Amazon RDS Custom para SQL Server.

Alta disponibilidade

O Amazon RDS oferece alta disponibilidade e suporte a failover para bancos de dados implantados com a opção Multi-AZ. Quando você provisiona seu banco de dados com a opção Multi-AZ, o Amazon RDS automaticamente provisiona e mantém uma instância em espera síncrona em outra Zona de disponibilidade. O banco de dados primário replica os dados de forma síncrona para a instância em espera. Se ocorrerem problemas, o Amazon RDS repara automaticamente a instância não íntegra e restabelece a sincronização. Em caso de falha na infraestrutura ou interrupção da zona de disponibilidade, o Amazon RDS executa um failover automático para a instância em espera. O failover só ocorrerá se os bancos de dados de modo em espera e primário estiverem totalmente sincronizados. Como o endpoint permanece o mesmo para as instâncias primária e em espera, você pode retomar as operações do banco de dados assim que o failover for concluído, sem realizar uma intervenção manual. Os tempos de failover dependem do tempo necessário para completar o processo de recuperação. Transações grandes aumentam o tempo de failover.

O diagrama a seguir ilustra a opção de implantação Multi-AZ do Amazon RDS para SQL Server.

Amazon RDS for SQL Server in a Multi-AZ configuration

Quando você configura o SQL Server em uma configuração Multi-AZ, o Amazon RDS configura automaticamente a instância de banco de dados em espera usando espelhamento de banco de dados ou grupos de disponibilidade Always On, com base na versão do SQL Server que você implanta. As versões e edições específicas do SQL Server estão listadas na documentação do Amazon RDS.

Em implantações Multi-AZ, operações como escalabilidade de instâncias ou atualizações de sistema, como aplicação de patches no sistema operacional (SO), são aplicadas primeiro na instância em espera, antes do failover automático da instância primária, para maior disponibilidade.

Devido à otimização de failover do SQL Server, determinadas workloads podem gerar maior carga de E/S na instância em espera do que na instância primária, especialmente em implantações de espelhamento de banco de dados. Essa funcionalidade pode resultar em maior IOPS na instância em espera. Recomendamos que você considere as necessidades máximas de IOPS das instâncias primária e de espera ao provisionar o tipo de armazenamento e o IOPS da sua instância de banco de dados Amazon RDS para SQL Server. Você também pode especificar MultiSubnetFailover=True, se o driver do cliente for compatível, para reduzir significativamente o tempo de failover.

Limitações

  • A opção Multi-AZ não está disponível para as edições SQL Server Express e Web. Está disponível somente para as edições Standard e Enterprise do SQL Server.

  • Não é possível configurar a instância de banco de dado secundária para aceitar a atividade de leitura de banco de dados.

  • O Multi-AZ entre regiões não é compatível.

  • No Amazon RDS, você pode emitir um comando stop para uma instância de banco de dados autônoma e manter a instância em um estado parado para evitar cobranças computacionais. Você não pode interromper uma instância de banco de dados do Amazon RDS para SQL Server em uma configuração multi-AZ. Em vez disso, você pode encerrar a instância, tirar um snapshot final antes do encerramento e recriar uma nova instância do Amazon RDS a partir do snapshot quando precisar. Ou você pode remover primeiro a configuração Multi-AZ e depois interromper a instância. Depois de sete dias, sua instância interrompida será reiniciada para que qualquer manutenção pendente possa ser aplicada.

Para ver as limitações adicionais, consulte as notas e recomendações de implantação Multi-AZ do Microsoft SQL Server na documentação do Amazon RDS.

Réplicas de leitura

As réplicas de leitura fornecem escalabilidade e balanceamento de carga. Uma réplica de leitura do SQL Server é uma cópia física de uma instância de banco de dados Amazon RDS para SQL Server usada somente para fins de leitura. O Amazon RDS ajuda a reduzir a carga na instância de banco de dados primária ao transferir workload somente de leitura para a instância de banco de dados de réplica de leitura. As atualizações feitas à instância de banco de dados primária são copiadas de forma assíncrona na réplica de leitura.

Quando você solicita uma réplica de leitura, o Amazon RDS cria um snapshot da instância DB de origem e transfere esse snapshot para a réplica de leitura. Não há interrupção ao criar e excluir uma réplica de leitura. O Amazon RDS para SQL Server atualiza o banco de dados primário imediatamente após a atualização das réplicas de leitura, desconsiderando a janela de manutenção de uma réplica. Cada réplica de leitura vem com um endpoint separado que você usa para se conectar ao banco de dados da réplica de leitura.

O Amazon RDS para SQL Server facilita a criação de réplicas de leitura configurando grupos de disponibilidade Always On e mantendo conexões de rede seguras entre uma instância de banco de dados primário e suas réplicas de leitura.

Você pode configurar uma réplica de leitura na mesma AWS região do seu banco de dados principal. O Amazon RDS para SQL Server é compatível com réplicas de leitura entre regiões Você pode criar até cinco réplicas de leitura de uma instância de banco de dados de origem.

nota

As réplicas de leitura estão disponíveis somente com as seguintes versões e edições do SQL Server:

  • SQL Server 2017 Enterprise Edition 14.00.3049.1 ou posterior

  • SQL Server 2016 Enterprise Edition 13.00.5216.0 ou posterior

As versões e edições do SQL Server que oferecem suporte ao espelhamento de banco de dados para ambientes Multi-AZ não oferecem réplicas de leitura.

O diagrama a seguir ilustra uma instância de banco de dados Amazon RDS for SQL Server em um ambiente Multi-AZ com uma réplica de leitura em outra zona de disponibilidade na mesma região. AWS Nem todas as AWS regiões oferecem mais de duas zonas de disponibilidade, então você deve verificar a região que planeja usar antes de adotar essa estratégia.

Amazon RDS for SQL Server with a read replica in another Availability Zone in the same Region

Uma réplica de leitura do SQL Server não permite operações de gravação. No entanto, é possível promover a réplica de leitura para torná-la gravável. Depois de promovê-la, você não pode revertê-la para uma réplica de leitura. Ela se tornará uma instância de banco de dados única e autônoma que não tem nenhum relacionamento com sua instância de banco de dados primária original. Os dados na réplica de leitura promovida corresponderão aos dados na instância de banco de dados de origem até o ponto quando a solicitação foi feita para promovê-la. A versão do mecanismo de banco de dados SQL Server da instância de banco de dados de origem e todas as réplicas de leitura devem ser iguais.

Para uma replicação eficiente, recomendamos o seguinte:

  • Configure cada réplica de leitura com os mesmos recursos de computação e armazenamento da instância de banco de dados de origem.

  • Você deve habilitar backups automáticos na instância de banco de dados de origem, definindo o período de retenção de backup como um valor diferente de 0 (zero).

  • A instância de banco de dados de origem deve ser uma implantação Multi-AZ com Grupos de disponibilidade Always On.

Para obter suporte, edições e limitações da versão do SQL Server, consulte Leia as limitações da réplica com o SQL Server na documentação do Amazon RDS.

Para obter mais informações sobre o uso de réplicas de leitura, consulte Trabalho com réplicas de leitura e Trabalho com réplicas de leitura do SQL Server para Amazon RDS na documentação. AWS Para ter mais informações sobre a definição e preço da transferência de dados, consulte Definição de preço do Amazon RDS.

Recuperação de desastres

Com o Amazon RDS para SQL Server, você pode criar uma estratégia confiável de recuperação de desastres (DR) entre regiões. Os principais motivos para criar uma solução de DR são a continuidade dos negócios e a conformidade:

  • Uma estratégia eficaz de DR ajuda você a manter seus sistemas em funcionamento com o mínimo ou nenhuma interrupção durante um evento catastrófico. Uma estratégia confiável e eficaz de DR entre regiões mantém sua empresa em operação mesmo que uma região inteira fique off-line.

  • Uma solução de DR entre regiões ajuda você a atender aos requisitos de auditoria e conformidade.

O objetivo de ponto de recuperação (RPO), o objetivo de tempo de recuperação (RTO) e o custo são três métricas principais a serem consideradas ao desenvolver sua estratégia de DR. Para outras opções para fornecer réplicas entre regiões, consulte AWS Marketplace. Para obter mais informações sobre essas abordagens, consulte Recuperação de desastres entre regiões do Amazon RDS for SQL Server no blog AWS do banco de dados.