Ansible para AWS: gestionar la nube de forma sencilla



Este blog de Ansible para AWS habla de tener ventaja en el uso de Ansibe con AWS, demostrando la automatización de la creación y el aprovisionamiento de una instancia EC2.

Las empresas han invertido una gran cantidad de tiempo y dinero en desarrollar e instalar software para mejorar sus operaciones. La introducción a la computación en la nube ofreció a su empresa acceder a software en Internet como servicio que demostró ser más eficiente y seguro. Integrar una herramienta de automatización de TI como Ansible que aprovisionará y administrará fácilmente su infraestructura en la nube como AWS es como ganar el premio gordo. Y de eso es de lo que vamos a hablar en este blog de Ansible para AWS.

Agenda:





Si desea dominar DevOps, ' curso sería su opción preferida.

¿Por qué las empresas migran a la nube?

Como se mencionó anteriormente, Could Computing permite a las empresas acceder a servidores como software a través de Internet. Para dejarlo en claro, Cloud Computing es como conectarse a una red eléctrica central en lugar de generar su propia energía. La nube se ha convertido en la nueva normalidad y esto acaba ahorrando mucho tiempo y dinero. Veamos algunas ventajas de por qué las empresas migran a la nube.



1. Flexibilidad:

El crecimiento empresarial nunca es estático. Los servicios basados ​​en la nube son adecuados para las crecientes y fluctuantes demandas comerciales. Una función para escalar y reducir su implementación en función de los requisitos la hace muy flexible.

2. Recuperación ante desastres:

Todas las empresas deberían haber invertido en recuperación ante desastres. Todas las empresas de la fortuna terminan invirtiendo mucho en recuperación ante desastres. Las nuevas empresas y las empresas de bajo presupuesto carecen del dinero y la habilidad necesaria para esto y no pueden tener un rasgo funcional adecuado de recuperación ante desastres. La nube proporciona soluciones de recuperación ante desastres para que los clientes desarrollen planes sólidos y rentables.

3. Actualizaciones automáticas de software:

Como ya sabes, la nube es el servicio que ofrece Internet y, por tanto, todos los servidores están fuera de tu alcance o más bien no de tu dolor de cabeza. Los proveedores se encargan de ellos, lo que incluye la actualización cuando sea necesario y la realización de controles de seguridad periódicos. Esto nuevamente termina ahorrando mucho tiempo y dinero.



4. Costos reducidos:

Establecer un centro de datos desde cero puede resultar caro. El funcionamiento y el mantenimiento se suman a los gastos. Necesita la tecnología adecuada, el hardware adecuado, el personal adecuado con el conocimiento y la experiencia adecuados, lo que me parece mucho trabajo. Además, no es muy prometedor, hay un millón de formas en que esto podría salir mal. La migración a la nube le brinda este punto a favor.

5. Escalabilidad:

La forma tradicional de planificar un crecimiento inesperado es comprar y mantener servidores, almacenamiento y licencias adicionales. Pueden pasar años antes de que realmente los use. Las plataformas en la nube le permiten ampliar estos recursos cuando sea necesario. Esta escala dinámica se adapta perfectamente a un crecimiento impredecible.

6. Seguridad de los datos:

La mayoría de las veces, es mejor mantener sus datos en la nube que almacenarlos en un dispositivo físico como computadoras portátiles o discos duros. Hay muchas posibilidades de que estos dispositivos físicos sean robados o destrozados. La nube le permite eliminar los datos de forma remota o transferirlos a otro servidor, asegurándose de que los datos permanezcan intactos y seguros.

7. Mayor colaboración:

El uso de plataformas en la nube permite al equipo acceder, editar y compartir documentos en cualquier momento y lugar. Pueden trabajar juntos aumentando así la eficiencia. Esto también proporciona actualizaciones transparentes y en tiempo real.

Funciones Ansible

Ansible tiene algunas características únicas y cuando tales características colaboran con Amazon Web Services, deja una marca. Echemos un vistazo a estas increíbles funciones:

  1. Ansible se basa en una arquitectura sin agentes, a diferencia de Chef y Puppet
  2. Ansible accede a su host a través de SSH, lo que hace que la comunicación entre servidores y hosts se sienta como un chasquido
  3. No se necesita una infraestructura de seguridad personalizada
  4. Configurar guías y módulos es muy fácil ya que sigue el formato YAML
  5. Tiene una amplia gama de módulos para sus clientes
  6. Permite la gestión completa de la configuración, la orquestación y la capacidad de implementación
  7. Ansible Vault mantiene los secretos a salvo

¿Por qué utilizar Ansible para AWS?

Ahora que hemos analizado los beneficios de usar una plataforma en la nube como AWS y las características únicas de Ansible, echemos un vistazo a la magia creada al integrar estas dos leyendas.

1. Nube como grupo de servicios

La nube no es solo un grupo de servidores en el centro de datos de otra persona, sino mucho más que eso. Te darás cuenta de eso una vez que hayas implementado tus servicios en él. Hay muchos servicios disponibles que le permiten implementar y escalar rápidamente sus aplicaciones. La automatización de Ansible lo ayuda a administrar su entorno de AWS como un grupo de servicios en lugar de usarlos como un grupo de servidores.

2. Módulos Ansible compatibles con AWS

Ansible se utiliza para definir, implementar y administrar una amplia variedad de servicios. Los entornos de AWS más complicados se pueden aprovisionar muy fácilmente mediante un manual de estrategias. La mejor característica es que crea una conexión servidor-host y luego ejecuta el libro de jugadas en un solo sistema y proporciona varios otros sistemas con una opción para escalar hacia arriba y hacia abajo según los requisitos.

Ansible tiene cientos de módulos compatibles con AWS y algunos de ellos incluyen:

  • Autoescalar grupos
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Computación en la nube elástica (EC2)
  • Administrador de acceso de identidad (IAM)
  • Lambda
  • Servicio de base de datos relacional (RDS)
  • Ruta53
  • Grupos de seguridad
  • Servicio de almacenamiento simple (S3)
  • Nube privada virtual (VPC)
  • Y muchos más

3. Inventario dinámico

En un entorno de desarrollo, los hosts siguen girando y cerrándose con diversos requisitos comerciales. En tal caso, el uso de inventario estático puede no ser suficiente. Tales situaciones requieren el uso de Dynamic Inventory. Esto le permite mapear hosts en función de grupos proporcionados por scripts de inventario, a diferencia del inventario normal, que le obliga a mapear hosts manualmente, lo cual es muy tedioso.

4. Automatización segura

Suponga que tiene un equipo de 5 personas y cada uno de ellos tiene dos subordinados que no están completamente capacitados. No querrá darles acceso completo a todo el proceso de implementación. Ahí es cuando se da cuenta de la necesidad de restringir la autorización.

Ansible Tower ofrece esta función para restringir las autorizaciones. Básicamente, eliges quién puede hacer qué, lo que facilita la moderación.Además, Ansible Tower cifra las credenciales y otros datos confidenciales y solo les da acceso a los subordinados a los recursos relevantes mientras restringe su acceso a los irrelevantes.

Demostración: Automatice el aprovisionamiento de una instancia EC2 con Ansible

En esta sección de demostración, voy a demostrar cómo Ansible es compatible con AWS mostrando cómo automatizar el inicio y el aprovisionamiento de una instancia EC2. Empecemos.

Paso 1 :

Instale Ansible en el nodo de su servidor y realice una conexión SSH entre su servidor y los nodos de cliente en AWS. En este caso, he creado dos instancias EC2, un servidor en el que está instalado Ansible y el otro es el cliente.

Paso 2:

Ahora asegúrese de tener todos los requisitos instalados. Según la documentación, estos son los siguientes requisitos:

  • Python> = 2.6
  • votar

Instale Python usando el siguiente comando:

$ sudo apt install python

Instale boto usando el siguiente comando:

$ sudo apt install python-pip
$ pip instalar boto

Boto es una interfaz de Python para usar los servicios web de Amazon. Tendrás que importarlo usando el siguiente comando:

$ python
$ Importe boto
$ salida ()

boto - Ansible para AWS - Edureka

Paso 3:

Tienes que configurar tu AWS. Utilice el siguiente comando para lo mismo:

$ aws configure

Y agregue su ID de clave de acceso de AWS, clave secreta y región predeterminada (que es opcional).

Etapa 4:

Escriba una guía para iniciar y aprovisionar una instancia EC2.

$ sudo vi /etc/ansible/launch.yml

--- - nombre: crea una instancia de ec2 hosts: web collect_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 par de claves: priyajdm tareas: - nombre: crea una instancia de ec2 ec2: aws_access_key : '********************' aws_secret_key: '*********************** **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'imagen:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: sí registro: ec2

Es una buena práctica saber qué hace el código antes de ejecutarlo. Déjame explicarte este manual para entenderlo mejor.

Nombre: Puede ser literalmente cualquier cosa. Una buena práctica es mantener un nombre que proporcione una descripción básica de la tarea que realiza.

Anfitrión: Menciona el nombre de la lista de hosts con la que se debe ejecutar el libro de jugadas. En mi caso es web .

reunir_factos: Este parámetro le dice a Ansible que recopile todos los hechos, variables y otros datos relevantes para referencia futura. En nuestro caso, lo configuramos como falso porque no tenemos ningún uso para recopilar datos (dirección IP, nombre de host, etc.).

cuyo: Esta sección define e inicializa todas las variables que usaremos en este manual. Tenemos cuatro variables aquí:

  • región define la región en la que debe aparecer la instancia EC2
  • tipo_instancia define el tipo de instancia que intentamos generar. En nuestro caso, estamos usando t2.micro
  • cual define la AMI de la instancia que intentamos mostrar

  • Par de claves define el par de claves que usaremos para abrir la instancia

ec2: Este es un módulo proporcionado por Ansible que se utiliza para iniciar o finalizar una instancia EC2.

Este módulo tiene ciertos parámetros que usaremos para especificar otras funcionalidades de la instancia EC2 que estamos intentando iniciar.

  • Comenzamos mencionando el ID de la clave de acceso de AWS y la clave secreta usando los parámetros aws_access_key y aws-clave_secreta .
  • Nombre clave: pasar la variable que define el par de claves que se utiliza aquí
  • grupo: mencione el nombre del grupo de seguridad. Esto define las reglas de seguridad de la instancia EC2 que estamos tratando de mostrar.
  • tipo_instancia: pasar la variable que define el tipo de instancia que estamos usando aquí
  • imagen: pasar la variable que define la AMI de la imagen que estamos intentando iniciar
  • Espere: Tiene un valor booleano de verdadero o falso. Si es verdadero, espera a que la instancia alcance el estado deseado antes de regresar.
  • región: pasar la variable que define la región en la que se debe crear una instancia EC2.
  • contar: Este parámetro especifica el número de instancias que deben crearse. En este caso, solo he mencionado uno, pero esto depende de sus requisitos.
  • vpc_subnet_id: pasar el ID de subred en el que desea crear la instancia
  • asignar_ip_público: Este parámetro tiene un valor booleano. Si es verdadero, como en nuestro caso, se asignará una IP pública a la instancia cuando se aprovisione dentro de VPC.

Paso 5:

Ahora que ha entendido todas las líneas del libro de jugadas, sigamos adelante y ejecútelas. Utilice el siguiente comando:

$ ansible-playbook /etc/ansible/launch.yml

tipo de función en sql


Una vez que haya ejecutado el libro de jugadas, verá que se crea una instancia.


¡Y TADA! Ha automatizado con éxito el aprovisionamiento de una instancia EC2. De la misma manera, también puede escribir una guía para detener la instancia EC2.

Esto nos lleva al final del blog de Ansible para AWS. Si encuentra útil este artículo, consulte el ' ofrecido por Edureka. Cubre todas las herramientas que han hecho que la industria de TI sea eficiente.