Configurando a HTTPS terminação no balanceador de carga - 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á.

Configurando a HTTPS terminação no balanceador de carga

Para atualizar seu AWS Elastic Beanstalk ambiente para usoHTTPS, você precisa configurar um HTTPS ouvinte para o balanceador de carga em seu ambiente. Dois tipos de balanceador de carga oferecem suporte a um HTTPS ouvinte: Classic Load Balancer e Application Load Balancer.

É 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 balanceador de carga e não oferecem suporte ao HTTPS encerramento no balanceador de carga.

Configurar um listener 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 Classic Load Balancer listener (Listener do Classic Load Balancer), defina as seguintes configurações:

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

        • Para o protocolo Listener, escolha HTTPS.

        • Para Instance port, digite 80.

        • Em Protocolo de instância, escolha HTTP.

        • Para SSLcertificado, escolha seu certificado.

      3. Escolha Adicionar.

    • Application Load Balancer

      1. Escolha Add listener.

      2. Na caixa de diálogo Application Load Balancer listener (Listener do Application Load Balancer), defina as seguintes configurações:

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

        • Para Protocolo, selecione HTTPS.

        • Para SSLcertificado, escolha seu certificado.

      3. Escolha Adicionar.

      nota

      Para Classic Load Balancer e Application Load Balancer, se o menu suspenso não mostrar nenhum certificado, você deve criar ou carregar um certificado para seu nome de domínio personalizado AWS Certificate Manager em ACM () (preferencial). Como alternativa, faça o upload de um certificado IAM com AWS CLI o.

    • Network Load Balancer

      1. Escolha Add listener.

      2. Na caixa de diálogo Network Load Balancer listener (Listener do Network Load Balancer) em Port (Porta), digite o número da porta de tráfego de entrada que, normalmente, é 443.

      3. Escolha Adicionar.

  6. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

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 opções no aws:elb:listener namespace para configurar um HTTPS ouvinte na porta 443 com o certificado especificado e para 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. O certificado pode ser aquele que você criou ou carregou em AWS Certificate Manager (ACM) (preferencial) ou aquele que você carregou IAM com AWS CLI o.

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 Application Load Balancer. O exemplo usa opções no aws:elbv2:listener namespace para configurar um HTTPS ouvinte 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 Network Load Balancer. 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 seu ambiente de forma personalizadaVPC, 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 SourceSecurityGroupId: {"Fn::GetAtt" : ["AWSEBLoadBalancerSecurityGroup", "GroupId"]}