Manutenção de um cluster de banco de dados do Amazon Aurora
Periodicamente, o Amazon RDS realiza a manutenção em seus recursos.
Tópicos
- Visão geral das atualizações de manutenção do cluster de banco de dados
- Visualizar atualizações de manutenção pendentes
- Aplicação de atualizações para um cluster de banco de dados
- A janela de manutenção do Amazon RDS
- Ajustar a janela de manutenção do cluster de banco de dados preferencial
- Atualizações da versão secundária automáticas para clusters de banco de dados do Aurora
- Escolher a frequência das atualizações de manutenção do Aurora MySQL
- Atualizações do sistema operacional no Amazon Aurora
Visão geral das atualizações de manutenção do cluster de banco de dados
A manutenção geralmente envolve atualizações dos seguintes atributos no cluster de banco de dados:
-
Hardware subjacente
-
Sistema operacional subjacente
-
Versão do mecanismo de banco de dados
As atualizações no sistema operacional geralmente ocorrem para problemas de segurança. Recomendamos que você os faça o quanto antes. Para ter mais informações sobre os sistemas operacionais compatíveis, consulte Aplicação de atualizações para um cluster de banco de dados.
Tópicos
Recursos off-line durante as atualizações de manutenção
Alguns itens de manutenção exigem que o Amazon RDS coloque o cluster de banco de dados off-line por um curto período. Entre os itens de manutenção que exigem um recurso esteja offline estão sistema operacional obrigatório ou patches de banco de dados. A aplicação obrigatória de patches é automaticamente programada somente para patches relacionados à segurança e à confiabilidade da instância. Essa correção ocorre com pouca frequência, normalmente uma vez a cada poucos meses. Raramente requer mais do que uma fração de sua janela de manutenção.
Modificações adiadas da instância de banco de dados e do cluster de banco de dados
As modificações adiadas no cluster e na instância de banco de dados que você optou por não aplicar imediatamente são aplicadas durante a janela de manutenção. Por exemplo, você pode optar por alterar classes de instância de banco de dados ou grupos de parâmetros de cluster ou banco de dados durante a janela de manutenção. Essas modificações especificadas usando a configuração pending reboot (reinicialização pendente) não aparecem na lista Pending maintenance (Manutenção pendente). Para obter informações sobre como modificar um cluster de banco de dados, consulte Modificar um cluster de bancos de dados Amazon Aurora.
Para ver as modificações pendentes para a próxima janela de manutenção, use o comando describe-db-clustersPendingModifiedValues
.
Consistência eventual da API DescribePendingMaintenanceActions
A API DescribePendingMaintenanceActions
do Amazon RDS segue o modelo de consistência eventual. Isso significa que o resultado do comando DescribePendingMaintenanceActions
poderá não ser imediatamente visível para todos os comandos subsequentes do RDS. Lembre-se disso ao usar DescribePendingMaintenanceActions
imediatamente após usar um comando de API anterior.
A consistência eventual pode afetar a maneira como você gerencia suas atualizações de manutenção. Por exemplo, se você executar o comando ApplyPendingMaintenanceActions
para atualizar a versão do mecanismo de banco de dados para um cluster de banco de dados, ela ficará visível para DescribePendingMaintenanceActions
. Nesse cenário, DescribePendingMaintenanceActions
pode mostrar que a ação de manutenção não foi aplicada, embora tenha sido.
Para gerenciar a consistência eventual, é possível fazer o seguinte:
-
Confirme o estado do cluster de banco de dados antes de executar um comando para modificá-lo. Execute o comando
DescribePendingMaintenanceActions
apropriado usando um algoritmo de recuo exponencial para garantir tempo suficiente para que o comando anterior se propague pelo sistema. Para fazer isso, execute o comandoDescribePendingMaintenanceActions
repetidamente, começando com alguns segundos de espera e aumentando gradualmente até cinco minutos de espera. -
Adicione o tempo de espera entre os comandos subsequentes, mesmo que um comando
DescribePendingMaintenanceActions
exiba uma resposta precisa. Aplique um algoritmo de recuo exponencial começando com alguns segundos de espera e aumente gradualmente até cerca de cinco minutos de espera.
Visualizar atualizações de manutenção pendentes
Veja se uma atualização de manutenção está disponível para seu cluster de banco de dados utilizando o console do RDS, a AWS CLI ou a API do RDS. Se estiver disponível, uma atualização será indicada na coluna Maintenance (Manutenção) do cluster de banco de dados no console do Amazon RDS, conforme mostrado a seguir.
Se nenhuma atualização de manutenção estiver disponível para um cluster de banco de dados, o valor da coluna será none.
Se uma atualização de manutenção estiver disponível para um cluster de banco de dados, os seguintes valores de coluna serão possíveis:
-
obrigatório – a ação de manutenção será aplicada ao recurso e não pode ser adiada indefinidamente.
-
available (disponível) – a ação de manutenção está disponível, mas não será aplicada automaticamente ao recurso. Você pode aplicá-la manualmente.
-
next window (próxima janela) – a ação de manutenção será aplicada ao recurso durante a próxima janela de manutenção.
-
In progress (Em andamento) – a ação de manutenção está no processo de ser aplicado ao recurso.
Se uma atualização estiver disponível, você poderá seguir uma destas ações:
-
Se o valor de manutenção for next window (próxima janela), adie os itens de manutenção escolhendo Defer upgrade (Adiar atualização) em Actions (Ações). Não é possível adiar uma ação de manutenção que já tiver sido iniciada.
-
Aplicar os itens de manutenção imediatamente.
-
Agendar os itens de manutenção para iniciar durante a próxima janela de manutenção.
-
Não tome nenhuma ação.
Para executar uma ação, escolha o cluster de banco de dados para mostrar seus detalhes e escolha Maintenance & backups (Manutenção e backups). Os itens de manutenção pendentes são exibidos.
A janela de manutenção determina quando as operações pendentes começam, mas não limita o tempo total de execução dessas operações. Não há garantia de que as operações de manutenção terminem antes de a janela de manutenção se encerrar, podendo continuar além do tempo de encerramento especificado. Para ter mais informações, consulte A janela de manutenção do Amazon RDS.
Para obter informações sobre atualizações feitas para mecanismos do Amazon Aurora e instruções para atualizar e corrigi-los, consulte Atualizações do mecanismo de banco de dados Amazon Aurora MySQL e Atualizações do Amazon Aurora PostgreSQL.
Você pode ver se uma atualização de manutenção está disponível para seu cluster de banco de dados executando o comando describe-pending-maintenance-actions
da AWS CLI.
Para ter informações sobre a aplicação de atualizações de manutenção, consulte Aplicação de atualizações para um cluster de banco de dados.
A janela de manutenção do Amazon RDS
As janelas de manutenção são um intervalo de tempo semanal durante o qual todas as alterações do sistema são aplicadas. Cada cluster de banco de dados tem uma janela de manutenção semanal. A janela de manutenção é uma oportunidade de controlar quando as modificações e a aplicação de patches de software ocorrem. Para ter mais informações sobre como ajustar a janela de manutenção, consulte Ajustar a janela de manutenção do cluster de banco de dados preferencial.
O RDS consome alguns dos recursos em seu cluster de banco de dados enquanto a manutenção é aplicada. Você poderá observar um impacto mínimo na performance. Quanto a uma instância de banco de dados, em raras ocasiões, pode ser necessário realizar um failover Multi-AZ para concluir uma atualização de manutenção.
Se um evento de manutenção estiver programado para determinada semana, ele será iniciado durante a janela de manutenção de 30 minutos que você identificar. A maioria dos eventos de manutenção também é concluída durante a janela de manutenção de 30 minutos, embora os eventos de manutenção mais longos possam levar mais de 30 minutos para serem concluídos. A janela de manutenção é pausada quando o cluster de banco de dados é interrompido.
A janela de manutenção de 30 minutos é selecionada aleatoriamente de um bloco de tempo de 8 horas por região. Se você não especificar uma janela de manutenção ao criar o cluster de banco de dados, o RDS atribuirá uma janela de manutenção de 30 minutos em um dia da semana selecionado aleatoriamente.
A seguir, você pode encontrar os blocos de tempo de cada região dos quais as janelas de manutenção padrão são atribuídas.
Nome da região | Região | Bloco de hora |
---|---|---|
Leste dos EUA (Norte da Virgínia) | us-east-1 | De 03:00 a 11:00 UTC |
Leste dos EUA (Ohio) | us-east-2 | Das 3h às 11h (UTC) |
US West (N. California) | us-west-1 | De 06:00 a 14:00 UTC |
US West (Oregon) | us-west-2 | De 06:00 a 14:00 UTC |
Africa (Cape Town) | af-south-1 | De 03:00 a 11:00 UTC |
Asia Pacific (Hong Kong) | ap-east-1 | De 06:00 a 14:00 UTC |
Ásia-Pacífico (Hyderabad) | ap-south-2 | 06h30 a 14h30 UTC |
Ásia-Pacífico (Jacarta) | ap-southeast-3 | Das 08h às 16h UTC |
Ásia-Pacífico (Malásia) | ap-southeast-5 | Das 9h às 17h (UTC) |
Ásia-Pacífico (Melbourne) | ap-southeast-4 | Das 11h às 19h UTC |
Ásia-Pacífico (Mumbai) | ap-south-1 | De 06:00 a 14:00 UTC |
Asia Pacific (Osaka) | ap-northeast-3 | De 22:00 a 23:59 UTC |
Asia Pacific (Seoul) | ap-northeast-2 | De 13:00 a 21:00 UTC |
Ásia-Pacífico (Singapura) | ap-southeast-1 | De 14:00 a 22:00 UTC |
Asia Pacific (Sydney) | ap-southeast-2 | De 12:00 a 20:00 UTC |
Asia Pacific (Tokyo) | ap-northeast-1 | De 13:00 a 21:00 UTC |
Canada (Central) | ca-central-1 | De 03:00 a 11:00 UTC |
Oeste do Canadá (Calgary) | ca-west-1 | Das 18h às 2h (UTC) |
China (Pequim) | cn-north-1 | De 06:00 a 14:00 UTC |
China (Ningxia) | cn-northwest-1 | De 06:00 a 14:00 UTC |
Europe (Frankfurt) | eu-central-1 | De 21:00 a 05:00 UTC |
Europe (Ireland) | eu-west-1 | De 22:00 a 06:00 UTC |
Europe (London) | eu-west-2 | De 22:00 a 06:00 UTC |
Europa (Milão) | eu-south-1 | De 02:00 a 10:00 UTC |
Europa (Paris) | eu-west-3 | De 23:59 a 07:29 UTC |
Europa (Espanha) | eu-south-2 | De 02:00 a 10:00 UTC |
Europe (Stockholm) | eu-north-1 | De 23:00 a 07:00 UTC |
Europa (Zurique) | eu-central-2 | De 02:00 a 10:00 UTC |
Israel (Tel Aviv) | il-central-1 | De 03:00 a 11:00 UTC |
Oriente Médio (Barém) | me-south-1 | De 06:00 a 14:00 UTC |
Oriente Médio (Emirados Árabes Unidos) | me-central-1 | Das 5h às 13h UTC |
América do Sul (São Paulo) | sa-east-1 | De 00:00 a 08:00 UTC |
AWS GovCloud (Leste dos EUA) | us-gov-east-1 | De 17:00 a 01:00 UTC |
AWS GovCloud (Oeste dos EUA) | us-gov-west-1 | De 06:00 a 14:00 UTC |
Atualizações da versão secundária automáticas para clusters de banco de dados do Aurora
A configuração Upgrade automático de versões secundárias especifica se o Aurora aplica upgrades automaticamente em seu cluster. Esses upgrades incluem novas versões secundárias que contêm atributos adicionais e patches que contêm correções de bugs.
Essa configuração está ativada por padrão. Para cada novo cluster de banco de dados, selecione o valor apropriado para essa configuração. Esse valor é baseado em sua importância, tempo de vida esperado e a quantidade de testes de verificação que você faz após cada atualização.
Para obter instruções sobre como ativar ou desativar a configuração Upgrade automático de versões secundárias, consulte o seguinte:
Importante
É altamente recomendável que, para clusters de banco de dados novos e existentes, você aplique essa configuração ao cluster de banco de dados e não às instâncias de banco de dados do cluster individualmente. Se alguma instância de banco de dados em seu cluster tiver essa configuração desativada, o cluster de banco de dados não receberá upgrade automaticamente.
A tabela a seguir mostra como a configuração Upgrade automático de versões secundárias funciona quando aplicada nos níveis de cluster e instância.
Ação | Configuração do cluster | Configurações das instâncias | O cluster recebe upgrade automaticamente? |
---|---|---|---|
Você define como True no cluster de banco de dados. | Verdadeiro | True para todas as instâncias novas e existentes | Sim |
Você define como False no cluster de banco de dados. | Falso | False para todas as instâncias novas e existentes | Não |
Já estava definido como True no cluster de banco de dados. Você define como False em pelo menos uma instância de banco de dados. |
Muda para False | False para uma ou mais instâncias | Não |
Já estava definido como False no cluster de banco de dados. Você define como True em pelo menos uma instância de banco de dados, mas não em todas as instâncias. |
Falso | True para uma ou mais instâncias, mas não para todas as instâncias | Não |
Já estava definido como False no cluster de banco de dados. Você define como True em todas as instâncias de banco de dados. |
Muda para True | True para todas as instâncias | Sim |
As atualizações automáticas de versões secundárias são comunicadas com antecedência por meio de um evento de cluster de banco de dados do Amazon RDS com a categoria maintenance
e o ID RDS-EVENT-0156
. Para ter mais informações, consulte Categorias de eventos e mensagens de eventos do Amazon RDS para o Aurora.
Os upgrades automáticos ocorrem durante as janelas de manutenção. Se as instâncias de banco de dados individuais no cluster de banco de dados tiverem janelas de manutenção diferentes da janela de manutenção do cluster, a janela de manutenção do cluster terá precedência.
Para ter mais informações sobre atualizações de mecanismos para o Aurora PostgreSQL, consulte Atualizações do Amazon Aurora PostgreSQL.
Para ter mais informações sobre a configuração Auto minor version upgrade (Atualização automática de versão secundária) para o Aurora MySQL, consulte Habilitar atualizações automáticas entre versões secundárias do Aurora MySQL. Para obter informações gerais sobre atualizações de mecanismos para o Aurora MySQL, consulte Atualizações do mecanismo de banco de dados Amazon Aurora MySQL.
Siga o procedimento geral em Modificar o cluster de banco de dados usando o console, a CLI e a API.
- Console
-
Na seção Manutenção da página Modificar cluster de banco de dados, marque a caixa de seleção Habilitar o upgrade automático da versão secundária.
- AWS CLI
-
Chame o comando modify-db-cluster da AWS CLI. Especifique o nome do cluster de banco de dados para a opção
--db-cluster-identifier
etrue
para a opção--auto-minor-version-upgrade
. Opcionalmente, especifique a opção--apply-immediately
para habilitar imediatamente essa configuração para o cluster de banco de dados. - API do RDS
-
Chame a operação de API ModifyDBCluster e especifique o nome do cluster de banco de dados para o parâmetro
DBClusterIdentifier
etrue
para o parâmetroAutoMinorVersionUpgrade
. Opcionalmente, defina o parâmetroApplyImmediately
comotrue
para habilitar imediatamente essa configuração para o cluster de banco de dados.
Siga o procedimento geral em Modificar uma instância de banco de dados em um cluster de banco de dados.
- Console
-
Na seção Manutenção da página Modificar instância de banco de dados, marque a caixa de seleção Habilitar o upgrade automático da versão secundária.
- AWS CLI
-
Chame o comando modify-db-instance da AWS CLI. Especifique o nome da instância de banco de dados para a opção
--db-instance-identifier
etrue
para a opção--auto-minor-version-upgrade
. Opcionalmente, especifique a opção--apply-immediately
para habilitar imediatamente essa configuração para sua instância de banco de dados. Execute um comandomodify-db-instance
separado para cada instância de banco de dados no cluster. - API do RDS
-
Chame a operação de API ModifyDBInstance e especifique o nome do cluster de banco de dados para o parâmetro
DBInstanceIdentifier
etrue
para o parâmetroAutoMinorVersionUpgrade
. Opcionalmente, defina o parâmetroApplyImmediately
comotrue
para habilitar imediatamente essa configuração para sua instância de banco de dados. Chame uma operaçãoModifyDBInstance
separada para cada instância de banco de dados no cluster.
É possível usar um comando de CLI como o seguinte para conferir o status da configuração AutoMinorVersionUpgrade
para todas as instâncias de banco de dados em seus clusters do Aurora MySQL.
aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'
Esse comando gerará uma saída semelhante à seguinte:
[ { "DBInstanceIdentifier": "db-writer-instance", "DBClusterIdentifier": "my-db-cluster-57", "AutoMinorVersionUpgrade": true }, { "DBInstanceIdentifier": "db-reader-instance1", "DBClusterIdentifier": "my-db-cluster-57", "AutoMinorVersionUpgrade": false }, { "DBInstanceIdentifier": "db-writer-instance2", "DBClusterIdentifier": "my-db-cluster-80", "AutoMinorVersionUpgrade": true }, ... output omitted ...
Neste exemplo, a opção Habilitar atualização automática da versão secundária está desativada para o cluster de banco de dados my-db-cluster-57
porque está desativada para uma das instâncias de banco de dados no cluster.
Escolher a frequência das atualizações de manutenção do Aurora MySQL
Você pode controlar se as atualizações do Aurora MySQL ocorrem com frequência ou raramente para cada cluster de banco de dados. A melhor opção depende do seu uso do Aurora MySQL e das prioridades das aplicações que são executadas no Aurora. Para saber mais sobre as versões de estabilidade a longo prazo (LTS) do Aurora MySQL que exigem upgrades menos frequentes, consulte Versões de suporte de longo prazo (LTS) do Aurora MySQL.
Você pode optar por atualizar um cluster Aurora MySQL raramente se algumas ou todas as seguintes condições se aplicarem:
-
O ciclo de testes para o aplicativo exige muito tempo para cada atualização no mecanismo de banco de dados Aurora MySQL.
-
Você tem muitos clusters de banco de dados ou muitos aplicativos, todos em execução na mesma versão do Aurora MySQL. Você prefere atualizar todos os clusters de banco de dados e aplicativos associados ao mesmo tempo.
-
Use o Aurora MySQL e o RDS para MySQL. Você prefere manter os clusters do Aurora MySQL e as instâncias de banco de dados do RDS para MySQL compatíveis com o mesmo nível do MySQL.
-
Seu aplicativo Aurora MySQL está em produção ou é essencial para os negócios. Não é possível permitir tempo de inatividade para atualizações fora de ocorrências raras para patches importantes.
-
O aplicativo Aurora MySQL não é limitado por problemas de performance ou falhas de recursos que são abordados nas versões subsequentes do Aurora MySQL.
Se os fatores anteriores se aplicarem à situação, você poderá limitar o número de atualizações forçadas para um cluster de banco de dados do Aurora MySQL. Você faz isso escolhendo uma versão específica do Aurora MySQL conhecida como versão de "suporte de longo prazo" (LTS) quando cria ou atualiza esse cluster de banco de dados. Isso minimiza o número de ciclos de atualização, ciclos de testes e interrupções relacionadas à atualização para esse cluster de banco de dados.
Você pode optar por atualizar um cluster Aurora MySQL frequentemente se algumas ou todas as seguintes condições se aplicarem:
-
O ciclo de testes para o aplicativo é simples e breve.
-
O aplicativo ainda está na fase de desenvolvimento.
-
O ambiente de banco de dados usa diversas versões do Aurora MySQL ou as versões do Aurora MySQL e do RDS for MySQL. Cada cluster do Aurora MySQL tem seu próprio ciclo de atualização.
-
Você está esperando por melhorias específicas de performance ou recursos antes de aumentar o uso do Aurora MySQL.
Se os fatores anteriores se aplicarem à situação, você poderá habilitar o Aurora para aplicar atualizações importantes com maior frequência. Para fazer isso, atualize um cluster de banco de dados do Aurora MySQL para uma versão mais recente do Aurora MySQL que a versão LTS. Fazer isso disponibiliza os mais recentes aprimoramentos de desempenho, correções de erros e recursos mais rapidamente.