Aggiungi una regola listener per il tuo Application Load Balancer - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungi una regola listener per il tuo Application Load Balancer

Definisci una regola predefinita quando crei un listener. È possibile definire regole aggiuntive in qualsiasi momento. Ogni regola deve specificare un'azione e una condizione e può facoltativamente specificare trasformazioni. Per ulteriori informazioni, consulta gli argomenti seguenti:

Console
Per aggiungere una regola
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Ascoltatori e regole, seleziona il testo nella colonna Protocollo:Porta per aprire la pagina dei dettagli dell'ascoltatore.

  5. Nella scheda Regole scegliere Aggiungi regola.

  6. (Facoltativo) Per specificare un nome per la regola, espandi Nome e tag e inserisci il nome. Per aggiungere altri tag, scegli Aggiungi tag aggiuntivi e inserisci la chiave del tag e il valore del tag.

  7. Per ogni condizione, scegli Aggiungi condizione, scegli il tipo di condizione e fornisci i valori di condizione richiesti:

    • Intestazione host: seleziona il tipo di pattern di corrispondenza e inserisci l'intestazione dell'host.

      Corrispondenza dei valori: massimo 128 caratteri. Non prevede una distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono a-z, A-Z, 0-9, i caratteri speciali -_. e i caratteri jolly (* e ?). Si deve includere il carattere "." almeno una volta. Dopo l'ultimo carattere "." è possibile includere solo caratteri alfabetici.

      Corrispondenza regex: massimo 128 caratteri.

    • Percorso: seleziona il tipo di modello di corrispondenza e inserisci il percorso.

      Corrispondenza dei valori: massimo 128 caratteri. Distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono a-z, A-Z, 0-9, i caratteri speciali _-.$/~"'@:+; & e i caratteri jolly (* e ?).

      Corrispondenza regex: massimo 128 caratteri.

    • Stringa di query: immettete coppie chiave:valore o valori senza chiavi.

      Massimo 128 caratteri. Non prevede una distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono a-z, A-Z, 0-9, i caratteri speciali _-.$/~"'@:+&()!,;= e i caratteri jolly (* e ?).

    • Metodo di richiesta HTTP: immettere il metodo di richiesta HTTP.

      Massimo 40 caratteri. Distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono A-Z e i caratteri speciali -_. I caratteri jolly non sono supportati.

    • Intestazione HTTP: seleziona il tipo di modello di corrispondenza e inserisci il nome dell'intestazione e le stringhe di confronto.

      • Nome dell'intestazione HTTP: la regola valuterà le richieste che contengono questa intestazione per confermare i valori corrispondenti.

        Corrispondenza dei valori: massimo 40 caratteri. Non prevede una distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono a-z, A-Z, 0-9 e i caratteri speciali *?-!#$%&'+.^_`|~. I caratteri jolly non sono supportati.

        Corrispondenza regex: massimo 128 caratteri.

      • Valore dell'intestazione HTTP: inserire stringhe da confrontare rispetto al valore dell'intestazione HTTP.

        Valore corrispondente: massimo 128 caratteri. Non prevede una distinzione tra lettere maiuscole e minuscole. I caratteri consentiti sono a-z, A-Z, 0-9; gli spazi; i seguenti caratteri speciali:!» #$%&' () +,. /:; <=>@ [] ^_` {|} ~-; e caratteri jolly (* e?).

        Corrispondenza Regex: massimo 128 caratteri.

    • IP sorgente: definire l'indirizzo IP sorgente in formato CIDR. Entrambi IPv4 IPv6 CIDRs sono consentiti. I caratteri jolly non sono supportati.

  8. (Facoltativo) Per aggiungere una trasformazione, scegliete Aggiungi trasformazione, scegliete il tipo di trasformazione e immettete un'espressione regolare da abbinare e una stringa sostitutiva.

  9. (Facoltativo) Per aggiungere una regola di autenticazione a un listener HTTPS, scegli Azioni, Autentica utenti, scegli un provider di identità e fornisci le informazioni richieste. Per ulteriori informazioni, consulta Autenticazione degli utenti tramite Application Load Balancer.

  10. Per Azioni, Azione di routing, selezionate una delle seguenti azioni di routing e fornite le informazioni richieste:

    • Inoltra ai gruppi target: scegli un gruppo target. Per aggiungere un altro gruppo target, scegli Aggiungi gruppo target, scegli un gruppo target, rivedi i pesi relativi e aggiorna i pesi secondo necessità. Devi abilitare la fedeltà a livello di gruppo se l'hai abilitata su uno qualsiasi dei gruppi target.

    • Reindirizza all'URL: inserisci l'URL inserendo ogni parte separatamente nella scheda Parti URI o inserendo l'indirizzo completo nella scheda URL completo. Per il codice di stato, selezionate temporaneo (HTTP 302) o permanente (HTTP 301) in base alle vostre esigenze.

    • Restituisci una risposta fissa: inserisci il codice di risposta da restituire in caso di mancata risposta alle richieste dei client. Facoltativamente, puoi specificare il tipo di contenuto e il corpo della risposta.

  11. Scegli Next (Successivo).

  12. Per Priorità, inserisci un valore compreso tra 1 e 50.000. Le regole vengono valutate in ordine di priorità dal valore più basso a quello più alto.

  13. Scegli Next (Successivo).

  14. Nella pagina Review and create (Rivedi e crea), scegliere Create (Crea).

AWS CLI
Per aggiungere una regola

Usa il comando create-rule.

L'esempio seguente crea una regola con un'forwardazione e una host-header condizione.

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"

Per creare un'azione di inoltro che distribuisca il traffico tra due gruppi target, utilizzate invece la seguente --actions opzione.

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

L'esempio seguente crea una regola con un'fixed-responseazione e una source-ip condizione.

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'}"

L'esempio seguente crea una regola con un'redirectazione e una http-header condizione.

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
Per aggiungere una regola

Definire un tipo di risorsa AWS::ElasticLoadBalancingV2::ListenerRule.

L'esempio seguente crea una regola con un'forwardazione e una host-header condizione. La regola invia il traffico al gruppo target specificato quando viene soddisfatta la condizione.

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

In alternativa, per creare un'azione di inoltro che distribuisca il traffico tra due gruppi target quando viene soddisfatta la condizione, definisci Actions quanto segue.

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

L'esempio seguente crea una regola con un'fixed-responseazione e una source-ip condizione.

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"

L'esempio seguente crea una regola con un'redirectazione e una http-header condizione.

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