Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Considerações de design para suas aplicações Elastic Beanstalk

Modo de foco
Considerações de design para suas aplicações Elastic Beanstalk - 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á.

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á.

Como as aplicações implantados usando o AWS Elastic Beanstalk são executadas nos recursos do Nuvem AWS, é importante ter em mente vários fatores importantes para otimizar a aplicação: escalabilidade, segurança, armazenamento persistente, tolerância a falhas, entrega de conteúdo, atualizações e correções de software, e conectividade. Cada um desses fatores é abordado separadamente neste tópico. Para ver uma lista completa de whitepapers técnicos da AWS, abrangendo tópicos como arquitetura, segurança e economia, consulte os whitepapers sobre computação em nuvem da AWS.

Escalabilidade

Quando estiver operando em um ambiente de hardware físico, não em um ambiente de nuvem, você pode abordar a escalabilidade de uma das duas maneiras. Você pode aumentar a escala na vertical ou aumentar a escala na horizontal. A abordagem de aumentar a escala na vertical exige que você invista em hardware poderoso, que possa suportar as demandas crescentes de seus negócios. A abordagem de aumentar a escala na horizontal exige que você adote um modelo de investimento distribuído. Dessa maneira, suas aquisições de hardware e de aplicações podem ser mais direcionadas, seus conjuntos de dados são federados e seu design é orientado a serviço. A abordagem de aumentar a escala vertical pode ser cara e ainda há o risco de que a demanda supere a capacidade. Nesse aspecto, a abordagem de aumentar a escala na horizontal geralmente é mais eficaz. Entretanto, quando usar essa abordagem, você deve ser capaz de prever a demanda em intervalos regulares e implantar a infraestrutura em blocos para atender a essa demanda. Por isso, essa abordagem, muitas vezes, pode resultar em capacidade não utilizada e exigir monitoramento cuidadoso.

Migrando para a nuvem, você pode alinhar bem a infraestrutura com a demanda, aproveitando a elasticidade da nuvem. A elasticidade ajuda a otimizar a aquisição e a liberação de recursos. Com ela, a escalda da infraestrutura pode aumentar e diminuir rapidamente, de acordo com a flutuação de demanda. Para usá-la, configure a autoescalabilidade para aumentar ou diminuir a escala com base nas métricas dos recursos de ambiente (uso dos servidores ou E/S de rede, por exemplo). Por exemplo, você pode definir métricas como utilização do servidor ou E/S de rede. Pode usar a autoescalabilidade para adicionar automaticamente capacidade computacional sempre que o uso aumentar e removê-la sempre que o uso cair. Você pode publicar métricas do sistema (por exemplo, CPU, memória, E/S de disco e E/S de rede) no Amazon CloudWatch. Depois, você pode usar o CloudWatch para configurar alarmes para acionar as ações de autoescalabilidade ou enviar notificações com base nessas métricas. Para obter mais instruções sobre como configurar a autoescalabilidade, consulte Grupo do Auto Scaling para o seu ambiente do Elastic Beanstalk.

Também recomendamos que você crie todas as aplicações do Elastic Beanstalk o mais sem estado possível, usando componentes com baixo acoplamento e tolerantes a falhas, cuja escala possa ser aumentada conforme necessário. Para obter mais informações sobre como projetar arquiteturas de aplicação escaláveis para a AWS, consulte AWSFramework Well-Architected.

Segurança

A segurança na AWS é uma responsabilidade compartilhada. A Amazon Web Services protege os recursos físicos do ambiente e garante que a nuvem seja um lugar seguro para a execução de aplicações. Você é responsável pela segurança dos dados que chegam e saem do ambiente do Elastic Beanstalk e pela segurança da aplicação.

Configure o SSL para proteger os fluxos entre a aplicação e os clientes. Para configurar o SSL, você precisa de um certificado gratuito do AWS Certificate Manager (ACM). Se já tiver um certificado emitido por uma autoridade de certificação (CA) externa, você poderá usar o ACM para importar esse certificado. Caso contrário, importe-o usando a AWS CLI.

Se o ACM não estiver disponível na Região da AWS, você poderá adquirir um certificado de uma CA externa, como a VeriSign ou a Entrust. Depois, use a AWS Command Line Interface (AWS CLI) para carregar um certificado autoassinado ou de terceiros e uma chave privada para o AWS Identity and Access Management (IAM). A chave pública do certificado autentica o seu servidor para o navegador. Também serve como base para criar a chave de sessão compartilhada que criptografa os dados nas duas direções. Para obter instruções sobre como criar, carregar e atribuir um certificado SSL para o ambiente, consulte Configurar HTTPS para o seu ambiente do Elastic Beanstalk.

Quando você configura um certificado SSL para o ambiente, os dados são criptografados entre o cliente e o balanceador de carga do Elastic Load Balancing do ambiente. Por padrão, a criptografia é terminada no balanceador de carga, e o tráfego entre o balanceador de carga e as instâncias do Amazon EC2 não é criptografado.

Armazenamento persistente

As aplicações do Elastic Beanstalk são executadas nas instâncias do Amazon EC2 que não têm armazenamento local persistente. Quando as instâncias do Amazon EC2 são terminadas, o sistema de arquivos local não é salvo. Novas instâncias do Amazon EC2 começam com um sistema de arquivos padrão. Recomendamos que você configure sua aplicação para armazenar dados em uma origem dos dados persistente. A AWS oferece vários serviços de armazenamento persistente que você pode usar em sua aplicação. Veja-os na tabela a seguir.

nota

O Elastic Beanstalk cria um usuário webapp para você configurar como proprietário dos diretórios de aplicações nas instâncias do EC2. Para as versões da plataforma Amazon Linux 2 lançadas a partir de 3 de fevereiro de 2022, o Elastic Beanstalk atribui ao usuário webapp um valor de uid (id do usuário) e gid (id do grupo) de 900 para novos ambientes. Ele faz o mesmo para os ambientes existentes após uma atualização de versão da plataforma. Essa abordagem mantém uma permissão consistente de acesso. ao armazenamento do sistema de arquivos permanente para o usuário webapp.

Na situação improvável de que outro usuário ou processo já esteja usando 900, o sistema operacional usa, por padrão, outro valor para o uid e o gid do usuário webapp. Execute o comando id webapp do Linux em suas instâncias do EC2 para verificar os valores uid e gid atribuídos ao usuário webapp.

Tolerância a falhas

Como regra geral, seja pessimista ao projetar a arquitetura para a nuvem. Aproveite a elasticidade que ela oferece. Sempre projete, implemente e implante visando a recuperação automatizada de falha. Use várias zonas de disponibilidade para suas instâncias do Amazon EC2 e para o Amazon RDS. As zonas de disponibilidade são conceitualmente semelhantes a datacenters lógicos. Use o Amazon CloudWatch para ter mais visibilidade da integridade da aplicação do Elastic Beanstalk e tomar as medidas apropriadas em caso de degradação da performance ou falha de hardware. Defina as configurações de Auto Scaling para manter seu conjunto de instâncias do Amazon EC2 em um tamanho fixo, de modo que as instâncias não íntegras do Amazon EC2 sejam substituídas por novas. Se você estiver usando o Amazon RDS, defina o período de retenção de backups, para que o Amazon RDS possa fazer backups automatizados.

Entrega de conteúdo

Quando os usuários se conectam ao seu site, suas solicitações podem ser roteadas por meio de várias redes individuais. Como resultado, os usuários podem experimentar uma performance insatisfatória devido à alta latência. O Amazon CloudFront pode ajudar a reduzir os problemas de latência, distribuindo o conteúdo da Web, como imagens e vídeo, por uma rede de locais de borda em todo o mundo. Os usuários finais são roteados para o local da borda mais próximo, de modo que o conteúdo seja entregue com a melhor performance possível. O CloudFront também funciona perfeitamente com o Amazon S3, que armazena por muito tempo as versões originais e definitivas dos seus arquivos. Para obter mais informações sobre o Amazon CloudFront, consulte o Guia do desenvolvedor do Amazon CloudFront.

Atualizações e correções de software

O AWS Elastic Beanstalk lança regularmente atualizações de plataforma para fornecer correções, atualizações de software e novos recursos. O Elastic Beanstalk oferece várias opções de como lidar com atualizações de plataforma. As atualizações da plataforma gerenciadas atualizam automaticamente o ambiente para a versão mais recente da plataforma durante uma janela de manutenção programada, enquanto sua aplicação está em manutenção. Em ambientes criados a partir de 25 de novembro de 2019 usando o console do Elastic Beanstalk, as atualizações gerenciadas são habilitadas por padrão sempre que possível. Você também pode iniciar atualizações manualmente usando o console do Elastic Beanstalk ou a CLI do EB.

Conectividade

O Elastic Beanstalk precisa ser capaz de se conectar a instâncias do ambiente para concluir as implantações. Na implantação de uma aplicação do Elastic Beanstalk em uma Amazon VPC, a configuração necessária para permitir a conectividade depende do tipo de ambiente da Amazon VPC que você cria:

  • Para ambientes de instância única, nenhuma configuração adicional é necessária. Isso porque, com esses ambientes, o Elastic Beanstalk atribui a cada instância do Amazon EC2 um endereço de IP elástico público, o que permite que a instância se comunique diretamente com a Internet.

  • Para os ambientes com balanceamento de carga e escaláveis em uma Amazon VPC com sub-redes públicas e privadas, faça o seguinte:

    • Crie um balanceador de carga na sub-rede pública para rotear o tráfego de entrada da Internet para as instâncias do Amazon EC2.

    • Crie um dispositivo de Tradução de Endereço de Rede (NAT) para rotear o tráfego de saída das instâncias do Amazon EC2 em sub-redes privadas para a Internet.

    • Crie regras de roteamento de entrada e de saída para as instâncias do Amazon EC2 dentro da sub-rede privada.

    • Se você estiver usando uma instância NAT, configure os grupos de segurança para a instância NAT e as instâncias do Amazon EC2 para habilitar a comunicação com a Internet.

  • Para um ambiente escalável e com balanceamento de carga em uma Amazon VPC que tenha uma sub-rede pública, nenhuma configuração adicional é necessária. Isso porque, com esse ambiente, suas instâncias do Amazon EC2 são configuradas com um endereço IP público que permite que as instâncias se comuniquem com a Internet.

Para obter mais informações sobre como usar o Elastic Beanstalk com a Amazon VPC, consulte Usar o Elastic Beanstalk com Amazon VPC.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.