Ansible es la herramienta de gestión de configuración más popular y probablemente potente. Se crea para facilitar la administración y la configuración de hosts remotos utilizando un conjunto de comandos definidos como tareas.
Funciona utilizando módulos desarrollados para tareas específicas, como administrar usuarios, administrar archivos, instalar y eliminar paquetes de software, y muchos más.
Esta guía utilizará el módulo AWS Ansible para suministrar y administrar una instancia de EC2. Comenzaremos con los conceptos básicos de configurar una cuenta de AWS, instalar Ansible, y finalmente cubriremos cómo trabajar con el módulo AWS Ansible.
¿Qué es una instancia de EC2??
La primera pregunta que debe abordar es: ¿Qué es un EC2?? Si eres nuevo en la computación en la nube y AWS, esto puede sonar nuevo para ti.
Amazon Elastic Compute Cloud, o Amazon EC2 para abreviar, es un servicio proporcionado por Amazon Web Services (AWS) para permitirle crear y administrar instancias de servidor en la nube de AWS.
La capacidad de girar servidores remotos configurados con características como CPU, memoria, disco, redes, sistema operativo y más por unos pocos clics es muy beneficioso. Elimina la necesidad de invertir en hardware y elimina preocuparse por el cableado de los dispositivos.
Las instancias de Amazon EC2 son uno de los componentes básicos más fundamentales de AWS Cloud Computing.
No nos sumergiremos profundamente en cómo funciona o los modelos de precios y configuración para AWS. Consulte el sitio de AWS para obtener más información.
Configuración del medio ambiente
El primer paso es configurar nuestros entornos. Necesitaremos una cuenta de AWS, Ansible y Python para esta guía.
Recomendamos usar la última versión de Ansible y Python.
Instalar Ansible
Este tutorial mostrará la instalación y la configuración de Ansible en un sistema basado en Debian. Consulte nuestros otros tutoriales para aprender a instalarlo en otras distribuciones.
Abra el terminal y edite sus repositorios de software.
sudo vim/etc/apt/fuentes.lista
Agregue la siguiente entrada al archivo:
Deb http: // ppa.plataforma de lanzamiento.net/ansible/ansible/ubuntu focal main
A continuación, ejecute los comandos como se muestra a continuación:
sudo apt-get install gnupg
sudo apt-key adv-keyserver keyserver.ubuntu.com--recv-keys 93c4a3fd7bb9c367
actualización de sudo apt-get
sudo apt-get install ansible
Una vez que haya instalado Ansible, podemos configurar y configurar Python.
Instalar python3, python3-pip
Para instalar Python3 y Pip en Debian 11, ejecute los comandos como se muestra:
actualización de sudo apt-get
sudo apt-get install python3.9 Python3 -PIP -y
Los comandos de arriba instalarán Python versión 3.9 y el pip3 en su sistema.
Instalar boto
El siguiente paso es instalar Boto. Boto es un poderoso paquete de Python que proporciona una interfaz para interactuar con los servicios de AWS utilizando Python.
Para instalar la última versión del paquete BOTO usando PIP como se muestra en el comando a continuación:
sudo pip3 instalar boto3
Una vez que todas las herramientas y paquetes se han instalado correctamente, podemos crear libros de jugadas Ansible para inicializar una instancia de EC2.
Crear libro de jugadas de EC2 Ansible
Abra la terminal y cree un libro de jugadas Ansible que termine con un .extensión YML. Edite el archivo con su editor de texto favorito y agregue el libro de jugadas como se muestra a continuación:
---
- Nombre: Ansible Crear instancia EC2
Anfitriones: localhost
gather_facts: falso
tareas:
- Nombre: provisión una instancia de EC2
EC2:
Región: US-East-2
Nombre de la llave: Ansible-EC2-SSH-Key
instance_type: t2.micro
Imagen: AM1-123456
Espera: si
Conde: 1
Grupo: Sample_Servers
asigne_public_ip: sí
Registrarse: Amazon_ec2
Delegate_to: localhost
Crear un par de claves SSH
Una vez que el libro de jugadas esté configurado, cree un par de claves SSH para iniciar sesión en la instancia de EC2 una vez aprovechado. Asegúrese de crear una clave con un nombre similar al definido en el parámetro de nombre de tecla en el libro de jugadas anterior.
ssh -keygen -t rsa -b 4096 -f ~/.SSH/Ansible-EC2-SSH-Key
Agregar acceso de AWS y clave secreta
El siguiente paso es agregar nuestras credenciales de AWS a nuestro libro de jugadas. Para simplificar, agregaremos las credenciales al libro de jugadas en formato simple.
Nota: No exponga su acceso de AWS y la llave secreta dentro de un libro de jugadas en la vida real. Considere el uso de variables o herramientas de entorno como Ansible Vault.
---
- Nombre: Ansible Crear instancia EC2
Anfitriones: localhost
gather_facts: falso
tareas:
- Nombre: provisión una instancia de EC2
EC2:
Región: US-East-2
Nombre de la llave: Ansible-EC2-SSH-Key
instance_type: t2.micro
Imagen: AM1-123456
Espera: si
Conde: 1the
Grupo: Sample_Servers
asigne_public_ip: sí
vpc_subnet_id: predeterminado
aws_access_key: *************** XXXX
aws_secret_key: ********************
Registrarse: Amazon_ec2
Delegate_to: localhost
Lo anterior muestra el nuevo libro de jugadas con las credenciales de AWS expuestas. Evitar esto!!
Una vez que tenga el libro de jugadas de configuración, ejecutelo usando el comando:
Ansible-Playbook Create-EC2.YML
El comando anterior debe ejecutar el libro de jugadas anterior y crear una instancia de EC2.
Comprender el libro de jugadas
Entendamos ahora el libro de jugadas proporcionado en los ejemplos anteriores. Tenga en cuenta que solo nos centraremos en la parte de EC2 del libro de jugadas.
Usando el módulo AWS Ansible, puede usar los argumentos anteriores para crear una instancia de EC2.
Clausura
Esta guía proporciona un tutorial sobre la creación de una instancia de Amazon EC2 utilizando el módulo AWS Ansible.