Adicione uma regra de ouvinte para seu Application Load Balancer - Elastic Load Balancing

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

Adicione uma regra de ouvinte para seu Application Load Balancer

Você define uma regra padrão ao criar um ouvinte. Você pode definir regras adicionais a qualquer momento. Cada regra deve especificar uma ação e uma condição. Para obter mais informações, consulte Tipos de ação e Tipos de condição.

Console
Para adicionar uma regra
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Balanceador de carga.

  3. Selecione o load balancer.

  4. Nas guias Ouvintes e regras, selecione o texto na coluna Protocol:Porta para abrir as páginas de detalhes do ouvinte.

  5. Na guia Regras, selecione Adicionar regra.

  6. (Opcional) Para especificar um nome para sua regra, expanda Nome e tags e insira o nome. Para adicionar mais tags, selecione Add additional tag (Adicionar outra tag).

  7. Para cada condição, escolha Adicionar condição, escolha o tipo de condição e forneça os valores de condição necessários:

    • Cabeçalho do host — Insira o cabeçalho do host. Por exemplo: *.example.com.

      Máximo de 128 caracteres. Não diferencia maiúsculas de minúsculas. Os caracteres permitidos são a-z, A-Z, 0-9 e os seguintes caracteres especiais: -_.; e curingas (* e ?). É necessário incluir pelo menos um caractere ".". Você pode incluir somente caracteres alfabéticos após o "." final.

    • Caminho — Insira o caminho. Por exemplo: /item/*.

      Máximo de 128 caracteres. Diferencia maiúsculas e minúsculas. Os caracteres permitidos são a-z, A-Z, 0-9 e os seguintes caracteres especiais: _-.$/~"'@:+; &; e curingas (* e ?).

    • Cadeia de caracteres de consulta — Insira pares chave-valor ou valores sem chaves.

      Máximo de 128 caracteres. Não diferencia maiúsculas de minúsculas. Os caracteres permitidos são a-z, A-Z, 0-9 e os seguintes caracteres especiais: _-.$/~"'@:+&()!,;=; e curingas (* e ?).

    • Método de solicitação HTTP — Insira o método de solicitação HTTP.

      Máximo de 40 caracteres. Diferencia maiúsculas e minúsculas. Os caracteres permitidos são A-Z e os seguintes caracteres especiais: -_. Curingas não são compatíveis.

    • Cabeçalho HTTP: digite o nome do cabeçalho e adicione uma ou mais strings de comparação.

      • Nome do cabeçalho HTTP: a regra avaliará as solicitações que contêm esse cabeçalho para confirmar os valores correspondentes.

        Máximo de 40 caracteres. Não diferencia maiúsculas de minúsculas. Os caracteres permitidos são a-z, A-Z, 0-9 e os seguintes caracteres especiais: *?-!#$%&'+.^_`|~. Curingas não são compatíveis.

      • Valor do cabeçalho HTTP: insira cadeias de caracteres para comparação com o valor do cabeçalho HTTP.

        Máximo de 128 caracteres. Não diferencia maiúsculas de minúsculas. Os caracteres permitidos são a-z, A-Z, 0-9; espaços; os seguintes caracteres especiais:!” #$%&' () +,. /:; <=>@ [] ^_` {|} ~-; e curingas (* e?).

    • IP de origem: defina o endereço IP de origem no formato CIDR.

      Ambos IPv4 e IPv6 CIDRs são permitidos. Curingas não são compatíveis.

  8. (Opcional) Para adicionar uma regra de autenticação, selecione Autenticar usuários, escolha um provedor de identidade e forneça as informações necessárias. Para obter mais informações, consulte Autenticar usuários usando um Application Load Balancer.

  9. Em Ação de roteamento, selecione uma das seguintes ações de roteamento e forneça as informações necessárias:

    • Encaminhar para grupos-alvo — Escolha um grupo-alvo. Para adicionar outro grupo-alvo, escolha Adicionar grupo-alvo, escolha um grupo-alvo, revise as porcentagens relativas e atualize os pesos conforme necessário. Você deve ativar a aderência em nível de grupo se tiver ativado a aderência em qualquer um dos grupos-alvo.

    • Redirecionar para URL — Insira o URL inserindo cada parte separadamente na guia Partes do URI ou inserindo o endereço completo na guia URL completo. Para Código de status, selecione temporário (HTTP 302) ou permanente (HTTP 301) com base em suas necessidades.

    • Retornar resposta fixa — insira o código de resposta para retornar as solicitações canceladas do cliente. Opcionalmente, você pode especificar o tipo de conteúdo e o corpo da resposta.

  10. Escolha Próximo.

  11. Em Prioridade, insira um valor de 1 a 50.000. As regras são avaliadas em ordem de prioridade, do valor mais baixo para o valor mais alto.

  12. Escolha Próximo.

  13. Na página Review and create (Revisar e criar), escolha Create (Criar).

AWS CLI
Para adicionar uma regra

Use o comando create-rule.

O exemplo a seguir cria uma regra com uma forward ação e uma host-header condição.

aws elbv2 create-rule \ --listener-arn listener-arn \ --priority 10 \ --conditions "Field=host-header,Values=example.com,www.example.com" \ --actions "Type=forward,TargetGroupArn=target-group-arn"

Para criar uma ação de encaminhamento que distribua o tráfego entre dois grupos-alvo, use a --actions opção a seguir.

--actions '[{ "Type":"forward", "ForwardConfig":{ "TargetGroups":[ {"TargetGroupArn":"target-group-1-arn","Weight":50}, {"TargetGroupArn":"target-group-2-arn","Weight":50} ] } }]'

O exemplo a seguir cria uma regra com uma fixed-response ação e uma source-ip condição.

aws elbv2 create-rule \ --listener-arn listener-arn \ --priority 20 \ --conditions '[{"Field":"source-ip","SourceIpConfig":{"Values":["192.168.1.0/24","10.0.0.0/16"]}}]' \ --actions "Type=fixed-response,FixedResponseConfig={StatusCode=403,ContentType=text/plain,MessageBody='Access denied'}"

O exemplo a seguir cria uma regra com uma redirect ação e uma http-header condição.

aws elbv2 create-rule \ --listener-arn listener-arn \ --priority 30 \ --conditions '[{"Field":"http-header","HttpHeaderConfig":{"HttpHeaderName":"User-Agent","Values":["*Mobile*","*Android*","*iPhone*"]}}]' \ --actions "Type=redirect,RedirectConfig={Host=m.example.com,StatusCode=HTTP_302}"
CloudFormation
Para adicionar uma regra

Defina um recurso do tipo AWS::ElasticLoadBalancingV2::ListenerRule.

O exemplo a seguir cria uma regra com uma forward ação e uma host-header condição.

Resources: myForwardListenerRule: Type: 'AWS::ElasticLoadBalancingV2::ListenerRule' Properties: ListenerArn: !Ref myListener Priority: 10 Conditions: - Field: host-header Values: - example.com - www.example.com Actions: - Type: forward TargetGroupArn: !Ref myTargetGroup

O exemplo a seguir cria uma regra com uma fixed-response ação e uma source-ip condição.

Resources: myFixedResponseListenerRule: Type: 'AWS::ElasticLoadBalancingV2::ListenerRule' Properties: ListenerArn: !Ref myListener Priority: 20 Conditions: - Field: source-ip SourceIpConfig: Values: - 192.168.1.0/24 - 10.0.0.0/16 Actions: - Type: fixed-response FixedResponseConfig: StatusCode: 403 ContentType: text/plain MessageBody: "Access denied"

O exemplo a seguir cria uma regra com uma redirect ação e uma http-header condição.

Resources: myRedirectListenerRule: Type: 'AWS::ElasticLoadBalancingV2::ListenerRule' Properties: ListenerArn: !Ref myListener Priority: 30 Conditions: - Field: http-header HttpHeaderConfig: HttpHeaderName: User-Agent Values: - "*Mobile*" - "*Android*" - "*iPhone*" Actions: - Type: redirect RedirectConfig: Host: m.example.com StatusCode: HTTP_302