Utilizar CreateRule con una CLI - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Utilizar CreateRule con una CLI

Los siguientes ejemplos de código muestran cómo utilizar CreateRule.

CLI
AWS CLI

Ejemplo 1: creación de una regla mediante una condición de ruta y una acción de reenvío

En el siguiente ejemplo de create-rule, se crea una regla que reenvía las solicitudes al grupo de destino especificado si la dirección URL de la solicitud contiene el patrón especificado.

aws elbv2 create-rule \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ --priority 5 \ --conditions file://conditions-pattern.json --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

Contenido de conditions-pattern.json:

[ { "Field": "path-pattern", "PathPatternConfig": { "Values": ["/images/*"] } } ]

Ejemplo 2: creación de una regla mediante una condición de host y una respuesta fija

En el siguiente ejemplo de create-rule, se crea una regla que proporciona una respuesta fija si el nombre de host del encabezado del host coincide con el nombre de host especificado.

aws elbv2 create-rule \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ --priority 10 \ --conditions file://conditions-host.json \ --actions file://actions-fixed-response.json

Contenido de conditions-host.json

[ { "Field": "host-header", "HostHeaderConfig": { "Values": ["*.example.com"] } } ]

Contenido de actions-fixed-response.json

[ { "Type": "fixed-response", "FixedResponseConfig": { "MessageBody": "Hello world", "StatusCode": "200", "ContentType": "text/plain" } } ]

Ejemplo 3: creación de una regla mediante una condición de dirección IP de origen, una acción de autenticación y una acción de reenvío

En el siguiente ejemplo de create-rule, se crea una regla que autentica al usuario si la dirección IP de origen coincide con la dirección IP especificada y reenvía la solicitud al grupo de destino especificado si la autenticación se realiza correctamente.

aws elbv2 create-rule \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ --priority 20 \ --conditions file://conditions-source-ip.json \ --actions file://actions-authenticate.json

Contenido de conditions-source-ip.json

[ { "Field": "source-ip", "SourceIpConfig": { "Values": ["192.0.2.0/24", "198.51.100.10/32"] } } ]

Contenido de actions-authenticate.json

[ { "Type": "authenticate-oidc", "AuthenticateOidcConfig": { "Issuer": "https://idp-issuer.com", "AuthorizationEndpoint": "https://authorization-endpoint.com", "TokenEndpoint": "https://token-endpoint.com", "UserInfoEndpoint": "https://user-info-endpoint.com", "ClientId": "abcdefghijklmnopqrstuvwxyz123456789", "ClientSecret": "123456789012345678901234567890", "SessionCookieName": "my-cookie", "SessionTimeout": 3600, "Scope": "email", "AuthenticationRequestExtraParams": { "display": "page", "prompt": "login" }, "OnUnauthenticatedRequest": "deny" }, "Order": 1 }, { "Type": "forward", "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:880185128111:targetgroup/cli-test/642a97ecb0e0f26b", "Order": 2 } ]
  • Para obtener información sobre la API, consulte CreateRule en la Referencia de comandos de la AWS CLI.

PowerShell
Herramientas para PowerShell V4

Ejemplo 1: Este ejemplo crea una nueva regla de oyente con una acción de respuesta fija basada en el valor del encabezado del cliente para el oyente especificado.

$newRuleAction = [Amazon.ElasticLoadBalancingV2.Model.Action]@{ "FixedResponseConfig" = @{ "ContentType" = "text/plain" "MessageBody" = "Hello World" "StatusCode" = "200" } "Type" = [Amazon.ElasticLoadBalancingV2.ActionTypeEnum]::FixedResponse } $newRuleCondition = [Amazon.ElasticLoadBalancingV2.Model.RuleCondition]@{ "httpHeaderConfig" = @{ "HttpHeaderName" = "customHeader" "Values" = "header2","header1" } "Field" = "http-header" } New-ELB2Rule -ListenerArn 'arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/testALB/3e2f03b558e19676/1c84f02aec143e80' -Action $newRuleAction -Condition $newRuleCondition -Priority 10

Salida:

Actions : {Amazon.ElasticLoadBalancingV2.Model.Action} Conditions : {Amazon.ElasticLoadBalancingV2.Model.RuleCondition} IsDefault : False Priority : 10 RuleArn : arn:aws:elasticloadbalancing:us-east-1:123456789012:listener-rule/app/testALB/3e2f03b558e19676/1c84f02aec143e80/f4f51dfaa033a8cc
  • Para obtener información sobre la API, consulte CreateRule en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).

Herramientas para PowerShell V5

Ejemplo 1: Este ejemplo crea una nueva regla de oyente con una acción de respuesta fija basada en el valor del encabezado del cliente para el oyente especificado.

$newRuleAction = [Amazon.ElasticLoadBalancingV2.Model.Action]@{ "FixedResponseConfig" = @{ "ContentType" = "text/plain" "MessageBody" = "Hello World" "StatusCode" = "200" } "Type" = [Amazon.ElasticLoadBalancingV2.ActionTypeEnum]::FixedResponse } $newRuleCondition = [Amazon.ElasticLoadBalancingV2.Model.RuleCondition]@{ "httpHeaderConfig" = @{ "HttpHeaderName" = "customHeader" "Values" = "header2","header1" } "Field" = "http-header" } New-ELB2Rule -ListenerArn 'arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/testALB/3e2f03b558e19676/1c84f02aec143e80' -Action $newRuleAction -Condition $newRuleCondition -Priority 10

Salida:

Actions : {Amazon.ElasticLoadBalancingV2.Model.Action} Conditions : {Amazon.ElasticLoadBalancingV2.Model.RuleCondition} IsDefault : False Priority : 10 RuleArn : arn:aws:elasticloadbalancing:us-east-1:123456789012:listener-rule/app/testALB/3e2f03b558e19676/1c84f02aec143e80/f4f51dfaa033a8cc
  • Para obtener información sobre la API, consulte CreateRule en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V5).