As instâncias do Amazon EC2 em seu ambiente do Elastic Beanstalk - AWS Elastic Beanstalk

As instâncias do Amazon EC2 em seu ambiente do Elastic Beanstalk

Quando você cria um ambiente de servidor web, o AWS Elastic Beanstalk cria uma ou mais máquinas virtuais do Amazon Elastic Compute Cloud (Amazon EC2), conhecidas como instâncias.

As instâncias em seu ambiente são configuradas para executar aplicativos web na plataforma de sua preferência. Você pode fazer alterações em várias propriedades e comportamentos das instâncias no seu ambiente durante a criação do ambiente, após a criação em um ambiente em execução ou como parte do código-fonte implantado no ambiente. Para obter mais detalhes, consulte Opções de configuração.

nota

O grupo do Auto Scaling no ambiente gerencia as instâncias do Amazon EC2 que executam o aplicativo. Quando você faz alterações de configuração descritas nesta página, a configuração de execução (um modelo de execução do Amazon EC2 ou um recurso de configuração de inicialização de grupo do Auto Scaling) é alterada. Essa alteração requer a substituição de todas as instâncias e aciona uma atualização contínua ou uma atualização imutável, dependendo de qual delas está configurada.

Durante a criação do ambiente, você escolhe um tipo de instância para determinar o hardware do computador host usado para executar suas instâncias. O Elastic Beanstalk oferece suporte a novos tipos de instância logo após o Amazon EC2 introduzi-los, normalmente na próxima atualização da plataforma.

O Elastic Beanstalk oferece suporte a váriasopções de compra de instâncias do Amazon EC2: instâncias sob demanda, reservadas e spot. Uma instância sob demanda é um recurso de pagamento conforme o uso — não há exigência de compromisso de longo prazo quando você a usa. Uma instância reservada é um desconto de faturamento pré-compra, aplicado automaticamente às instâncias sob demanda correspondentes em seu ambiente. Uma instância spot é uma instância do Amazon EC2 não usada que está disponível por um valor mais baixo que o preço sob demanda. Você pode habilitar instâncias spot em seu ambiente definindo uma única opção. Você pode configurar o uso de instância spot, incluindo a combinação de instâncias sob demanda e spot, usando opções adicionais. Para obter mais informações, consulte grupo do Auto Scaling.

Configurar instâncias do Amazon EC2 em seu ambiente

É possível modificar a configuração de instâncias do Amazon EC2 no ambiente do Elastic Beanstalk por meio do console do Elastic Beanstalk.

Como configurar instâncias do Amazon EC2 no console do Elastic Beanstalk

  1. Abra o console do Elastic Beanstalk e, na lista Regiões, selecione sua região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Instances (Instâncias), escolha Edit (Editar). Faça alterações nas configurações dessa categoria e escolha Apply (Aplicar). Para obter descrições de configuração, consulte a seção Configurações de categoria de instâncias nesta página.

  5. Na categoria de configuração Capacity (Capacidade), escolha Edit (Editar). Faça alterações nas configurações dessa categoria e escolha Continue (Continuar). Para obter descrições de configuração, consulte a seção Configurações da categoria de capacidade nesta página.

Configurações de categoria de instâncias

As seguintes configurações relacionadas a instâncias do Amazon EC2 estão disponíveis na categoria de configuração Instances (Instâncias).


          Configurações de instância do Amazon EC2 na janela de configuração de instâncias do Elastic Beanstalk

Intervalo de monitoramento

Por padrão, as instâncias do ambiente publicam métricas de integridade básicas no Amazon 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 ambiente publicam métricas de integridade básicas no CloudWatch. As taxas de serviço do 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 no Guia do usuário do Amazon EC2 para instâncias do Linux e Detalhes do produto Amazon EBS.

Serviço de metadados da instância

O serviço de metadados da instância (IMDS) é um componente na instância que o código na instância usa para acessar metadados da instância com segurança. O código pode acessar metadados de instância de uma instância em execução usando um dos dois métodos: serviço de metadados de instância versão 1 (IMDSv1) ou serviço de metadados de instância versão 2 (IMDSv2). O IMDSv2 é mais seguro. Desabilite o IMDSv1 para aplicar o IMDSv2. Para obter mais detalhes, consulte Configurar o serviço de metadados da instância nas instâncias do ambiente.

nota

A seção do IMDS nesta página de configuração aparece apenas para versões de plataforma que oferecem suporte ao IMDSv2.

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 grupos de segurança do Amazon Amazon EC2, consulte Grupos de segurança do Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux.

Configurações da categoria de capacidade

As seguintes configurações relacionadas a instâncias do Amazon EC2 estão disponíveis na categoria de configuração Capacity (Capacidade).


          Configurações de instância do Amazon EC2 na janela de configuração de capacidade do Elastic Beanstalk

Tipo de instância

A configuração de Instance type (Tipo de instância) determina o tipo de instância do Amazon 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 os tipos e as famílias de instâncias do Amazon EC2, consulte Tipos de instância no Guia do usuário do Amazon EC2 para instâncias do Linux.

Quando você habilita solicitações de instância spot para seu ambiente, esta página de configuração mostra uma lista de Instance Types (Tipos de instância) em vez de uma única configuração. Você pode selecionar um ou mais tipos de instância para suas instâncias spot. Para obter mais detalhes, consulte Suporte à instância spot.

ID de AMI

A imagem de máquina da Amazon (AMI) do Amazon Linux ou Windows Server que o Elastic Beanstalk usa para iniciar instâncias do Elastic Beanstalk em seu ambiente. O Amazon EC2 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.

O namespace aws:autoscaling:launchconfiguration

Você pode usar as opções de configuração no namespace aws:autoscaling:launchconfiguration para configurar as instâncias do ambiente, inclusive opções adicionais que não estão disponíveis no console.

O exemplo de arquivo de configuração a seguir configura as opções básicas mostradas neste tópico, a opção DisableIMDSv1 abordada em IMDS, as opções EC2KeyName e IamInstanceProfile abordadas 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 MonitoringInterval: "1 minute" DisableIMDSv1: false EC2KeyName: my-keypair 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 dispositivo de bloco no Guia do usuário do Amazon EC2 para instâncias do Linux.

nota

A opção InstanceType está obsoleta. Ela foi substituída pela opção mais nova e mais eficiente InstanceTypes no namespace aws:ec2:instances. A nova opção permite que você especifique uma lista de um ou mais tipos de instância para seu ambiente. O primeiro valor nessa lista é equivalente ao valor da opção InstanceType, incluída no namespace aws:autoscaling:launchconfiguration descrito aqui. A forma recomendada de especificar tipos de instância é usando a nova opção. Se especificada, a nova opção tem precedência em relação à antiga. Para obter mais informações, consulte O namespace aws:ec2:instances.

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.