Contenido

Objetivo

Manejar algunos de los conceptos básicos de Ansible y ponerlos en práctica realizando tareas sencillas de administración sobre dos instancias EC2 de AWS.

Descripción

Ansible es una herramienta que nos permite configurar, administrar y realizar instalaciones en sistemas cloud con múltiples nodos sin tener que instalar agentes software en ellos. Sólo es necesario instalar Ansible en la máquina principal desde la que vamos a realizar operaciones sobre el resto de nodos y ésta se conectará a los nodos a través de SSH. Ansible utiliza archivos YAML para describir las configuraciones que queremos aplicar en cada uno de los nodos. Estos archivos de configuración se conocen como Playbooks.

Explicación

Haz clic para revisar la explicación.

Usando Ansible para AWS

Recursos adicionales

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Revisa el siguiente video:

Para conocer más sobre usando Ansible para AWS, revisa el siguiente video:

Wahl Network. (2020, 9 de septiembre). Beginners Tutorial to Terraform with AWS [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=XxTcw7UTues

Actividad

Objetivo

Ejecutar manuales de estrategias de Ansible desde GitHub a través de la consola o de la AWS Command Line Interface (AWS CLI).

Instrucciones

Requisitos: 

  • Acceso a Internet.
  • Tener una cuenta gratuita o de paga de AWS con perfil configurado.
    El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software


  • Tener una cuenta de GitHub:
    El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software

Si tiene previsto ejecutar un script almacenado en un repositorio privado de GitHub, cree un parámetro de AWS Systems Manager SecureString para su token de acceso de seguridad de GitHub. No puede obtener acceso a un script en un repositorio GitHub privado pasando manualmente su token por SSH. El token de acceso debe pasarse como parámetro SecureString de Systems Manager.

Ejecutar un cuaderno de trabajo de Ansible desde GitHub.

  1. Abra la consola de AWS Systems Manager en:
    Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.


  1. En el panel de navegación, elija Run Command.
  2. Elija Run command (Ejecutar comando).
  3. En la lista Command document (Documento de Command), elija AWS-RunRemoteScript.
  4. En Command parameters realiza lo siguiente:
    • En Source Type, seleccione GitHub.
    • En el cuadro Source Info (Información de la fuente), ingrese la información requerida para acceder a la fuente, con el siguiente formato:
    {
    "owner": "owner_name",
    "repository": "repository_name",
    "getOptions": "branch:branch_name",
    "path": "path_to_scripts_or_directory",
    "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
    }

En este ejemplo, se descarga un archivo llamado webserver.yml.

    {
    "owner": "TestUser1",
    "repository": "GitHubPrivateTest",
    "getOptions": "branch:myBranch",
    "path": "scripts/webserver.yml",
    "tokenInfo": "{{ssm-secure:mySecureStringParameter}}"
    }

 

  1. A partir de aquí, se hará el laboratorio que está en el siguiente documento:
    El siguiente enlace es externo a la Universidad Tecmilenio,
    al acceder a éste considera que debes apegarte a sus términos y condiciones.

Deberán hacer desde la página 1581, hasta la página 1584.

Checklist
  • Utilizar la documentación de Ansible para consultar como generar la configuración para un recurso de AWS.
  • Crear un archivo de configuración de Ansible desde Github para usar el código y comandos.
  • Ejecutar un ejercicio en consola mediante AWS CLI, usando el repositorio de GitHub.