0Pricing
Ansible Academy · Lección

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: 3600

Instalar 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: present

Crear 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/bash

Distribuir 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 sshd

Abrir 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: tcp

Configurar 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: UTC

Convertirlo 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: restarted

Ejecutarlo 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

  1. Diseñar el proyecto: roles e inventario
  2. Aprovisionar, reforzar e iniciar hosts
  3. Despliegue progresivo tras el balanceador
  4. Pruebas de humo, reversión y notificaciones
← Volver a Ansible Academy