Quais fatores afetam meu tempo de inatividade ou desempenho do banco de dados no Amazon RDS?
Estou tentando modificar minha instância de banco de dados Amazon Relational Database Service (Amazon RDS). Qual é o impacto potencial na disponibilidade ou no desempenho do banco de dados durante essa mudança?
Resolução
Modificando uma classe de instância no Amazon RDS
Quando você modifica a classe de instância de uma instância Single-AZ no Amazon RDS, um novo host Amazon Elastic Compute Cloud (Amazon EC2) é criado. Depois que o novo host do Amazon EC2 for criado com a classe de instância atualizada, o banco de dados do host existente será encerrado. Em seguida, o armazenamento de dados é separado do host antigo e reconectado ao novo host de uma classe de instância solicitada. Seu banco de dados é então reiniciado e o mecanismo executa a recuperação para garantir que seu banco de dados permaneça em um estado consistente. Qualquer interrupção durante esse processo será proporcional à duração da recuperação do banco de dados.
Quando você modifica a classe de instância de uma instância Multi-AZ no Amazon RDS, primeiro sua instância em espera é atualizada. Após essa atualização, ocorre um failover, alternando as funções das instâncias primária e de espera. O mecanismo de failover também propaga o endpoint DNS da instância de banco de dados para apontar para o novo host. Após a recuperação do banco de dados, o banco de dados pode ser acessado pela aplicação. A modificação da classe da instância é então executada na nova instância em espera.
Dependendo da atividade do banco de dados ou de qualquer transação de longa duração, seu failover pode levar mais tempo do que o normal para ser concluído. Normalmente, os failovers são concluídos em 60 a 120 segundos. No entanto, grandes transações ou um longo processo de recuperação podem aumentar o tempo de failover. É uma prática recomendada garantir que não haja transações abertas em seu banco de dados durante uma modificação da instância. Você também pode programar uma tarefa de manutenção para evitar interrupções.
Modificando o armazenamento no Amazon RDS
Se você precisar de espaço adicional para dados ou diferentes atributos de desempenho de armazenamento, o Amazon RDS suporta atualizações para o seguinte (sem impacto no desempenho):
- Alocação de armazenamento
- IOPS
- Tipo de volume
O Amazon RDS utiliza os Elastic Volumes da Amazon Elastic Block Store (Amazon EBS) para minimizar o tempo necessário para operações de escalabilidade de armazenamento. Com base na quantidade de armazenamento solicitada, o Amazon RDS distribui automaticamente vários volumes do Amazon EBS para melhorar o desempenho.
Quando você modifica sua instância para adicionar armazenamento, sua instância de banco de dados fica totalmente operacional para as consultas da aplicação. Depois de modificar o armazenamento em uma instância do RDS, há um período de carência de seis horas antes que você possa fazer atualizações adicionais de armazenamento. Durante esse período, o status da instância é exibido como “otimização de armazenamento”. Quando sua instância entra na fase de “otimização de armazenamento”, os novos atributos de armazenamento são totalmente ativados e o desempenho não é afetado.
Escalando o armazenamento no Amazon RDS
A escalabilidade do armazenamento é um processo online, e o banco de dados está totalmente operacional durante o processo. No entanto, para algumas instâncias antigas do RDS, é necessária uma conversão única de armazenamento.
Durante essa operação, o desempenho de E/S pode ser afetado enquanto o Amazon RDS lê dados do antigo conjunto de volumes e grava no novo conjunto. Além disso, ao escalar além de 400 GB (ou 200 GB para instâncias de banco de dados Oracle), o Amazon RDS também usa o método legado para escalar. Durante o método legado, você pode experimentar a degradação do desempenho. Todas as modificações subsequentes de escalonamento de armazenamento usarão o método de escalonamento elástico.
Conversões de Single-AZ para Multi-AZ no Amazon RDS
Quando você converte uma instância de banco de dados de Single-AZ para Multi-AZ, o Amazon RDS primeiro cria uma cópia do banco de dados. Em seguida, a cópia é restaurada em uma zona de disponibilidade diferente. Como a restauração de snapshots do EBS também faz parte desse processo, os blocos de armazenamento serão copiados para o novo volume. Como resultado, as conversões de Single-AZ para Multi-AZ podem afetar a latência e o desempenho da instância de banco de dados. Para obter mais informações, consulte Alta disponibilidade (Multi-AZ) para Amazon RDS.
O impacto da conversão para Multi-AZ é mais pronunciado em instâncias de banco de dados com uso intenso de gravação com grandes volumes de armazenamento, durante períodos de alto workload. Além disso, qualquer operação que envolva a restauração de volumes (como a criação de réplicas de leitura ou a restauração de instantâneos em uma nova instância de banco de dados) resultará em maior latência. Depois que os blocos de armazenamento forem copiados do Amazon Simple Storage Service (Amazon S3) para o novo volume, qualquer latência diminuirá.
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- Por que a minha instância de banco de dados do Amazon RDS reiniciou, foi recuperada ou fez failover?AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos