Adicionar uma regra de receptor para seu Application Load Balancer - ELB

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

Adicionar uma regra de receptor para seu Application Load Balancer

Você define as ações para a regra padrão ao criar um receptor. É possível definir regras adicionais a qualquer momento. Cada regra deve especificar uma ação e uma condição e, de forma opcional, pode especificar transformações. Para obter mais informações, consulte o seguinte:

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. Na guia Receptores e regras, selecione o texto na coluna Protocolo:Porta para abrir a página de detalhes do receptor.

  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 tags adicionais, escolha Adicionar tags adicionais e insira a chave e o valor da tag.

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

    • Cabeçalho do host: selecione o tipo de padrão de correspondência e insira o cabeçalho do host.

      Correspondência de valores: 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.

      Correspondência de regex: máximo de 128 caracteres.

    • Caminho: selecione o tipo de padrão de correspondência e insira o caminho.

      Correspondência de valores: 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 ?).

      Correspondência de regex: máximo de 128 caracteres.

    • 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: selecione o tipo de padrão de correspondência e insira o nome do cabeçalho e das 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.

        Correspondência de valores: 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.

        Correspondência de regex: máximo de 128 caracteres.

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

        Correspondência de valores: 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 e os seguintes caracteres especiais: !"#$%&'()+,./:;<=>@[]^_`{|}~-; e curingas (* e ?).

        Correspondência de regex: máximo de 128 caracteres.

    • 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 transformação, selecione Adicionar transformação, selecione o tipo de transformação e insira uma expressão regular correspondente e uma string de substituição.

  9. (Opcional, somente para ouvintes HTTPS) Para a ação de pré-roteamento, selecione uma das seguintes ações:

  10. Em Ação de roteamento, selecione uma das seguintes ações:

    • Encaminhar para um grupo de destino: selecione um grupo de destino. Para adicionar outro grupo de destino, escolha Adicionar grupo de destino, selecione um grupo de destino, revise os pesos relativos e atualize os pesos conforme necessário. Se tiver habilitado a persistência em qualquer dos grupos de destino, você deverá ativar a persistência no nível de grupo.

    • Redirecionar para URL: insira o URL inserindo cada parte separadamente na guia de Partes do URI ou inserindo o endereço completo na guia URL completo. Em 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 às solicitações descartadas do cliente. Como opção, você também pode especificar o Tipo de conteúdo e o Corpo da resposta.

  11. Escolha Próximo.

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

  13. Escolha Próximo.

  14. 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 mostrado a seguir cria uma regra com uma ação forward e uma condição host-header.

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 de destino, use a opção --actions, mostrada a seguir.

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

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

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 mostrado a seguir cria uma regra com uma ação redirect e uma condição http-header.

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 mostrado a seguir cria uma regra com uma ação forward e uma condição host-header. A regra envia tráfego para o grupo de destino especificado quando a condição é atendida.

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

De forma alternativa, para criar uma ação de encaminhamento que distribua o tráfego entre dois grupos de destino quando a condição for atendida, defina Actions conforme mostrado a seguir.

Actions: - Type: forward ForwardConfig: TargetGroups: - TargetGroupArn: !Ref TargetGroup1 Weight: 50 - TargetGroupArn: !Ref TargetGroup2 Weight: 50

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

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 mostrado a seguir cria uma regra com uma ação redirect e uma condição http-header.

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