{"id":900,"date":"2025-07-18T09:00:00","date_gmt":"2025-07-18T09:00:00","guid":{"rendered":"https:\/\/cloudlab.urv.cat\/catedracloud\/?p=900"},"modified":"2025-02-16T18:59:40","modified_gmt":"2025-02-16T18:59:40","slug":"automatizacion-de-configuracion-con-ansible-simplificando-la-gestion-de-servidores","status":"publish","type":"post","link":"https:\/\/cloudlab.urv.cat\/catedracloud\/2025\/07\/18\/automatizacion-de-configuracion-con-ansible-simplificando-la-gestion-de-servidores\/","title":{"rendered":"Automatizaci\u00f3n de Configuraci\u00f3n con Ansible: Simplificando la Gesti\u00f3n de Servidores"},"content":{"rendered":"\n<p>En el mundo de la automatizaci\u00f3n de infraestructura, existen diversas herramientas que facilitan la gesti\u00f3n y configuraci\u00f3n de servidores. En el <a href=\"https:\/\/cloudlab.urv.cat\/catedracloud\/2025\/06\/18\/conociendo-terraform-infraestructura-como-codigo\/\" data-type=\"link\" data-id=\"https:\/\/cloudlab.urv.cat\/catedracloud\/2025\/06\/18\/conociendo-terraform-infraestructura-como-codigo\/\">post anterior<\/a>, hablamos sore <strong>Terraform<\/strong>, una herramienta que nos permite definir infraestructura como c\u00f3digo. Ahora, exploraremos <strong>Ansible<\/strong>, una poderosa soluci\u00f3n para la automatizaci\u00f3n de configuraciones y despliegues en servidores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es Ansible?<\/h2>\n\n\n\n<p>Ansible es una herramienta de c\u00f3digo abierto desarrollada por Red Hat que permite automatizar la administraci\u00f3n de sistemas, la configuraci\u00f3n de servidores y la orquestaci\u00f3n de despliegues. A diferencia de Terraform, que se enfoca en la provisi\u00f3n de infraestructura, Ansible se centra en la configuraci\u00f3n y gesti\u00f3n de sistemas ya existentes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beneficios de Ansible<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Sin necesidad de agentes<\/strong>: No requiere la instalaci\u00f3n de software adicional en los servidores administrados, ya que se basa en SSH.<\/li>\n\n\n\n<li><strong>F\u00e1cil de aprender y usar<\/strong>: Utiliza un lenguaje basado en YAML (Playbooks) que es intuitivo y f\u00e1cil de leer.<\/li>\n\n\n\n<li><strong>Automatizaci\u00f3n de tareas repetitivas<\/strong>: Permite la configuraci\u00f3n y administraci\u00f3n de m\u00faltiples servidores de manera eficiente.<\/li>\n\n\n\n<li><strong>Integraci\u00f3n con otras herramientas<\/strong>: Puede trabajar junto a Terraform para una soluci\u00f3n completa de aprovisionamiento y configuraci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Usando Ansible con Terraform<\/h2>\n\n\n\n<p>Siguiendo el ejemplo b\u00e1sico de Terraform que creamos en el post anterior, podemos usar Ansible para configurar la instancia de AWS que desplegamos. Supongamos que queremos instalar un servidor web Nginx en la instancia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Instalaci\u00f3n de Ansible<\/h3>\n\n\n\n<p>Antes de empezar, necesitamos instalar Ansible en nuestra m\u00e1quina local. Puedes encontrar instrucciones detalladas de instalaci\u00f3n en la <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/installation_guide\/index.html\">documentaci\u00f3n oficial de Ansible<\/a>.<\/p>\n\n\n\n<p>Para instalar Ansible en una m\u00e1quina con Ubuntu\/Debian, usa los siguientes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install ansible -y<\/code><\/pre>\n\n\n\n<p>Para verificar la instalaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible --version<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Creando un Playbook de Ansible<\/h3>\n\n\n\n<p>El siguiente paso es crear un Playbook de Ansible que instale y configure Nginx en la instancia de AWS. Creamos un archivo llamado <code>playbook.yml<\/code> con el siguiente contenido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- name: Configurar servidor con Nginx\n    hosts: all\n    become: yes\n    tasks:\n        - name: Instalar Nginx\n            apt:\n                name: nginx\n                state: present\n        - name: Iniciar y habilitar Nginx\n            service:\n                name: nginx\n                state: started\n                enabled: yes<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Ejecutando Ansible sobre la instancia de Terraform<\/h3>\n\n\n\n<p>Ha llegado el momento de combinar Terraform y Ansible para desplegar y configurar nuestra infraestructura. Recuerda que debes tener la instancia de AWS creada con Terraform antes de continuar, siguiendo los pasos del post anterior.<\/p>\n\n\n\n<p>Una vez que tengas la instancia en funcionamiento, debes seguir estos pasos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Obt\u00e9n la IP de la instancia creada con Terraform:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>terraform output public_ip<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Agrega la IP al inventario de Ansible (<code>inventory.ini<\/code>):<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;servidores]\n3.123.45.67 ansible_user=ubuntu ansible_ssh_private_key_file=~\/.ssh\/id_rsa<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Ejecuta el Playbook:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>ansible-playbook -i inventory.ini playbook.yml<\/code><\/pre>\n\n\n\n<p>Este procedimiento instalar\u00e1 y configurar\u00e1 Nginx en la instancia creada por Terraform.<\/p>\n\n\n\n<p>No olvides destruir la infraestructura cuando hayas terminado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>terraform destroy<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>En este post, hemos explorado Ansible, una herramienta poderosa para la automatizaci\u00f3n de configuraciones y despliegues en servidores. Ansible se destaca por su facilidad de uso, su capacidad para automatizar tareas repetitivas y su integraci\u00f3n con otras herramientas como Terraform. Si buscas optimizar tu flujo de trabajo en la nube, combinar Ansible y Terraform puede ser una excelente opci\u00f3n.<\/p>\n\n\n\n<p>Te animamos a probar Ansible en tus proyectos y descubrir c\u00f3mo puede simplificar la gesti\u00f3n de tu infraestructura. Si quieres aprender m\u00e1s sobre Ansible, te recomendamos explorar la <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/index.html\">documentaci\u00f3n oficial<\/a> y experimentar con diferentes Playbooks.<\/p>\n\n\n\n<p>\u00bfHas utilizado Ansible en tus proyectos? \u00a1Comparte tu experiencia en los comentarios!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el mundo de la automatizaci\u00f3n de infraestructura, existen diversas herramientas que facilitan la gesti\u00f3n y configuraci\u00f3n de servidores. En el post anterior, hablamos sore Terraform, una herramienta que nos permite definir infraestructura como c\u00f3digo. Ahora, exploraremos Ansible, una poderosa soluci\u00f3n para la automatizaci\u00f3n de configuraciones y despliegues en servidores. \u00bfQu\u00e9 es Ansible? Ansible es [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":901,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[37],"tags":[93,4,90,91],"class_list":["post-900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","tag-ansible","tag-aws","tag-iac","tag-terraform"],"jetpack_featured_media_url":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible.webp","uagb_featured_image_src":{"full":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible.webp",1792,1024,false],"thumbnail":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible-150x150.webp",150,150,true],"medium":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible-300x171.webp",300,171,true],"medium_large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible-768x439.webp",768,439,true],"large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/02\/ansible.webp",1792,1024,false]},"uagb_author_info":{"display_name":"Gerard Finol Pe\u00f1alver","author_link":"https:\/\/cloudlab.urv.cat\/catedracloud\/author\/gfinol\/"},"uagb_comment_info":7,"uagb_excerpt":"En el mundo de la automatizaci\u00f3n de infraestructura, existen diversas herramientas que facilitan la gesti\u00f3n y configuraci\u00f3n de servidores. En el post anterior, hablamos sore Terraform, una herramienta que nos permite definir infraestructura como c\u00f3digo. Ahora, exploraremos Ansible, una poderosa soluci\u00f3n para la automatizaci\u00f3n de configuraciones y despliegues en servidores. \u00bfQu\u00e9 es Ansible? Ansible es&hellip;","_links":{"self":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/comments?post=900"}],"version-history":[{"count":2,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/900\/revisions"}],"predecessor-version":[{"id":903,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/900\/revisions\/903"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media\/901"}],"wp:attachment":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media?parent=900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/categories?post=900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/tags?post=900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}