Provisione, proteja e prepare hosts
Leve servidores novos a uma configuração básica.
Provisione, proteja e prepare hosts é uma aula grátis de Ansible Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ansible Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ansible Academy inclui 4 aulas no total.
Do servidor vazio à configuração básica
Servidores recém-criados são telas em branco. A função common leva cada servidor a uma configuração básica segura e consistente antes que o código da aplicação seja instalado. 🛠️
Atualize o cache de pacotes
Comece atualizando os pacotes para que as instalações usem versões atuais. O módulo apt pode atualizar o cache em uma única tarefa idempotente.
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600Instale os pacotes básicos
Use um loop para instalar as ferramentas necessárias em todos os servidores, como curl, vim e ufw, em uma única tarefa legível.
- name: Base packages
ansible.builtin.apt:
name:
- curl
- ufw
- fail2ban
state: presentCrie um usuário de implantação
Nunca execute o trabalho da aplicação como superusuário. O módulo user cria uma conta de implantação dedicada que será proprietária da aplicação.
- name: Create deploy user
ansible.builtin.user:
name: deploy
groups: sudo
shell: /bin/bashEnvie a chave SSH
Use authorized_key para conceder ao usuário de implantação acesso por chave, permitindo que as execuções futuras se conectem sem senhas.
- name: Add deploy key
ansible.posix.authorized_key:
user: deploy
key: "{{ deploy_pubkey }}"Proteja o SSH
Reforce o daemon: desative o acesso do superusuário e a autenticação por senha. O módulo lineinfile edita o sshd_config de forma segura e idempotente.
- ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
notify: Restart sshdAbra apenas as portas necessárias
Configure o firewall com ufw: permita SSH e as portas da aplicação e negue o restante. Exposição mínima por padrão.
- community.general.ufw:
rule: allow
port: "22"
proto: tcpDefina o fuso horário e o NTP
Relógios sincronizados são importantes para registros e certificados. Defina o fuso horário e ative a sincronização de horário para que todos os servidores concordem sobre o horário atual.
- community.general.timezone:
name: UTCTransforme isso em um manipulador
Reinicie o sshd apenas quando a configuração dele for alterada, usando notify com um manipulador, nunca em todas as execuções.
handlers:
- name: Restart sshd
ansible.builtin.service:
name: sshd
state: restartedExecute de forma idempotente
Execute a função common duas vezes; na segunda execução, o relatório mostrará principalmente ok, e não changed. Isso comprova que sua configuração básica realmente convergiu.
Configuração básica antes da aplicação
Reforçar a segurança primeiro significa implantar a aplicação em um servidor protegido e conhecido como funcional. Bootstrap é a base sobre a qual todo o restante se apoia. 🔒
Verificação rápida
Uma escolha mantém as edições da configuração do SSH organizadas.
Recapitulação
O senhor provisionou uma configuração básica: pacotes, um usuário de implantação, chaves SSH, sshd reforçado, firewall e sincronização de horário, tudo idempotente. ✅
Perguntas Frequentes
A aula “Provisione, proteja e prepare hosts” é grátis?
Sim — o texto completo de “Provisione, proteja e prepare hosts” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ansible Academy, atualize para CoddyKit PRO. O curso de Ansible Academy inclui 4 aulas no total.
O que vou aprender em “Provisione, proteja e prepare hosts”?
Leve servidores novos a uma configuração básica. Você pratica Ansible Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ansible Academy?
Nenhuma experiência prévia é necessária. Ansible Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Provisione, proteja e prepare hosts”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ansible Academy?
Sim. Cada aula de Ansible Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Projete o projeto: roles e inventário
- Provisione, proteja e prepare hosts
- Implantação progressiva atrás do balanceador de carga
- Testes básicos, reversão e notificações