Bancos de dados relacionais continuam sendo componentes centrais em aplicações modernas. Quando o banco é crítico para o negócio, alta disponibilidade deixa de ser diferencial e passa a ser requisito.
A Magalu Cloud oferece o Database as a Service (DBaaS), que abstrai a complexidade operacional de bancos de dados gerenciados, incluindo replicação e failover automático.
Neste artigo, você vai aprender:
- O que é um cluster PostgreSQL no DBaaS da Magalu Cloud
- Quando faz sentido usar alta disponibilidade
- Como provisionar um cluster PostgreSQL com failover automático usando a CLI
mgc
O que é um cluster PostgreSQL
Um cluster PostgreSQL no DBaaS da Magalu Cloud é uma configuração de alta disponibilidade, formada por múltiplos nós do banco de dados:
- 1 nó primário, responsável por leitura e escrita
- Réplicas em espera (standby), distribuídas em Zonas de Disponibilidade diferentes
- Failover automático, que promove uma réplica a primária em caso de falha
As alterações realizadas no nó primário são replicadas continuamente para as réplicas, reduzindo o tempo de indisponibilidade e o risco de perda de dados.
A distribuição entre Zonas de Disponibilidade (AZs) garante maior resiliência dentro de uma mesma região.
Quando usar um cluster PostgreSQL
Clusters PostgreSQL com failover automático são indicados quando a aplicação:
- Não pode tolerar indisponibilidade prolongada
- Precisa de replicação contínua de dados
- Depende de alta disponibilidade para o negócio
- Quer reduzir esforço operacional com gerenciamento de banco
Provisionamento via CLI (mgc)
Pré-requisitos
Antes de começar, você precisa:
- Ter a CLI
mgcinstalada e configurada - Ter acesso à região desejada
- Identificar a engine PostgreSQL e o tipo de instância adequado
1. Listar engines disponíveis
Primeiro, identifique a engine PostgreSQL disponível:
mgc dbaas engines list --status=ACTIVE
Anote o id correspondente ao PostgreSQL (por exemplo, PostgreSQL 16).
2. Listar tipos de instância compatíveis
Em seguida, liste os tipos de instância disponíveis para essa engine:
mgc dbaas instance-types list \
--engine-id="SEU_ENGINE_ID" \
--status=ACTIVE
Cada tipo de instância define CPU e memória de cada nó do banco.
Entendendo o compatible_product
No resultado, observe o campo:
-
SINGLE_INSTANCE- pode ser usado apenas para instâncias simples -
CLUSTER- pode ser usado apenas para clusters com alta disponibilidade
Esse campo é informativo e serve para orientar a escolha correta do instance-type-id.
3. Criar um cluster PostgreSQL com failover automático
A criação do cluster é feita com o comando mgc dbaas clusters create.
Diferente de uma instância simples, o cluster já nasce com múltiplos nós e com alta disponibilidade configurada desde o início.
Apenas tipos de instância com
compatible_product: CLUSTERpodem ser utilizados neste comando.
Exemplo de criação de cluster
mgc dbaas clusters create \
--name="meu-postgres-cluster" \
--user="admin" \
--password="SenhaSegura!" \
--engine-id="ID_DA_ENGINE_POSTGRESQL" \
--instance-type-id="ID_DO_INSTANCE_TYPE_CLUSTER" \
--volume.size=100 \
--volume.type="CLOUD_NVME20K"
Principais parâmetros
--name
Nome do cluster PostgreSQL--user
Usuário administrador do banco--password
Senha do usuário administrador--engine-id
Identificador da engine PostgreSQL--instance-type-id
Tipo de instância compatível com CLUSTER, que define CPU e memória de cada nó--volume.size
Tamanho do volume de dados em GiB--volume.type
Tipo de armazenamento gerenciado do DBaaS - Você pode verificar os valores na documentação.
Após a execução, o cluster entra em processo de provisionamento, o que pode levar alguns minutos.
4. Acompanhar o status do cluster e das instâncias
Para acompanhar o status do cluster:
mgc dbaas clusters get "ID_DO_CLUSTER"
Após a criação, você pode listar os nós do cluster:
mgc dbaas instances list
E obter detalhes de um nó específico:
mgc dbaas instances get "ID_DA_INSTANCIA"
Failover automático na prática
Quando o cluster está ativo, o DBaaS da Magalu Cloud monitora continuamente o nó primário. Em caso de falha:
- Uma réplica é promovida automaticamente a primária
- O endpoint do cluster permanece o mesmo
- A aplicação precisa apenas lidar com reconexões
Todo o processo ocorre sem intervenção manual.
Boas práticas
- Utilize senhas fortes para usuários do banco
- Escolha tipos de instância compatíveis com a carga da aplicação
- Monitore o status das instâncias via CLI
- Garanta que a aplicação lide bem com reconexões
Conclusão
Provisionar um cluster PostgreSQL com failover automático no DBaaS da Magalu Cloud permite unir simplicidade operacional e alta disponibilidade.
Com a CLI mgc, você consegue:
- Identificar engines e tipos de instância
- Criar clusters PostgreSQL com alta disponibilidade desde a criação
- Contar com failover automático gerenciado pela plataforma
- Monitorar o estado do banco de dados de forma centralizada
Isso reduz a complexidade operacional e permite que o time foque no desenvolvimento da aplicação, aproveitando a infraestrutura gerenciada da Magalu Cloud.
Top comments (0)