GithubHelp home page GithubHelp logo

bootcamp_m03's Introduction

Terraform-0-11 ansible-2.9.6 aws ec2 aws-boto3 python-3.8.5

Aula prática Bootcamp IGTI - Módulo 3

Capa

IaC - Infra as Code

(Terraform, Ansible, aws cli + boto3 e python3)

Infraestrutura como código para subir todo o ambiente na AWS para a prática do modulo 3.

A única modificação e ação necessária é a criação/importação do par de chaves para acesso SSH, e alterar no arquivo main.tf na seção key_name, o restante o código se encarrega de fazer, depois só acessar o IP publico da maquina da aplicação "telemetria1" na porta 8080. Na sessão extra tem um programa feito em python que lista os recursos criados inclusive lista por maquina/ip_publico.

Requisitos

Instalação dos seguintes itens:

  • Aws cli; (configurar as informações de acesso e região)

    • $ aws config

    ou

    O arquivo de configuração da AWS CLI, cujo padrão é ~/.aws/config, tem o seguinte formato:

          [default]
          region = us-east-2
          output = json
    

    O arquivo de configuração da AWS CLI, cujo padrão é ~/.aws/credentials, tem o seguinte formato:

          [default]
          aws_access_key_id = XYZXYZ
          aws_secret_access_key = XYZXYZ
    
  • Terraform;

  • Ansible; ( Instalação no Ubuntu )

    $ sudo apt install ansible
  • Python3
    $ sudo apt install python3
  • Pip ou pip3;
    $ sudo apt install python3-pip

Ter uma Key_name para acesso via SSH nas instancias de ec2;

Dependências

Modulo da AWS chamado boto e boto3;

- Instalar com o seguinte comando;

   $ pip3 install boto3 (Em linux - ubuntu)

   c:\pip install boto3 (Em windows)

Subindo e destruindo o Ambiente

Tenha certeza de estar na pasta onde se encontra o projeto.

Subindo o ambiente:

$ terraform init

$ terraform plan

$ terraform apply -auto-approve

Aguarde por um tempo a criação do ambiente. (Cerca de 1:30 min.)

$ ansible-playbook -u ubuntu -i ec2.py site.yml

Destruindo o ambiente "para não correr o risco de ser cobrado :)"

$ terraform destroy -auto-approve

Extras

Para listar os recursos criados:

$ ./ec2.py --list

Será listado como item principal os IPs públicos para acesso via SSH ou HTTP.

Caso queira alterar o que o comando ec2.py trás, entre no arquivo ec2.ini e descomente as opções desejáveis.

Obs.: caso o programa em python3 ec2.py não estiver como executavél, basta rodar o seguinte comando:

$ chmod +x ec2.py

Informações do Autor

bootcamp_m03's People

Contributors

fininhocetec avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.