Ambientes de servidor da web - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ambientes de servidor da web

O diagrama a seguir mostra uma arquitetura demonstrativa do Elastic Beanstalk para um nível de ambiente de servidor Web e mostra como os componentes desse tipo de nível de ambiente funcionam em conjunto.


      Diagrama de arquitetura do AWS Elastic Beanstalk

O ambiente é a essência do aplicativo. No diagrama, o ambiente é mostrado na linha sólida de nível superior. Quando você cria um ambiente, o Elastic Beanstalk provisiona os recursos necessários para executar a aplicação. Os recursos da AWS criados para um ambiente incluem um balanceador de carga elástico (ELB no diagrama), um grupo do Auto Scaling e uma ou mais instâncias do Amazon Elastic Compute Cloud (Amazon EC2).

Cada ambiente tem um CNAME (URL) que aponta para um load balancer. O ambiente tem um URL, como myapp.us-west-2.elasticbeanstalk.com. O alias desse URL no Amazon Route 53 está definido como um URL do Elastic Load Balancing: algo como abcdef-123456.us-west-2.elb.amazonaws.com, usando um registro CNAME. O Amazon Route 53 é um web service de Domain Name System (DNS) altamente disponível e dimensionável. Isso proporciona um roteamento seguro e confiável para a infraestrutura. O nome de domínio que você registrou com o seu provedor DNS encaminhará as solicitações para o CNAME.

O load balancer fica na frente das instâncias do Amazon EC2, que fazem parte de um grupo de Auto Scaling. O Auto Scaling do Amazon EC2 inicia automaticamente as instâncias adicionais do Amazon EC2 para acomodar a crescente carga na aplicação. Se diminuir a carga na aplicação, o Auto Scaling do Amazon EC2 interromperá as instâncias, mas sempre deixará pelo menos uma em execução.

A pilha de software em execução nas instâncias do Amazon EC2 depende do tipo de contêiner. O tipo de contêiner define a topologia da infraestrutura e a pilha de software a serem usadas nesse ambiente. Por exemplo, o ambiente do Elastic Beanstalk com um contêiner Apache Tomcat usa o sistema operacional Amazon Linux, o servidor Web Apache e o software Apache Tomcat. Para ver a lista de tipos de contêiner compatíveis, consulte Plataformas compatíveis com Elastic Beanstalk. Cada instância do Amazon EC2 que executa a aplicação usa um desses tipos de contêiner. Além disso, um componente de software chamado gerenciador de hosts (HM) é executado em cada instância do Amazon EC2. O gerenciador de host é responsável pelo seguinte:

  • Implantação do aplicativo

  • Agregação de eventos e métricas de recuperação por meio do console, API ou linha de comando

  • Geração de eventos no nível de instância

  • Monitoramento dos arquivos de log do aplicativo quanto a erros críticos

  • Monitoramento do servidor de aplicativos

  • Correção dos componentes de instância

  • Rotação de arquivos de log do aplicativo e sua publicação no Amazon S3

O gerenciador de hosts relata métricas, erros e eventos e o status da instância do servidor, que estão disponíveis no console do Elastic Beanstalk, nas APIs e nas CLIs.

As instâncias do Amazon EC2 mostradas no diagrama fazem parte de um grupo de segurança. Um security group define as regras de firewall para suas instâncias. Por padrão, o Elastic Beanstalk define um grupo de segurança, que permite que qualquer pessoa se conecte usando a porta 80 (HTTP). Você pode definir mais de um security group. Por exemplo, você pode definir um grupo de segurança para seu servidor de banco de dados. Para obter mais informações sobre os grupos de segurança do Amazon EC2 e como configurá-los para a aplicação do Elastic Beanstalk, consulte Grupos de segurança.