AWS Elastic Beanstalk
Guia do desenvolvedor

Suas instâncias do Amazon EC2 do ambiente do AWS Elastic Beanstalk

Quando você cria um ambiente de servidor web, o Elastic Beanstalk cria uma ou mais máquinas virtuais do Amazon Elastic Compute Cloud (Amazon EC2) configuradas para executar aplicativos web na Plataforma de sua escolha.

O grupo de Auto Scaling do seu ambiente gerencia as instâncias do EC2 que executam seu aplicativo. As alterações na configuração de execução do grupo de Auto Scaling exigem a substituição de todas as instâncias e vão acionar uma atualização contínua ou atualização imutável, dependendo da configuração. Para obter detalhes sobre como configurar o grupo do Auto Scaling do ambiente, consulte Configuração do grupo de Auto Scaling do seu ambiente.

Configuração de instâncias EC2 de seu ambiente

Você pode modificar a configuração de instâncias do EC2 do ambiente do Elastic Beanstalk no Console do Elastic Beanstalk.

Para configurar instâncias do EC2 no Console do Elastic Beanstalk

  1. Abra o Console do Elastic Beanstalk.

  2. Navegue até a página de gerenciamento do ambiente.

  3. Escolher configuração.

  4. Na categoria de configuração Instances (Instâncias), selecione Modify (Modificar).

As seguintes configurações estão disponíveis.

Tipo de instância

A configuração de Instance type determina o tipo de instância do EC2 iniciada para executar seu aplicativo. Escolha uma instância com capacidade suficiente para executar seu aplicativo sob carga, mas não tão eficiente que fique ociosa na maior parte do tempo. Para fins de desenvolvimento, a família t2 de instâncias fornece poder de processamento moderado com capacidade de intermitência por curtos períodos de tempo.

Para aplicativos de alta disponibilidade e grande escala, use um grupo de instâncias para garantir que a capacidade não será afetada significativamente se uma instância ficar inativa. Comece com um tipo de instância que permita executar cinco instâncias sob carga moderada durante o horário normal. Se alguma instância falhar, as demais poderão absorver o restante do tráfego. O buffer de capacidade também permite tempo para o ambiente expandir conforme o tráfego começa a subir durante horários de pico.

Para obter mais informações sobre famílias e tipos de instância do EC2, consulte Tipos de instância no Guia do usuário do Amazon Elastic Compute Cloud.

ID da AMI

A Imagem de máquina da Amazon (AMI) do Amazon Linux ou Windows Server que o AWS Elastic Beanstalk usa para iniciar instâncias do EC2 em seu ambiente. O Elastic Beanstalk fornece imagens de máquinas que contêm as ferramentas e os recursos necessários para executar o aplicativo.

O Elastic Beanstalk seleciona uma AMI padrão para o ambiente com base na região, plataforma e tipo de instância que você escolhe. Se você tiver criado uma AMI personalizada, substitua o ID da AMI pelo seu.

Intervalo de monitoramento

Por padrão, as instâncias do ambiente publicam métricas de integridade básicas no CloudWatch em intervalos de cinco minutos, sem custo adicional.

Para relatórios mais detalhados, defina o Intervalo de monitoramento como 1 minuto para aumentar a frequência com que os recursos do seu ambiente publica métricas de integridade básicas no CloudWatch. As cobranças do serviço Amazon CloudWatch se aplicam a métricas de intervalo de um minuto. Consulte Amazon CloudWatch para obter mais informações.

Volume raiz (dispositivo de inicialização)

Cada instância do ambiente é configurado com um volume raiz. O volume raiz é o dispositivo de blocos do Amazon EBS anexado à instância para armazenar o sistema operacional, as bibliotecas, os scripts e o código-fonte do aplicativo. Por padrão, todas as plataformas usam dispositivos de blocos SSD de uso geral para armazenamento.

Você pode modificar o Root volume type (Tipo de volume raiz) para usar armazenamento magnético ou tipos de volume SSD de IOPS provisionadas e, se necessário, aumentar o tamanho do volume. Para os volumes de IOPS provisionadas, selecione também o número de IOPS a provisionar. Selecione o tipo de volume que atenda aos seus requisitos de desempenho e preço.

Para obter mais informações, consulte Tipos de volume do Amazon EBS e Detalhes do produto Amazon EBS.

Grupos de segurança

Os grupos de segurança anexados a suas instâncias determinam o tráfego que poderá chegar às instâncias (entrada) e o tráfego que poderá deixar as instâncias (saída). O Elastic Beanstalk cria um grupo de segurança que permite tráfego do load balancer nas portas padrão para HTTP (80) e HTTPS (443).

Você pode especificar os security groups adicionais que criou para permitir tráfego em outras portas ou de outras origens. Por exemplo, crie um security group de acesso SSH que permita entrada na porta 22 de um intervalo restrito de endereços IP ou, para maior segurança, de um bastion host ao qual apenas você tem acesso.

nota

Para permitir tráfego entre as instâncias do ambiente A e as instâncias do ambiente B, você pode adicionar uma regra ao grupo de segurança que o Elastic Beanstalk anexou ao ambiente B e especificar o grupo de segurança que o Elastic Beanstalk anexou ao ambiente A. Isso permite entrar ou sair das instâncias do ambiente A. No entanto, isso cria uma dependência entre os dois security groups. Se você mais tarde tentar encerrar o ambiente A, o Elastic Beanstalk não poderá excluir o security group do ambiente, pois o security group do ambiente B depende dele.

Uma abordagem mais segura seria criar um security group separado, anexá-lo ao ambiente A e especificá-lo em uma regra do security group do ambiente B.

Para obter mais informações sobre os grupos de segurança do Amazon EC2, consulte Grupos de segurança do Amazon EC2 no Guia do usuário do Amazon Elastic Compute Cloud.

O namespace aws:autoscaling:launchconfiguration

Você pode usar as opções de configuração no aws:autoscaling:launchconfigurationnamespace para configurar o grupo de Auto Scaling, inclusive opções adicionais que não estão disponíveis no console.

O arquivo de configuração a seguir configura as opções básicas mostradas neste tópico, as opções EC2KeyName e IamInstanceProfile discutidas em Segurança, e uma opção adicional, BlockDeviceMappings, que não está disponível no console.

option_settings: aws:autoscaling:launchconfiguration: InstanceType: m1.small SecurityGroups: my-securitygroup EC2KeyName: my-keypair MonitoringInterval: "1 minute" IamInstanceProfile: "aws-elasticbeanstalk-ec2-role" BlockDeviceMappings: "/dev/sdj=:100,/dev/sdh=snap-51eef269,/dev/sdb=ephemeral0"

BlockDeviceMappings permite configurar dispositivos de blocos adicionais para as instâncias. Para obter mais informações, consulte Mapeamento de dispositivos de blocos no Guia do usuário do Amazon Elastic Cloud Computer.

A CLI do EB e o Console do Elastic Beanstalk aplicam valores recomendados para as opções anteriores. Se quiser usar arquivos de configuração para definir a mesma coisa, você precisa remover essas configurações. Para mais detalhes, consulte Valores recomendados.