Pular para o conteúdo principal

Lab: Configuração do Ambiente

Objetivos do Lab​

Ao final deste lab, você terá:

  • ✅ Um ambiente de trabalho completo e funcional
  • ✅ Docker Desktop instalado e operacional
  • ✅ AWS CLI v2 configurado com um perfil LocalStack
  • ✅ LocalStack iniciado e testado
  • ✅ Um mini-relatório com evidências da configuração

Duração Estimada​

1 a 2 horas (dependendo do seu sistema e conexão de Internet)

Pré-requisitos​

  • Computador com Windows 10/11, macOS ou Linux
  • Permissões de administrador
  • Conexão de Internet estável
  • Pelo menos 10 GB de espaço livre em disco

Parte 1: Instalação do Docker Desktop​

Etapas​

1.1 Baixar o Docker Desktop

Acesse: https://www.docker.com/products/docker-desktop/

Baixe a versão correspondente ao seu sistema.

1.2 Instalar o Docker Desktop

  • Windows: Clique duas vezes no instalador e siga o assistente
  • macOS: Arraste o Docker para Aplicativos
  • Linux: Siga as instruções da sua distribuição

1.3 Iniciar o Docker Desktop

Abra o Docker Desktop pelo menu Iniciar (Windows) ou Aplicativos (macOS).

Aguarde até que o ícone do Docker indique "Docker is running".

1.4 Verificar a instalação

Abra um terminal e execute:

docker --version
docker run hello-world

Validação Parte 1​

Captura de tela obrigatória

Tire uma captura de tela mostrando:

  1. A saída do docker --version
  2. A mensagem "Hello from Docker!" do docker run hello-world

Nomeie este arquivo: 01-docker-version.png


Parte 2: Instalação do AWS CLI v2​

Etapas​

2.1 Baixar o AWS CLI v2

2.2 Instalar

Windows:

# Clique duas vezes em AWSCLIV2.msi e siga o assistente
# OU
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

macOS:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

Linux:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

2.3 Verificar a instalação

Feche e reabra seu terminal, então:

aws --version

2.4 Configurar o perfil LocalStack

aws configure --profile localstack

Digite os seguintes valores:

AWS Access Key ID [None]: test
AWS Secret Access Key [None]: test
Default region name [None]: us-east-1
Default output format [None]: json

2.5 Verificar a configuração

aws configure list --profile localstack

Validação Parte 2​

Captura de tela obrigatória

Tire uma captura de tela mostrando:

  1. A saída do aws --version
  2. A saída do aws configure list --profile localstack

Nomeie este arquivo: 02-aws-cli-config.png


Parte 3: Inicialização do LocalStack​

Etapas​

3.1 Criar uma pasta de trabalho

# Crie uma pasta para este curso
mkdir aws-course
cd aws-course

3.2 Criar o arquivo docker-compose.yml

Crie um arquivo docker-compose.yml com o seguinte conteúdo:

version: '3.8'

services:
localstack:
container_name: localstack
image: localstack/localstack:latest
ports:
- "4566:4566"
- "4510-4559:4510-4559"
environment:
- SERVICES=s3,lambda,sqs,sns,dynamodb,cloudwatch,cloudformation,iam
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
volumes:
- "./localstack-data:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"

3.3 Iniciar o LocalStack

docker-compose up -d

Ou sem docker-compose:

docker run -d \
--name localstack \
-p 4566:4566 \
-e SERVICES=s3,lambda,sqs,dynamodb,cloudwatch,cloudformation \
localstack/localstack

3.4 Aguarde a inicialização (30-60 segundos)

# Verifique se o container está rodando
docker ps

# Veja os logs (opcional)
docker logs localstack

3.5 Verificar o estado de saúde

# Linux/macOS
curl http://localhost:4566/_localstack/health

# Windows PowerShell
Invoke-RestMethod http://localhost:4566/_localstack/health

Validação Parte 3​

Captura de tela obrigatória

Tire uma captura de tela mostrando:

  1. A saída do docker ps com o container localstack
  2. A saída do health check

Nomeie este arquivo: 03-localstack-running.png


Parte 4: Teste de Comandos AWS​

Etapas​

4.1 Configurar o alias (opcional, mas recomendado)

Windows PowerShell:

# Teste primeiro sem alias
aws --endpoint-url=http://localhost:4566 s3 ls --profile localstack

macOS/Linux:

alias awslocal='aws --endpoint-url=http://localhost:4566 --profile localstack'

4.2 Criar um bucket S3

# Com alias
awslocal s3 mb s3://meu-primeiro-bucket-teste

# Sem alias (Windows)
aws --endpoint-url=http://localhost:4566 s3 mb s3://meu-primeiro-bucket-teste --profile localstack

4.3 Listar os buckets

awslocal s3 ls

Resultado esperado:

2024-12-18 10:30:00 meu-primeiro-bucket-teste

4.4 Criar um arquivo de teste

# Criar um arquivo local
echo "Hello AWS LocalStack!" > test.txt

# Fazer upload para o S3
awslocal s3 cp test.txt s3://meu-primeiro-bucket-teste/

# Verificar
awslocal s3 ls s3://meu-primeiro-bucket-teste/

4.5 Baixar o arquivo

awslocal s3 cp s3://meu-primeiro-bucket-teste/test.txt downloaded.txt
cat downloaded.txt

4.6 Limpar

# Remover o arquivo do bucket
awslocal s3 rm s3://meu-primeiro-bucket-teste/test.txt

# Remover o bucket
awslocal s3 rb s3://meu-primeiro-bucket-teste

Validação Parte 4​

Captura de tela obrigatória

Tire uma captura de tela mostrando:

  1. A criação do bucket (s3 mb)
  2. A listagem do bucket com o arquivo (s3 ls)
  3. O conteúdo do arquivo baixado

Nomeie este arquivo: 04-aws-s3-test.png


Parte 5: Teste Lambda (Bônus)​

Etapas​

5.1 Criar uma função Lambda simples

Crie um arquivo lambda_function.py:

def handler(event, context):
return {
'statusCode': 200,
'body': 'Hello from LocalStack Lambda!'
}

5.2 Compactar a função

# Linux/macOS
zip function.zip lambda_function.py

# Windows PowerShell
Compress-Archive -Path lambda_function.py -DestinationPath function.zip

5.3 Criar a função Lambda

awslocal lambda create-function \
--function-name minha-primeira-funcao \
--runtime python3.9 \
--handler lambda_function.handler \
--zip-file fileb://function.zip \
--role arn:aws:iam::000000000000:role/lambda-role

5.4 Invocar a função

awslocal lambda invoke \
--function-name minha-primeira-funcao \
--payload '{}' \
output.txt

cat output.txt

5.5 Listar as funções

awslocal lambda list-functions

Validação Parte 5​

Captura de tela obrigatória (Bônus)

Tire uma captura de tela mostrando:

  1. A criação da função Lambda
  2. A invocação bem-sucedida com o resultado

Nomeie este arquivo: 05-lambda-test.png


Entregáveis do Lab​

Mini-Relatório "Ambiente Pronto"​

Crie um documento (Word, PDF ou Markdown) contendo:

1. Página de título

  • Nome do estudante
  • Data
  • Título: "Lab 1 - Configuração do Ambiente AWS"

2. Capturas de tela Inclua as 4 capturas obrigatórias (5 com o bônus Lambda):

  • 01-docker-version.png
  • 02-aws-cli-config.png
  • 03-localstack-running.png
  • 04-aws-s3-test.png
  • 05-lambda-test.png (bônus)

3. Tabela de resumo

ComponenteVersãoStatus
DockerX.X.X✅ Instalado
AWS CLIX.X.X✅ Configurado
LocalStacklatest✅ Funcional

4. Problemas encontrados (se aplicável) Descreva brevemente qualquer problema encontrado e como você resolveu.

5. Checklist final

  • Docker Desktop instalado e funcional
  • AWS CLI v2 instalado
  • Perfil LocalStack configurado
  • LocalStack iniciado
  • Teste S3 bem-sucedido (criação de bucket, upload de arquivo)
  • Teste Lambda bem-sucedido (bônus)

Grade de Avaliação​

CritérioPontos
Docker instalado e funcional2
AWS CLI instalado e configurado2
LocalStack iniciado2
Teste S3 bem-sucedido2
Capturas de tela completas1
Relatório bem estruturado1
Total10

Bônus: Teste Lambda bem-sucedido (+2 pontos)


Solução de Problemas Comuns​

Docker não inicia​

Windows:

  1. Ative a virtualização no BIOS
  2. Ative o WSL2: wsl --install
  3. Reinicie o computador

AWS CLI não reconhecido​

  1. Feche e reabra o terminal
  2. Verifique o PATH
  3. Reinstale o AWS CLI

LocalStack não responde​

  1. Aguarde 60 segundos após iniciar
  2. Verifique os logs: docker logs localstack
  3. Reinicie: docker restart localstack

Erro "No credentials"​

# Reconfigurar
aws configure --profile localstack

# Verificar
aws configure list --profile localstack

Resumo dos Comandos​

# Docker
docker --version
docker run hello-world
docker ps
docker logs localstack

# AWS CLI
aws --version
aws configure --profile localstack
aws configure list --profile localstack

# LocalStack
docker-compose up -d
curl http://localhost:4566/_localstack/health

# Testes S3
awslocal s3 mb s3://bucket-name
awslocal s3 ls
awslocal s3 cp file.txt s3://bucket/
awslocal s3 rm s3://bucket/file.txt
awslocal s3 rb s3://bucket-name

# Testes Lambda
awslocal lambda create-function ...
awslocal lambda invoke ...
awslocal lambda list-functions

Quiz de Final de Lab​

  1. Qual é a porta padrão do LocalStack?
  2. Qual opção do AWS CLI permite apontar para o LocalStack?
  3. Qual comando cria um bucket S3?
  4. Como verificar se o LocalStack está funcionando?
  5. Por que usamos credentials "test" com o LocalStack?

Parabéns! Você configurou seu ambiente AWS. Você está pronto para o MÓDULO 2!