Configurar o load balancer do ambiente do Elastic Beanstalk para encerrar o HTTPS - AWS Elastic Beanstalk

Configurar o load balancer do ambiente do Elastic Beanstalk para encerrar o HTTPS

Para atualizar o ambiente AWS Elastic Beanstalk para usar o HTTPS, é necessário configurar um listener HTTPS para o load balancer em seu ambiente. Dois tipos de load balancer oferecem suporte a um listener HTTPS: Classic Load Balancer e Balanceador de carga de aplicações.

É possível usar o console do Elastic Beanstalk ou um arquivo de configuração para configurar um listener seguro e atribuir o certificado.

nota

Ambientes de instância única não têm um load balancer e não são compatíveis com o encerramento do HTTPS no load balancer.

Configurar um ouvinte seguro usando o console do Elastic Beanstalk

Como atribuir um certificado ao load balancer do seu ambiente

  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 Load balancer, escolha Edit (Editar).

    nota

    Se a categoria de configuração Load balancer não tem um botão Edit (Editar), seu ambiente não tem um load balancer.

  5. Na página Modify load balancer (Modificar load balancer), o procedimento varia dependendo do tipo de load balancer associado ao seu ambiente.

    • Classic Load Balancer

      1. Escolha Add listener.

      2. Na caixa de diálogo Listener do Classic Load Balancer, configure as seguintes configurações:

        • Para Listener port, digite a porta de tráfego de entrada, normalmente 443.

        • Para Listener protocol, escolha HTTPS.

        • Para Instance port, digite 80.

        • Para Instance protocol, escolha HTTP.

        • Para SSL certificate, choose your certificate.

      3. Escolha Adicionar.

    • Balanceador de carga de aplicações

      1. Escolha Add listener.

      2. Na caixa de diálogo Listener do Balanceador de carga de aplicações, configure as seguintes configurações:

        • Para Port, digite a porta de tráfego de entrada, normalmente 443.

        • Em Protocol, escolha HTTPS.

        • Para SSL certificate, choose your certificate.

      3. Escolha Adicionar.

      nota

      Para Classic Load Balancer e Balanceador de carga de aplicações, se o menu vertical não mostrar nenhum certificado, você deverá criar um ou fazer upload de um certificado para o seu nome de domínio personalizado no AWS Certificate Manager (ACM) (preferível). Como alternativa, faça upload de um certificado para IAM com a CLI da AWS.

    • Load balancer de rede

      1. Escolha Add listener.

      2. Na caixa de diálogo listener Load balancer de rede, para Porta, digite a porta de tráfego de entrada, normalmente 443.

      3. Escolha Adicionar.

  6. Escolha Aplicar.

Configurar um listener seguro usando um arquivo de configuração

É possível configurar um listener seguro em seu load balancer com um dos seguintes arquivos de configuração.

exemplo .ebextensions/securelistener-clb.config

Use este exemplo quando seu ambiente tiver um Classic Load Balancer. O exemplo usa as opções no namespace do aws:elb:listener para configurar um listener HTTPS na porta 443 com o certificado especificado e encaminhar o tráfego descriptografado para as instâncias em seu ambiente na porta 80.

option_settings: aws:elb:listener:443: SSLCertificateId: arn:aws:acm:us-east-2:1234567890123:certificate/#################################### ListenerProtocol: HTTPS InstancePort: 80

Substitua o texto destacado pelo ARN do seu certificado. Pode ser um certificado criado ou obtido por upload no AWS Certificate Manager (ACM) (preferível) ou um certificado obtido por upload no IAM com a CLI da AWS.

Para obter mais informações sobre as opções de configuração do Classic Load Balancer, consulte Namespaces de configuração do Classic Load Balancer.

exemplo .ebextensions/securelistener-alb.config

Use este exemplo quando seu ambiente tiver um Balanceador de carga de aplicações. O exemplo usa opções no namespace aws:elbv2:listener configurar um listener HTTPS na porta 443 com o certificado especificado. O listener direciona o tráfego para o processo padrão.

option_settings: aws:elbv2:listener:443: ListenerEnabled: 'true' Protocol: HTTPS SSLCertificateArns: arn:aws:acm:us-east-2:1234567890123:certificate/####################################

exemplo .ebextensions/securelistener-nlb.config

Use este exemplo quando seu ambiente tiver um Load balancer de rede. O exemplo usa as opções no namespace aws:elbv2:listener para configurar um listener na porta 443. O listener direciona o tráfego para o processo padrão.

option_settings: aws:elbv2:listener:443: ListenerEnabled: 'true'

Configurar um grupo de segurança

Se você configurar o load balancer para encaminhar o tráfego para uma porta de instância diferente da porta 80, será necessário adicionar uma regra para o security group que permita o tráfego de entrada vindo de seu load balancer pela porta de instância configurada. Se você criar o seu ambiente em uma VPC personalizada, o Elastic Beanstalk adicionará essa regra para você.

Você adiciona essa regra ao inserir uma chave Resources em um arquivo de configuração no diretório .ebextensions para seu aplicativo.

O arquivo de configuração de exemplo a seguir adiciona uma regra de entrada no security group AWSEBSecurityGroup. Isso permite tráfego na porta 1000 do security group do load balancer.

exemplo .ebextensions/sg-ingressfromlb.config

Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 1000 FromPort: 1000 SourceSecurityGroupName: {"Fn::GetAtt" : ["AWSEBLoadBalancer" , "SourceSecurityGroup.GroupName"]}