D’autres exemples de kits AWS SDK sont disponibles dans le référentiel GitHub AWS Doc SDK Examples
Utilisation de CreateRule avec une CLI
Les exemples de code suivants illustrent comment utiliser CreateRule.
- CLI
-
- AWS CLI
-
Exemple 1 : pour créer une règle à l’aide d’une condition de chemin et d’une action de transfert
L’exemple
create-rulesuivant crée une règle qui transfère les demandes au groupe cible spécifié si l’URL contient le modèle spécifié.aws elbv2 create-rule \ --listener-arnarn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2\ --priority5\ --conditionsfile://conditions-pattern.json--actionsType=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067Contenu de
conditions-pattern.json:[ { "Field": "path-pattern", "PathPatternConfig": { "Values": ["/images/*"] } } ]Exemple 2 : pour créer une règle à l’aide d’une condition d’hôte et d’une réponse fixe
L’exemple
create-rulesuivant crée une règle qui fournit une réponse fixe si le nom d’hôte dans l’en-tête d’hôte correspond au nom d’hôte spécifié.aws elbv2 create-rule \ --listener-arnarn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2\ --priority10\ --conditionsfile://conditions-host.json\ --actionsfile://actions-fixed-response.jsonContenu de
conditions-host.json[ { "Field": "host-header", "HostHeaderConfig": { "Values": ["*.example.com"] } } ]Contenu de
actions-fixed-response.json[ { "Type": "fixed-response", "FixedResponseConfig": { "MessageBody": "Hello world", "StatusCode": "200", "ContentType": "text/plain" } } ]Exemple 3 : pour créer une règle à l’aide d’une condition d’adresse IP source, d’une action d’authentification et d’une action de transfert
L’exemple
create-rulesuivant crée une règle qui authentifie l’utilisateur si l’adresse IP source correspond à l’adresse IP spécifiée, et transmet la demande au groupe cible spécifié si l’authentification est réussie.aws elbv2 create-rule \ --listener-arnarn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2\ --priority20\ --conditionsfile://conditions-source-ip.json\ --actionsfile://actions-authenticate.jsonContenu de
conditions-source-ip.json[ { "Field": "source-ip", "SourceIpConfig": { "Values": ["192.0.2.0/24", "198.51.100.10/32"] } } ]Contenu 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 } ]-
Pour plus de détails sur l’API, consultez CreateRule
dans la Référence des commandes de l’AWS CLI.
-
- PowerShell
-
- Outils pour PowerShell V4
-
Exemple 1 : cet exemple crée une nouvelle règle d’écouteur avec une action à réponse fixe basée sur la valeur d’en-tête du client pour l’écouteur spécifié.
$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 10Sortie :
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-
Pour plus de détails sur l’API, consultez CreateRule dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V4).
-
- Outils pour PowerShell V5
-
Exemple 1 : cet exemple crée une nouvelle règle d’écouteur avec une action à réponse fixe basée sur la valeur d’en-tête du client pour l’écouteur spécifié.
$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 10Sortie :
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-
Pour plus de détails sur l’API, consultez CreateRule dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V5).
-