Skip to content

Repository files navigation

Projeto: Infraestrutura como Código com Terraform e Ansible na AWS 🚀

Este projeto faz parte da minha jornada de aprendizado em DevOps e Cloud Computing. Ele demonstra o provisionamento automatizado de uma instância EC2 na AWS utilizando Terraform e a configuração de um servidor web Nginx através do Ansible.

🛠️ Tecnologias Utilizadas

  • Terraform: Orquestração de infraestrutura (IaC).
  • Ansible: Gerenciamento de configuração.
  • AWS (EC2, Security Groups, Key Pairs): Provedor de Nuvem.
  • Ubuntu (WSL): Ambiente de desenvolvimento.

📋 Funcionalidades

  • Geração automática de pares de chaves SSH (RSA 4096 bits).
  • Criação de Security Groups com regras específicas para HTTP (80) e SSH (22).
  • Provisionamento de instância EC2 (t3.micro) com Amazon Linux 2023.
  • Instalação e configuração automática do Nginx e Git.
  • Deploy automático de um site exemplo.

🚀 Como Executar

Pré-requisitos

  1. Ter o AWS CLI configurado com suas credenciais.
  2. Ter o Terraform e Ansible instalados no seu ambiente (WSL recomendado).

Passo a Passo

  1. Clone o repositório:
    git clone [https://github.com/SEU_USUARIO/iac-com-terraform-e-aws.git](https://github.com/SEU_USUARIO/iac-com-terraform-e-aws.git)
    cd iac-com-terraform-e-aws
    

2. Inicialize o Terraform:
```bash
terraform init

  1. Planeje e aplique a infraestrutura:
terraform plan
terraform apply -auto-approve
  1. Execute o Playbook do Ansible:
ansible-playbook -i inventory playbook.yml
  1. Acesse o site através do IP público gerado nos outputs do Terraform.

🔒 Segurança

O projeto segue boas práticas de segurança, como:

  • Restrição de acesso SSH apenas para o IP público do desenvolvedor (configurado via variáveis).
  • Uso de .gitignore para evitar o vazamento de chaves privadas (.pem) e arquivos de estado (.tfstate).
  • Destruição total do ambiente após o uso com terraform destroy.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages