Ansible – Provisionando no AWS EC2 (Amazon)

Me gustaría que le muestre, cómo crear una máquina de Amazon EC2 usando Ansible Ya he tenido bastante problemas para encontrar material sobre este tema, sobre todo acerca de la API de Amazon y cómo integrar Ansible con esta API No soy un especialista en Ansible, estoy trabajando con Ansible unos 5 días, pero la idea principal es que en el final del video, usted será capaz de suministro de la máquina en EC2 Bien, estoy usando Ubuntu 1404 LTS destop y voy a disposición un servidor de Ubuntu 14

04 LTS en EC2 Tengo una cuenta en Amazon una que no es objetivo de este programa de vídeo que cómo crearla, hay una gran cantidad de videos donde se puede aprender más sobre esto mi accout es un plan gratuito por un año esto es lo que hay que configurar antes de trabajar con Ansible 1) Es necesario crear un grupo de seguridad, es como un grupo de reglas de firewall donde se permiten algunos puertos para acceder a servicios en la máquina

He creado un grupo llamado lámpara que permiten el acceso a los puertos: 22, 80 y 443 Haga clic en Crear grupo, es muy intuitivo, puso el nombre, una descripción y añadir las reglas esta etapa es muy importante porque cuando necesitaremos Informe a Ansible crear un acceso la máquina para instalar nuestro entorno 2) Es necesario crear también un par de claves SSH, porque Amazon no te envía la contraseña de usuario para el servidor acess Voy a crear la clave en mi máquina local y luego e importación en Amazon

3) Es necesario crear un usuario que Ansible utilizará para consumir API de la Amazonía IAM> Usuario> Crear nuevo usuario no se olvide de establecer permisos (AdministratorAccess y AmazonAPI ) al usuario importante, crear una clave de acceso y tomar en cuenta estos datos Va a exportar estos datos a las variables de entorno en el equipo local y Ansible va a usar para autenticar en la API de Amazon Eso es básicamente la misma: 1- Crear un grupo de seguridad (habilitar los puertos: 22, 80 y 443)

2- crear una clave SSH en su máquina local (dudas google o https://wwwdigitaloceancom/community/tutorials/how-to-set-up-ssh-keys–2) 3- crear el usuario, permiten permitions y crear una clave de acceso

Es necesario también elegir una máquina de imágenes (AMI), que representa el sistema operativo que desea trabajar, Amazon tiene una gran cantidad de opciones He seleccionado un servidor de Ubuntu 14

04 LTS Otra cosa que hay que prestar atención es la región donde se va a crear su máquina (REGIÓN = lugar donde se encuentra la Amazonía centro de datos) He seleccionado el oeste de Estados Unidos (Oregón), ya que es donde el precio es más barato! Eso es todo, nuestro entorno está listo para trabajar con Ansible Este es el repositorio en Github donde se puede descargar el proyecto, envíe o RP Cuestiones abiertas para hablar conmigo aquí tengo un script que estoy usando para instalar y configurar Ansible en mi máquina local actualizar el repositorio local instalar algunos paquetes añadir el PPA Ansible a apt-get actualizar e instalar de nuevo Ansible (última versión 2002) Se trata de un océano digital Tutorial que muestra cómo puede instalar ansible si necesita un poco de ayuda! Ahora vamos a cambiar esta configuración a no nos preguntará acerca de aceptar una nueva conexión SSH cuando se ejecuta Ansible en nuevas máquinas

Me gusta Ansbile porque, a diferencia de marionetas o de cocina, que no instale ningún agente en el servidor remoto para ejecutar las tareas (sólo en Python), todo se hace mediante la conexión SSH conjunto host_key_checking = false (descomentarla) Ahora vamos a instalar BOTO, Amazon utiliza este lib abrir la conexión ssh con la máquina remota para hacerlo, antes, vamos a instalar PIP, el gestor de paquetes de Python !!!! Ahora, si usted clona el repositorio, no es necesario descargar este librerías Amazon a su máquina local es importante que estén presentes en la misma carpeta donde se ejecuta el comando Ansible Ahora vamos a utilizar nuestra clave de acceso y secreta (creada en Amazon> cuentas de usuario) necesita exportar a una variable de entorno que BOTO (lib Python utilizado por Amazon para conectar), detectará automáticamente y el uso se puede configurar en los archivos locales (o boto archivos de configuración), pero averiguar sobre Ansible Vault para hacerlo con encriptación Ahora voy a clonar el repositorio

Lo sentimos: He clonado el repositorio en la carpeta equivocada, bueno, sólo tienes que copiar el contenido y pegarlo en / etc / ansible establecer su credencial como variables de entorno !!!! Ahora tenemos que crear la clave SSH para iniciar sesión en nuestra máquina remota crear una clave ssh con ssh-keygen -t rsa ~ / ssh / id_ansible, estoy usando id_ansible2 porque ya he creado mi llave! Ahora importar la clave de Amazon elegir un nombre (sugiero ansible para la turotial) allí, tienes que pegar el de "clave pública" está en ~ / ssh / id_ansible Ahora, te voy a mostrar algunos aspectos acerca de la estructura de nuestro proyecto en / etc / ansible verá estas dos librerías Amazon este es el archivo hosts, donde puede configurar las máquinas que ya haya creado (no es nuestro caso) y dentro de la subcarpeta ec2_creation definimos el libro de jugadas con el guión tarea que se ejecutará Ansible a disposición de la máquina las tareas definidas en el libro de jugadas son los roles que tenemos y se puede encontrar otro en Google o en GitHub dentro del archivo /etc/ansible/ec2_creation/vars/all

yml necesita configurar su máquina, basado en el medio ambiente que necesita región y la zona se pueden encontrar en Amazon tablero de instrumentos

el nombre de SSH-KEY, que hemos creado en Amazon (llamado ansible) el tipo de instancia, sobre la base de los productos de Amazon t1micro se la permitió al plan gratuito la imagen de la máquina, se puede encontrar en Google o Amazon sitio web, que es un servidor de Ubuntu 1404 LTS ID de subred se puede encontrar en el medio ambiente que Amazon grupo es el grupo de seguridad que hemos creado permite a los puertos 22, 80 y 443 crear una dirección IP pública el tamaño del disco que usted necesita (el mínimo es de 8 GB) una etiqueta con su nombre a su máquina el usuario remoto (en caso de Ubuntu es ubuntu) y el lugar en el equipo local donde se coloca el par de claves SSH-para acceder al servicio (en nuestro caso, ~ /

ssh / id_ansible) Ahora vamos a ejecutar el comando Ansible a disposición de la máquina con la bandera -vvvv estamos pidiendo Ansible utilizar el modo detallado (mostrar todas las tareas de un detalle de situación sobre las respuestas JSON) y puede enviar estos datos a un archivo llamado logs / logtxt para analizarla después y guardar la historia del proceso Voy a quitarla y Ansible a mostrar el registro en mi terminal Oppps, no estoy en la carpeta correcta, ir a la carpeta / etc / ansible / ec2_creation Ahora Ansible se están ejecutando, esta advertencia es porque en la versión 2002 del sudo: cierto orden fue sustituido para convertirse en: sudo a partir de este momento, si Lok en nuestro tablero de instrumentos del Amazonas, podemos ver que la máquina está siendo aprovisionado Ahora podemos conectar por SHH y seguir todos los procesos que se están ejecutando en Ansible máquina remota ansible nos muestra los detalles de la instalación de cada requisito

Ahora voy a conectar en la máquina desde otro terminal para seguir las tareas que se están ejecutando Ansible mirar al alto mando Ansible están conectados por SSH y actualizar / instalar una gran cantidad de paquetes ¡¡¡Muy genial!!! Voy a copiar la dirección pública de DNS y pasado en el navegador para saber cuándo se está ejecutando Apache 2 Instalación y configuración de Apache 2 Ahora apache2 está en marcha !!! después de instalar PHP Ansible va a cambiar este archivo de índice predeterminado a otro que phpinfo run () Ansible son seguir cada etapa que se definen en el libro de jugadas primera disposición de la máquina en Amazon EC2 y después, instalar paquetes de servidor (vim, htop

), instalar Apache, MySQL se pueden encontrar los papeles en Github o crear su encargo! y sólo tiene que añadir el nombre de la función en el libro de jugadas y poner el contenido de los papeles de la carpeta He utilizado el phansible

com para crear algunos papeles es una interfaz gráfica para crear funciones y el libro de jugadas, se puede configurar un después usar los archivos de proyecto que ahora Ansible está instalando mongodb Ahora, después de instalar PHP Ansible creó un phpinfo correr indexphp () y nos mostrará información sobre PHP y módulos permitido! se puede comprobar la información sobre la máquina en Amazon tablero de instrumentos puede cambiar las reglas de su grupo de seguridad Eso es todo, si usted tiene algunas dudas abrir un problema y yo estaremos encantados de ayudarle En este archivo se puede personalizar un montón de cosas en la máquina información sobre su cuenta de Amazon, acerca de su equipo de destino o sobre la configuración de software como apache2, php, mysql o Redis Lo siento por mi Inglés, voy a tratar de hacerlo mejor la próxima vez !!!!! 🙂