Verwendung von CreateRule mit einer CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Verwendung von CreateRule mit einer CLI

Die folgenden Code-Beispiele zeigen, wie CreateRule verwendet wird.

CLI
AWS CLI

Beispiel 1: So erstellen Sie eine Regel mit einer Pfadbedingung und einer Weiterleitungsaktion

Im folgenden create-rule-Beispiel wird eine Regel erstellt, die Anfragen an die angegebene Zielgruppe weiterleitet, wenn die URL das vorgeschriebene Muster enthält.

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

Inhalt von conditions-pattern.json:

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

Beispiel 2: So erstellen Sie eine Regel mit einer Hostbedingung und einer festen Antwort

Im folgenden create-rule-Beispiel wird eine Regel erstellt, die eine feste Antwort liefert, wenn der Hostname im Host-Header mit dem angegebenen Hostnamen übereinstimmt.

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

Inhalt von conditions-host.json

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

Inhalt von actions-fixed-response.json

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

Beispiel 3: So erstellen Sie eine Regel mit einer Quell-IP-Adressbedingung, einer Authentifizierungsaktion und einer Weiterleitungsaktion

Im folgenden create-rule-Beispiel wird eine Regel erstellt, die den Benutzer authentifiziert, wenn die Quell-IP-Adresse mit der angegebenen IP-Adresse übereinstimmt, und die Anfrage an die angegebene Zielgruppe weiterleitet, wenn die Authentifizierung erfolgreich ist.

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

Inhalt von conditions-source-ip.json

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

Inhalt von 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 } ]
  • Weitere API-Informationen finden Sie unter CreateRule in der AWS CLI-Befehlsreferenz.

PowerShell
Tools für PowerShell V4

Beispiel 1: In diesem Beispiel wird eine neue Listener-Regel mit einer Aktion mit fester Antwort erstellt, die auf dem Kunden-Header-Wert für den angegebenen Listener basiert.

$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

Ausgabe:

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
  • Weitere API-Informationen finden Sie unter CreateRule in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird eine neue Listener-Regel mit einer Aktion mit fester Antwort erstellt, die auf dem Kunden-Header-Wert für den angegebenen Listener basiert.

$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

Ausgabe:

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
  • Weitere API-Informationen finden Sie unter CreateRule in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).