Java Spring na Amazon com Elastic Beanstalk!
É comum os apps que desenvolvemos para estudo ficarem apenas no nosso lar, localhost. No entanto, é importante expormos eles ao ambiente de produção e treinarmos habilidades de full cycle developer. Para isso, será usado o AWS Elastic Beanstalk, serviço da Amazon para subir aplicações na Nuvem sem precisar gerenciar demais estruturas.
Com a conta AWS criada, vamos lá…
Vamos realizar o deploy via linha de comando, então prepare o seu ambiente instalando o EB CLI.
pip install awsebcli
ou
brew install awsebcli
Dica: se precisar, consulte o guia da Amazon.
1º Criação da Aplicação EB
Na raiz do projeto, dê o comando :
eb init
Selecione a região: 11 (São Paulo)
Selecione: nº[Create new Application]
Nome da aplicação: java-spring-aws
Selecione a plataforma: 11 (Java)
Selecione a versão: 1 (Java 8)
CodeCommit e SSH: N (para ser direto)
O comando irá criar o arquivo config.yml na pasta .elasticbeanstalk. Confira se o arquivo contém os seguintes atributos:
2ª Arquivo
O aws permite fazer o deploy de um war, jar ou zip. Para gerar um .jar da sua aplicação, use as Tasks do gradle ou plugins do Maven, lembrando que deve conter as classes e dependências.
3º Deploy
Depois de ter o jar do projeto, faça alguns ajustes no config.yml
Caminho do arquivo .jar criado:
deploy:
artifact: deploy/java-spring-mongo-01.jar
Agora, o último comando:
eb create --single
Enter Environment Name: java-spring-run
Enter DNS CNAME prefix: default
Depois de concluído, abra a aplicação:
eb open
Pontos importantes:
Foi usado uma base de dados criada na mLab para a aplicação, não necessitando a criação na AWS. A porta de execução foi alterada para 5000 na application.properties do Spring:
server.port = 5000
:)