Blog Bugginho Academy

Dando deploy ‘Hello World’ em PHP no AWS ElasticBeanstalk

Neste artigo vou abordar de como efetuar o deploy de um Hello World em PHP no ambiente provisionado ElasticBeanstalk da AWS. Desde da configuração da plataforma, configuração de ambiente, provisionamento e explicação das configurações disponíveis.

Elastic beanstalk

O AWS Elastic Beanstalk é um serviço de fácil utilização para implantação e escalabilidade de aplicativos e serviços da web desenvolvidos com Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker em servidores conhecidos, como Apache, Nginx, Passenger e IIS.

Basta fazer o upload de seu código e o Elastic Beanstalk se encarrega automaticamente da implementação, desde o provisionamento de capacidade, o balanceamento de carga e a escalabilidade automática até o monitoramento da saúde do aplicativo. Ao mesmo tempo, você mantém total controle sobre os recursos da AWS que possibilitam a operação do seu aplicativo e pode acessar os recursos subjacentes a qualquer momento.

Iniciando

Para iniciar, você irá precisar organizar alguns requisitos:

Estes requisitos são necessários para acompanhar os próximos passos, na questão de AMI assuma-se que você já tenha minimo de experiência com a plataforma da AWS e consiga configurar estes passos.

Clonando repositório de exemplo

Em meu git possui um repositório que construí para exemplificar a estrutura necessária para um deploy, você poderá dar clone através do comando:

Este repositório possui alguns arquivos que são encarregados por configurarem o deploy, executarem disparos de comandos para o ELB, dê uma olhada, você pode personalizar eles como desejar.

Após efetuar o deploy e configurar awscli e ebcli, você poderá executar estes comandos:

Este comando irá abrir o wizard para configurar seu ELB, nele você poderá escolher a versão do PHP, se irá utilizar CodeCommit (abordarei em outro tópico, selecione Não) e nome do ambiente.

Aqui você poderá selecionar configurações referente a env, load balance, DNS CNAME e etc. Para testes vamos selecionar load balance type classic

Este comando irá efetuar o deploy de sua aplicação para o S3 depois para o ELB, seguindo sua ordem de commit, caso haja.

Seguindo esses pequenos passos você poderá acessar URL do seu ambiente e ver página do phpversion.

Viu como é simples? Elasticbeanstalk irá provisionar tudo que sua aplicação necessita, criando as VPC, EC2, atribuindo RDS caso configurado e etc. Ele cuida de todo provisionamento, e caso você selecione o load balancer, ele já configura para você. Essa é uma ótima alternativa para controle, mas fora ela temos outras também, como por exemplo o CloudFormation, CloudCommit, CodePipeline e etc.

Newrelic

Para monitoramento da infraestrutura gerada pelo ELB, você pode instalar o newrelic com pequenos passos que podem ser seguidas por aqui: https://docs.newrelic.com/docs/agents/php-agent/frameworks-libraries/aws-elastic-beanstalk-installation-php

Lembrando que não é só para PHP, você pode dar deploy em diversas outras linguagens, ou até mesmo em micro-services utilizando o Docker! Interessante, não é? 😉

Carlos Eduardo

Apaixonado por programação, seriados, filmes, empreendedorismo e um bom violão. Acredita que todo conhecimento adquirido possa ser dividido.

1 comentário

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • For deploying PHP application on an AWS server, you can use Cloudways. Using this PaaS, you don’t have to manually setup or configure the server. You can launch an AWS server even if you don’t have technical skills. This method is way easier.

Your Header Sidebar area is currently empty. Hurry up and add some widgets.