Provisione e configure em um único fluxo
Encaminhe hosts novos para plays de configuração.
Provisione e configure em um único fluxo é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 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 DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Dois trabalhos, um playbook
O provisionamento faz um servidor existir. A configuração o torna útil. O verdadeiro poder está em fazer as duas coisas em um único play contínuo. 🔗
Faça o provisionamento no nó de controle
As tarefas de criação na nuvem são executadas localmente contra a API da AWS, portanto o play de provisionamento tem como alvo o localhost, não o novo servidor.
- hosts: localhost
gather_facts: false
tasks:
- amazon.aws.ec2_instance: { name: web-01 }Capture o novo host
Você não pode usar SSH em uma máquina sobre a qual ainda não tem informações. Use register no resultado de ec2_instance para obter o novo IP público.
- amazon.aws.ec2_instance:
name: web-01
register: ec2Adicione-o ao inventário na memória
O módulo add_host insere o novo servidor no inventário em execução, permitindo que um play posterior o tenha como alvo sem um arquivo estático.
- add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launchedAguarde até o SSH estar pronto
Uma instância em inicialização não fica acessível instantaneamente. wait_for pausa a execução até que a porta 22 responda, antes de você tentar se conectar.
- wait_for:
host: "{{ ec2.instances[0].public_ip_address }}"
port: 22Inicie um segundo play
Agora abra um novo play que tenha como alvo o grupo launched que você acabou de criar. Esse play é executado no próprio servidor da nuvem.
- hosts: launched
become: true
tasks:
- ping:Configure o novo host
Com o host no inventário, os módulos comuns assumem o controle. Instale pacotes, copie configurações e inicie serviços exatamente como faria em qualquer nó.
- hosts: launched
tasks:
- package:
name: nginx
state: presentPasse o usuário SSH correto
As imagens da nuvem usam logins específicos, como ubuntu ou ec2-user. Defina ansible_user para que o play de configuração se conecte corretamente.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_user: ubuntuUm arquivo, do início ao fim
O resultado é um único manual de execução: a primeira etapa cria a infraestrutura e a segunda a configura. Execute-o uma vez e um servidor funcional estará disponível.
Idempotente em todas as etapas
As duas partes são idempotentes. Ao executar novamente, a instância existente é reconhecida e a configuração converge, tornando o fluxo seguro para repetir.
Ignore os avisos de chave da máquina
Uma máquina recém-criada tem uma chave SSH desconhecida. Desative host_key_checking para o grupo iniciado, para que a primeira conexão não fique bloqueada.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"Verificação rápida
Você acabou de iniciar uma máquina EC2 e quer que a próxima etapa a configure, sem uma entrada estática no inventário. O que faz essa ligação?
Recapitulação
Você conectou o provisionamento à configuração: crie em localhost, registre o IP, use add_host, aguarde o SSH e depois configure em uma segunda etapa. ✨
Perguntas Frequentes
A aula “Provisione e configure em um único fluxo” é grátis?
Sim — o texto completo de “Provisione e configure em um único fluxo” é 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 DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Provisione e configure em um único fluxo”?
Encaminhe hosts novos para plays de configuração. Você pratica DevOps Bootcamp 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 DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp 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 4 de 4.
Quanto tempo leva a aula “Provisione e configure em um único fluxo”?
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 DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp 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
- Collections de nuvem e autenticação
- Inicie instâncias EC2 de forma declarativa
- Rede: VPCs, sub-redes e grupos de segurança
- Provisione e configure em um único fluxo