>

>
>
>
>

→Pre-requisitos:
– >RedHat Ansible downloaded and configured in the local system.
>
>Verifica o meu artigo anterior para Ansible👇👇:
~Problem Statement:
♦️ Implantar Servidor Web no AWS através de ANSIBLE!
>
🔹 Provisão EC2 instância através de ansible.
🔹 Recupere o endereço IP da instância usando o conceito de inventário dinâmico.
🔹 Configure o servidor web através de ansible!
- As Ansible é construído em cima de python, um Kit de Desenvolvimento de Software Python (SDK) é necessário que permita a configuração de serviços AWS. O pacote é uma API orientada a objetos chamada boto3.
pip3 install boto3 //assuming python3 is installed
→STEP-1)
- No primeiro passo, eu provisionei uma instância ec2 com este playbook.
- Aqui, o próprio sistema RedHat chama a API para configuração em AWS, e este procedimento é feito na máquina local, por isso o host deve ser localhost.
- Para autenticação na conta AWS, crie um usuário IAM que tenha menos privilégios que a conta root. A chave AWS_ACCESS_KEY e AWS_SECRET são passadas explicitamente através de um cofre chamado Ansible vault secret.yml

- hosts: localhost
vars_files:
- secret.yml
tasks:
- name: Provision os in AWS
ec2:
key_name: "keytask" //keypair to be attached to the instance
instance_type: "t2.micro"
image: "ami-0ebc1ac48dfd14136" //amazon linux
count: 1
wait: yes
vpc_subnet_id: "subnet-e7780dab"
region: "ap-south-1" //asia-pecific-south region of AWS
state: present
assign_public_ip: yes
group_id: "sg-0512d293cfb4af6e4" //security group
aws_access_key: "{{ myuser }}"
aws_secret_key: "{{ mypass }}"
register: ec2 - debug:
var: ec2.instances.public_ip

Registro possível permite ao usuário capturar a saída e armazenar como variáveis e pode ser usado em diferentes cenários. As variáveis conterão o valor retornado pela tarefa.
A variável registradora imprimirá o endereço IP público da instância a partir de Ansible facts it gathers.
>

→STEP-2)
>
> A instância foi lançada! A seguir o que?🤔🤔>
Precisamos despejar o endereço IP desta instância no arquivo de inventário e fazer o procedimento seguinte!
Perguntar-me-ei simplesmente escrever o IP no host file🤭??? NAH ! Não manually🤫🤫
>

>
E ESTE É O QUE É 🔥DYNAMIC INVENTORY🔥 VENHA JOGAR:
→Ansible inventário dinâmico é um conceito que contém scripts que funcionam como APIs externas e puxa as informações (fatos) de um determinado provedor.
→The os fatos coletados serão dinamicamente despejados no arquivo hospedeiro e, além disso, podemos criar grupos desses hospedeiros de acordo com a necessidade.
→Copy os seguintes arquivos no nó controlador para habilitar o inventário dinâmico.
https://raw.githubusercontent.com/ansible/ansible/stable-1.9/plugins/inventory/ec2.pyhttps://raw.githubusercontent.com/ansible/ansible/stable-1.9/plugins/inventory/ec2.ini
→Both os arquivos precisam estar no formato executável:
chmod +x ec2.py
chmod +x ec2.ini
→Also, para autenticação de contas, passe AWS_ACCESS_KEY e AWS_SECRET_KEY no arquivo ec2.ini. Isto irá contactar a AWS em nosso nome e recuperar as informações da instância ec2.
→Edit o arquivo de inventário no arquivo de configuração ANSIBLE.CFG também.
→Now, para ver a saída, execute ./ec2.py - - list