15/04/2026

Usando emulador para rodar infraestrutura AWS localmente

Por Marcelo Lopes

Desenvolver infraestrutura testando diretamente na Cloud sempre foi um desafio. Primeiro, porque o período de testes gratuitos é curto e não cobre todos os principais recursos. Outro problema é que esse modelo de trabalho é lento e há grandes chances de o desenvolvedor esquecer de excluir recursos, o que pode resultar em custos inesperados.

É aqui que entram os emuladores.

Emuladores nas principais clouds

Hoje existem emuladores para as principais plataformas:

GCP

Possui uma boa oferta de emuladores oficiais, além de alternativas comunitárias com ampla cobertura.

Azure

Conta com menos emuladores oficiais, mas oferece suporte ao desenvolvimento local por meio do Azure SDK e do Docker, ainda que com cobertura limitada.

AWS

Não foca em emuladores oficiais, mas possui um ecossistema robusto de ferramentas, como:

  • LocalStack
  • DynamoDB Local
  • Moto
  • AWS SAM CLI

O ponto de mudança: LocalStack

Por muito tempo, o LocalStack foi a principal solução open-source para simular serviços da AWS localmente.

No entanto, em março de 2026, o projeto mudou seu modelo, impactando diretamente a comunidade de desenvolvedores que dependia dele no dia a dia.

Foi nesse contexto que surgiu uma nova alternativa.

Apresentando o Floci

O Floci é um projeto recente, criado em 2026 como uma alternativa open-source (licença MIT), com algumas características interessantes:

  • 100% gratuito
  • Sem autenticação
  • Sem limitações de uso
  • Inicialização rápida
  • Endpoint único: http://localhost:4566

O foco do projeto é oferecer compatibilidade prática com os serviços da AWS, priorizando simplicidade e velocidade.

Para utilizá-lo, você precisa apenas de:

  • Docker
  • Docker Compose
  • AWS CLI

Como rodar o Floci localmente

De fato, a configuração é bastante simples e pode ser feita em dois passos:

Passo 1: docker-compose

Criar um docker-compose.yml básico:

services:
floci:
image: hectorvent/floci:latest
ports:
- "4566:4566"
environment:
- FLOCI_HOSTNAME=floci
- QUARKUS_LOG_LEVEL=DEBUG
- QUARKUS_HTTP_PORT=4566
- FLOCI_DEFAULT_REGION=us-east-1
- FLOCI_DEFAULT_ACCOUNT_ID=000000000000
- FLOCI_BASE_URL=http://localhost:4566

Passo 2:

Depois, definir as credenciais do ambiente simulado da AWS:

export AWS_ENDPOINT_URL=http://localhost:4566 \
export AWS_DEFAULT_REGION=us-east-1 \
export AWS_ACCESS_KEY_ID=test \
export AWS_SECRET_ACCESS_KEY=test

Testando com AWS CLI

Por fim, com o Floci em execução, os testes via AWS CLI podem ser realizados. Seguem abaixo alguns comandos sugeridos:

Criando um bucket S3:

aws s3 mb s3://floci-bucket

Implementando uma fila SQS:

aws sqs create-queue --queue-name floci-queue

Instância EC2:

aws ec2 run-instances \
--image-id ami-0000000000 \
--count 1 \
--instance-type t2.micro \
--key-name floci-app \
--security-group-ids sg-default \
--subnet-id subnet-default-a

Uso com IaC

Além de tudo que já foi apresentado, o Floci também pode ser utilizado em cenários de Infraestrutura como Código (IaC).

Nos testes realizados:

  • Excelente compatibilidade com SDKs (principalmente Java)
  • Funcionou bem com Terraform (cobertura de testes reduzida)
  • Ainda possui cobertura limitada de serviços

Links úteis

Finalmente, se você gostou do conteúdo e gostaria de conhecer mais sobre o Floci, segue abaixo alguns links que podem ajudar nas próximas etapas:

Repositório dos testes usando Terraform: https://github.com/marceloweb/floci-demo

Site oficial do projeto: https://floci.io/