Trabalhando com AWS em um ambiente localhost

Thiago da Silva Adriano - Feb 15 - - Dev Community

Veja neste artigo como explorar alguns dos recursos da AWS no seu ambiente localhost.

É isso mesmo, pessoal, existe uma forma de explorarmos alguns dos recursos da AWS sem a necessidade de usarmos o nosso cartão de crédito, e neste artigo demonstrarei para vocês como criar um exemplo prático utilizando esse recurso.

Isso é possível através da utilização de algo com o qual trabalhamos há um bom tempo: a combinação do Docker com o LocalStack.

O Docker já faz parte das nossas principais stacks há algum tempo, por esse motivo, pularei a apresentação dele, avançando para o [LocalStack]](https://www.localstack.cloud/).

LocalStack é uma ferramenta de simulação de nuvem que permite desenvolver e testar aplicações baseadas na nuvem da Amazon Web Services (AWS) em um ambiente local (127.0.0.1), sem a necessidade de consumir recursos da nuvem real da AWS.

Essa ferramenta simula vários serviços da AWS, oferecendo uma forma econômica e eficiente para que possamos testar a nossas aplicações antes de implantá-las no ambiente da AWS.

Bom, avançando para parte prática, você precisa:

  • Ter o docker configurado na sua máquina;
  • Baixar um instalador da LocalStack de acordo com o seu S.O (Sistema Operacional), no seguinte link: Download.

Com a etapa dos recursos OK, o próximo passo será iniciar o localstack. Para isso, abra um terminal no seu computador e execute o seguinte comando nele:

localstack start -d
Enter fullscreen mode Exit fullscreen mode

Esse comando deve subir os recursos da AWS no seu ambiente local.

Agora para verificar se o seu ambiente esta funcionando corretamente, abra a url: Dash Localstack

Em seguida clique em Default Instance para verificar todos recursos que estão disponiveis para você testar:

Image description

Bom, com o ambiente configurado vamos a um exemplo prático. Para isso, vamos configurar o nosso aws cli com o nosso ambiente local, em seguida vamos criar um bucket no s3 e subir um site estático nele.

Execute o seguinte comando no seu terminal:

aws configure --profile localstack
Enter fullscreen mode Exit fullscreen mode

Quando solicitado, você pode inserir valores fictícios para AWS Access Key ID e AWS Secret Access Key. Para a região, use uma região válida da AWS (por exemplo, us-east-1) e para o output format, você pode deixar como json.

Image description

Com a etapa da AWS CLI configurada e apotando para o localstack, vamos criar um Bucket no S3 do LocalStack.

No seu terminal, digite o seguinte comando:

aws --endpoint-url=http://localhost:4566 s3 mb s3://nome-do-seu-buck --profile localstack
Enter fullscreen mode Exit fullscreen mode

Para verificar se o bucket foi criado corretamente, você pode acessar o dash a clicar no S3:

Image description

Agora vamos fazer upload do nosso site para o S3. Para pular a etapa de criação de um novo projeto, eu utilizarei um site que eu criei para este artigo, caso tenha interesse em utilizar ele, segue o seu link no meu Github: site-exemplo

Ainda no seu terminal e dentro do diretório onde esta o seu site, execute os seguintes comandos nele:

aws --endpoint-url=http://localhost:4566 --profile localstack s3api put-bucket-website --bucket site-moto --website-configuration file://configuracao.json
Enter fullscreen mode Exit fullscreen mode

Este comando vai configurar o nosso bucket para hospedar um site.

Agora execute o seguinte comando para fazer upload dos seus arquivos para o S3:

thiagoadriano@Thiagos-MBP exemplo_html % aws --endpoint-url=http://localhost:4566 --profile localstack s3 cp ./ s3://site-moto/ --recursive
Enter fullscreen mode Exit fullscreen mode

Para verificar se os passos anteriores funcionaram corretamente, abra o seguinte endereço no seu navegador:

http://localhost:4566/nome-do-seu-bucket/index.html
Enter fullscreen mode Exit fullscreen mode

No meu exemplo ficou:

http://localhost:4566/site-moto/index.html
Enter fullscreen mode Exit fullscreen mode

Image description

Bem legal né? Espero que tenham gostado e até um próximo artigo pessoal :)

. . . . . . . . . . . . . . .
Terabox Video Player