aws peru meetup - ansible y aws demo (by joseph paz)

12
Ansible y AWS AWS User Group Peru AWSPeru: Meetup Comunidad de AWS Perú Joseph Paz Aliaga Sysadmin [email protected] @martip07 @awsperu Febrero 2017

Upload: carlos-cortez-cloud-architect

Post on 22-Jan-2018

88 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ansible y AWSAWS User Group Peru

AWSPeru:

Meetup

Comunidad de AWS Perú

Joseph Paz Aliaga

[email protected]

@martip07 @awsperu

Febrero 2017

Page 2: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ansible¿Ansible?

Herramienta para automatizar configuraciones, administración de recursos y

actividades similares.

¿Donde?

- Infraestructura Local

- Infraestructura Cloud

- Redes / Network

- Contenedores

- Otros

¿Diferencias?

- No requiere un agente en los equipos a gestionar

- Curva de aprendizaje corta

- Módulos para diferentes servicios

- Integración con otras herramientas similares

Page 3: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ansible - AWS

Page 4: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

¿Que puedo hacer?

Page 5: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

- Interactuar con los servicios de AWS.

- Crear recursos usando los servicios de

AWS.

- Trabajar etapas por ambientes de

desarrollo (valido en CI/CD).

- Recuperación de Infraestructura.

- Ahorrar costos,

Page 6: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ejemplo 1: Crear VPC

---

#main.yaml: Crear VPC

- name: Crea VPC con el modulo ec2_vpc_net

ec2_vpc_net:

name: vpc_dojogeek_dev

cidr_block: 10.0.0.0/16

region: us-east-2

dns_hostnames: yes

dns_support: yes

state: present

tenancy: default

tags:

Name: vpc_dojogeek_dev

Page 7: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ejemplo 2: Crear SG

---

#main.yaml: Crear grupo de seguridad

- name: Crear grupo de seguridad con el modulo ec2_group

ec2_group:

name: dev_web_sg

description: Grupo de seguridad para servidores web

vpc_id: "{{ vpc_facts.vpcs[0].id }}"

region: us-east-2

rules:

- proto: tcp

from_port: 80

to_port: 80

cidr_ip: 0.0.0.0/0

- proto: tcp

from_port: 443

to_port: 443

cidr_ip: 0.0.0.0/0

- proto: tcp

from_port: 22

to_port: 22

cidr_ip: 0.0.0.0/0

register: sg_ec2

- name: Debug sg_ec2

debug: msg="{{ sg_ec2 }}"

Page 8: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ejemplo 3: Crear Key

---

#main.yaml: Crear key para EC2

- name: Crear key usando el modulo ec2_key

ec2_key:

region: us-east-2

name: key_web_dev

key_material: ‘LLAVE PUBLICA'

state: present

register: dg_key

- name: Debug dg_key

debug: msg="{{ dg_key }}"

Page 9: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ejemplo 4: Crear Instancia---

#main.yaml: Crear instancia

- name: Crear instancia usando el modulo ec2

ec2:

region: us-east-2

instance_type: t2.micro

count: 1

image: "{{ ami_id }}"

key_name: "{{ key_name }}"

state: present

instance_tags:

Name: dev-web-ghost

Date: "{{ ansible_date_time.date }}"

wait: yes

vpc_subnet_id: "{{ subnets.subnets[1].id }}"

assign_public_ip: yes

register: dg_instance

- name: Debug dg_instance

debug: msg="{{ dg_instance }}"

Page 10: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Ejemplo 5: Ejemplo App Host---

#dg-ejemplo-ghost-final.yaml: Playbook para ejemplo Ghost final.

- hosts: localhost

connection: localhost

gather_facts: True

vars_files:

- vars/vars.yaml

roles:

- vpc/crear_vpc

- vpc/datos_vpc

- vpc/crear_igw

- vpc/crear_subnet

- vpc/datos_subnet

- vpc/crear_routes

- seguridad/key/crear_key

- seguridad/sg/crear_sg

- instancia/ec2/crear_ec2

- domain/route53_list

- domain/route53_add

Page 11: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Idea Ansible - AWS HA

Page 12: AWS Peru Meetup - Ansible y AWS Demo (by Joseph Paz)

Consejos