EIVUS

Subir novos servidores rapidamente

Cloud-init, scripts e gestão de configuração para setup repetível.

Voltar ao blog

Use cloud-init ou user data para rodar scripts no primeiro boot. Ansible, Chef ou Puppet mantêm config consistente entre servidores. Guarde segredos em um vault; nunca hardcode. Documente o processo de bootstrap.

Primeiro boot: cloud-init e user data

  • Cloud-init: Padrão em muitas imagens Linux. Você passa user data (YAML ou script) ao criar a instância; roda no primeiro boot. Use para instalar pacotes, criar usuários, escrever configs e rodar comandos.
  • User data: Específico do provedor (ex.: user data da EC2); mesma ideia: script ou config cloud-init executado no launch. Evite segredos em texto plano (use endpoint de segredos ou env de um store seguro).
  • Limites: User data tem limite de tamanho; para setup complexo chame um script em outro lugar ou use config management em uma segunda fase.

Config management (segunda fase)

  • Ansible / Chef / Puppet: Depois que o servidor estiver acessível, rode playbooks ou manifests para levar ao estado desejado. Mantém todos os servidores consistentes e versionados.
  • Quando: Dispare a partir do CI/CD após criar a instância, ou rode em agendamento (ex.: Ansible pull). Combine com cloud-init para instalar Ansible e rodar um playbook.
  • Segredos: Obtenha de um vault (HashiCorp Vault, secret manager da nuvem). Nunca coloque senhas ou chaves no Git ou user data em texto plano.

Documentação e repetibilidade

  • Documente: Escreva um runbook curto: o que o cloud-init faz, o que o config management faz e em que ordem. Assim qualquer um (ou um pipeline) pode subir um novo servidor do mesmo jeito.
  • Teste: De tempos em tempos crie um servidor do zero com o mesmo processo para detectar drift e premissas quebradas.
  • Versione: Mantenha playbooks e scripts no Git.

Resumo

Use cloud-init ou user data para setup no primeiro boot; use Ansible/Chef/Puppet para config contínua. Guarde segredos em vault; nunca hardcode. Documente e teste o processo de bootstrap para ser repetível.

Clientes que confiam na gente