Prevenir exclusão acidental
Visão Geral
A funcionalidade "Proteção contra Exclusão" (ou "Delete Protection") do DBaaS atua como uma salvaguarda para prevenir a exclusão acidental ou não autorizada de instâncias de banco de dados.
Quando essa funcionalidade está ativada para uma instância de DB, a instância não pode ser excluída diretamente. Para excluí-la, é necessário primeiro desativar a proteção. Isso adiciona uma etapa extra e intencional ao processo de exclusão, reduzindo significativamente o risco de perda de dados devido a um erro humano.
Cenários típicos de uso dessa proteção:
- Está funcionalidade é indispensável em bancos de dados que suportam aplicações em produção. Uma exclusão acidental aqui pode derrubar um e-commerce, um sistema bancário ou qualquer outro serviço vital, impactando diretamente usuários e a receita.
- Em equipes onde múltiplos desenvolvedores ou administradores de banco de dados têm acesso a instâncias, o risco de um comando errado ser executado aumenta. A proteção contra exclusão adiciona uma camada de confirmação, prevenindo desastres.
Avalie quais instâncias precisam da proteção
Ao criar uma nova instância, já avalie se ela precisa ser protegida contra exclusão. Dessa forma você evita problemas durante a configuração e uso futuro dessa instância, especialmente quando você já sabe que esse novo banco de dados tem uma função crítica na sua arquitetura.
Lembre-se de ativar a proteção para todas as instâncias individualmente. Revise seus bancos de dados existentes e avalie quais deveria estar protegidos.
Limitações dessa proteção
A proteção contra exclusão não previne:
- Desligamento ou reinicialização de uma instância
- Modificação de uma instância (tipo, volume, frequência de snapshots, etc)
- Modificação ou exclusão de réplicas
- Exclusão de snapshots
Como ativar a proteção contra exclusão
- 🖥️ Console
- >_ CLI
Para bancos de dados existentes
-
Acesse o portal Magalu Cloud.
-
No painel inicial, clique em Database.
-
Abra o menu de opções do banco de dados que deseja proteger e selecione "Modificar"
-
Na tela de modificação, marque a opção "Proteger contra exclusão"
-
Salve as alterações.
Agora esse banco de dados não poderá ser excluído sem que antes essa opção seja previamente desmarcada.
Ao tentar excluir esse banco de dados uma mensagem será exibida informando da situação.
Para novos bancos de dados
-
Inicie o processo de criação de um novo banco de dados
-
Marque a opção "Proteger contra exclusão"
Esse novo banco de dados já será criado com essa proteção ativa.
Presumindo que você já se autenticou na CLI e tem um tenant pré-selecionado:
Para bancos de dados existentes
-
Liste as instâncias ativas com o commando
mgc dbaas instances list --status=ACTIVE
-
Copie o
instance-id
do banco de dados que deseja proteger. -
Execute o comando
mgc dbaas instances update --deletion-protected=true --instance-id=[instance-id]
Substituindo o
[instance-id]
pelo valor copiado no comando anterior.
Para novos bancos de dados
-
Na criação de um novo banco de dados usando o comando
mgc dbaas instances create
, adicione a flag--deletion-protected=true
. Veja abaixo um exemplo.mgc dbaas instances create --engine-id 8bbe8e01-40c8-4d2b-80e8-189debc44b1c --instance-type-id 063f3994-b6c2-4c37-96c9-bab8d82d36f7 --name test_db --user dbuser --password dbpass@1 --volume.size=10 --deletion-protected=true
Substitua os valores de
engine-id
einstance-type-id
para aqueles que melhor atendam a sua necessidade.Veja mais detalhes em "Como criar uma nova instância de banco de dados".
Como desativar a proteção contra exclusão
- 🖥️ Console
- >_ CLI
-
Acesse o portal Magalu Cloud.
-
No painel inicial, clique em Database.
-
Abra o menu de opções do banco de dados que deseja proteger e selecione "Modificar"
-
Na tela de modificação, desmarque a opção "Proteger contra exclusão"
-
Salve as alterações.
⚠️ Agora esse banco de dados poderá ser excluído!
Presumindo que você já se autenticou na CLI e tem um tenant pré-selecionado:
-
Liste as instâncias ativas com o commando
mgc dbaas instances list --status=ACTIVE
-
Copie o
instance-id
do banco de dados que deseja remover a proteção. -
Execute o comando
mgc dbaas instances update --deletion-protected=false --instance-id=[instance-id]
Substituindo o
[instance-id]
pelo valor copiado no comando anterior.⚠️ Agora esse banco de dados poderá ser excluído!