Aprovisionar, reforzar e iniciar hosts
Lleve los servidores nuevos a una configuración base
Aprovisionar, reforzar e iniciar hosts es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.
De un servidor vacío a una base sólida
Los hosts recién creados están completamente vacíos. El rol common lleva cada servidor a una base segura y coherente antes de incorporar el código de la aplicación. 🛠️
Actualizar la caché de paquetes
Empiece actualizando los paquetes para que las instalaciones utilicen versiones actuales. El módulo apt puede actualizar la caché en una única tarea idempotente.
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600Instalar los paquetes básicos
Use un loop para instalar en una única tarea legible las herramientas que necesita cada host, como curl, vim y ufw.
- name: Base packages
ansible.builtin.apt:
name:
- curl
- ufw
- fail2ban
state: presentCrear un usuario de despliegue
No ejecute nunca tareas de la aplicación como root. El módulo user crea una cuenta de despliegue específica que será la propietaria de la aplicación a partir de ese momento.
- name: Create deploy user
ansible.builtin.user:
name: deploy
groups: sudo
shell: /bin/bashDistribuir la clave SSH
Use authorized_key para conceder al usuario de despliegue acceso mediante clave, de modo que las ejecuciones futuras se conecten sin contraseñas.
- name: Add deploy key
ansible.posix.authorized_key:
user: deploy
key: "{{ deploy_pubkey }}"Proteger SSH
Refuerce el daemon: desactive el inicio de sesión de root y la autenticación mediante contraseña. El módulo lineinfile edita sshd_config de forma segura e idempotente.
- ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
notify: Restart sshdAbrir solo los puertos necesarios
Configure el cortafuegos con ufw: permita SSH y los puertos de su aplicación, y deniegue el resto. Exposición mínima de forma predeterminada.
- community.general.ufw:
rule: allow
port: "22"
proto: tcpConfigurar la zona horaria y NTP
La sincronización de los relojes es importante para los registros y los certificados. Configure la zona horaria y active la sincronización para que todos los hosts coincidan en la hora.
- community.general.timezone:
name: UTCConvertirlo en un handler
Reinicie sshd solo cuando cambie su configuración usando notify junto con un handler, nunca en cada ejecución.
handlers:
- name: Restart sshd
ansible.builtin.service:
name: sshd
state: restartedEjecutarlo de forma idempotente
Ejecute el rol common dos veces; en la segunda pasada, la mayoría de los resultados serán ok, no changed. Eso demuestra que la base realmente ha convergido.
Establecer la base antes de la aplicación
Aplicar primero el refuerzo de seguridad significa que la aplicación se despliega en un host seguro y conocido. Bootstrap es la base sobre la que se apoya todo lo demás. 🔒
Comprobación rápida
Una opción mantiene limpias las ediciones de la configuración de SSH.
Resumen
Preparó una base sólida: paquetes, un usuario de despliegue, claves SSH, sshd reforzado, un cortafuegos y sincronización horaria, todo de forma idempotente. ✅
Preguntas frecuentes
¿La lección «Aprovisionar, reforzar e iniciar hosts» es gratis?
Sí — el texto completo de «Aprovisionar, reforzar e iniciar hosts» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Aprovisionar, reforzar e iniciar hosts»?
Lleve los servidores nuevos a una configuración base Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ansible Academy?
No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Aprovisionar, reforzar e iniciar hosts»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?
Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Diseñar el proyecto: roles e inventario
- Aprovisionar, reforzar e iniciar hosts
- Despliegue progresivo tras el balanceador
- Pruebas de humo, reversión y notificaciones