- Conta AWS
- Usuário AWS com permissões necessárias:
AmazonS3FullAccess
IAMFullAccess
(ou política equivalente para alterar ACL e Bucket Policy)AmazonEC2FullAccess
(para criar instâncias EC2, grupos de segurança, volumes etc)AWSLambda_FullAccess
(para criar e executar funções Lambda)CloudWatchFullAccess
(para configurar eventos e logs)
- AWS CLI instalada (instalação)
- Terraform instalado (instalação)
Objetivo: Provisionar um bucket S3 para hospedar uma aplicação FrontEnd estática simples.
cd desafio1
Configure as credenciais AWS
Opção 1 – Usando aws configure:
aws configure
Informe:
AWS Access Key ID: SEU_ACCESS_KEY
AWS Secret Access Key: SEU_SECRET_KEY
Default region name: us-east-2
Default output format: json
Opção 2 – Usando variáveis de ambiente:
export AWS_ACCESS_KEY_ID="SEU_ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="SEU_SECRET_KEY"
export AWS_DEFAULT_REGION="us-east-2"
Comandos do Terraform
terraform init # inicia o terraform e instala as dependencias
terraform plan # analisa o plano de execução
terraform apply # inicia a bucket
Digite yes para confirmar.
Para evitar custos
terraform destroy
Digite yes para confirmar
Objetivo: Criar e provisionar uma instância EC2 com Docker para rodar uma aplicação BackEnd containerizada.
-
Ter seguido o Desafio 1 (credenciais AWS já configuradas)
-
Conta AWS com permissões para EC2 e Docker
-
Terraform e AWS CLI instalados
cd desafio2
cd infra
Comandos do Terraform
terraform init # inicia o terraform e instala as dependencias
terraform plan # analisa o plano de execução
terraform apply # inicia a bucket
Digite yes para confirmar.
Para evitar custos
terraform destroy
Digite yes para confirmar
Objetivo: Configurar uma rotina diária usando Lambda + CloudWatch Events que insere automaticamente um arquivo com timestamp no bucket S3.
- Ter seguido o Desafio 1 e 2 (credenciais AWS já configuradas)
cd desafio3
Comandos do Terraform
terraform init
terraform plan
terraform apply
Digite yes para confirmar.
Para evitar custos
terraform destroy
Digite yes para confirmar
Fonte: