Configuração Possível para EC2 Com Dynamic Inventory🙂

>

>

>

Poojan Mehta

>

>

>

Poojan Mehta

Seguir

>

>

25 de setembro, 2020 – 5 min ler

>

>

>

>>

→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
>

Criptografado Vault🔒
- 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
>

anível-playbook ec2.py – ask-vault-pass🚀

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

Deixe um comentário