Elastic Load Balancing -를 사용한 버전 2 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Elastic Load Balancing -를 사용한 버전 2 예제 AWS CLI

다음 코드 예제에서는 Elastic Load Balancing - 버전 2와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 add-listener-certificates을 사용하는 방법을 보여 줍니다.

AWS CLI

보안 리스너에 인증서를 추가하려면

이 예제에서는 지정된 보안 리스너에 지정된 인증서를 추가합니다.

명령:

aws elbv2 add-listener-certificates --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 --certificates CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/5cc54884-f4a3-4072-80be-05b9ba72f705

출력:

{ "Certificates": [ { "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/5cc54884-f4a3-4072-80be-05b9ba72f705", "IsDefault": false } ] }

다음 코드 예시에서는 add-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서에 태그를 추가하려면

다음 add-tags 예제에서는 지정된 로드 밸런서에 projectdepartment 태그를 추가합니다.

aws elbv2 add-tags \ --resource-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --tags "Key=project,Value=lima" "Key=department,Value=digital-media"
  • API 세부 정보는 AWS CLI 명령 참조AddTags를 참조하세요.

다음 코드 예시에서는 create-listener을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: HTTP 리스너 생성

다음 create-listener 예제에서는 지정된 대상 그룹에 요청을 전달하는 지정된 Application Load Balancer에 대한 HTTP 리스너를 생성합니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --protocol HTTP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

자세한 내용은 Application Load Balancer 사용 설명서 AWS CLI의 자습서: Application Load Balancer를 사용하여 Application Load Balancer 생성을 참조하세요.

예제 2: HTTPS 리스너 생성

다음 create-listener 예제에서는 지정된 대상 그룹에 요청을 전달하는 지정된 Application Load Balancer에 대한 HTTPS 리스너를 생성합니다. SSL 리스너에 대한 HTTPS 인증서를 지정해야 합니다. AWS Certificate Manager(ACM)를 사용하여 인증서를 생성하고 관리할 수 있습니다. 또는 SSL/TLS 도구를 사용하여 인증서를 생성하고, 인증 기관(CA)에서 서명한 인증서를 가져오고, 인증서를 AWS Identity and Access Management(IAM)에 업로드할 수 있습니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --protocol HTTPS \ --port 443 \ --certificates CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/3dcb0a41-bd72-4774-9ad9-756919c40557 \ --ssl-policy ELBSecurityPolicy-2016-08 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

자세한 내용은 Application Load Balancer 사용 설명서 HTTPS 리스너 추가를 참조하세요.

예제 3: TCP 리스너 생성

다음 create-listener 예제에서는 지정된 대상 그룹에 요청을 전달하는 지정된 Network Load Balancer에 대한 TCP 리스너를 생성합니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/net/my-network-load-balancer/5d1b75f4f1cee11e \ --protocol TCP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-tcp-targets/b6bba954d1361c78

자세한 내용은 Network Load Balancer 사용 설명서의 자습서: AWS CLI를 사용하여 Network Load Balancer 생성을 참조하세요.

예제 4: TLS 리스너 생성

다음 create-listener 예제에서는 지정된 대상 그룹에 요청을 전달하는 지정된 Network Load Balancer에 대한 TLS 리스너를 생성합니다. SSL 리스너에 대한 TLS 인증서를 지정해야 합니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --protocol TLS \ --port 443 \ --certificates CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/3dcb0a41-bd72-4774-9ad9-756919c40557 \ --ssl-policy ELBSecurityPolicy-2016-08 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

자세한 내용은 Network Load Balancer 사용 설명서의 Network Load Balancer용 TLS 리스너를 참조하세요.

예제 5: UDP 리스너 생성

다음 create-listener 예제에서는 지정된 대상 그룹에 요청을 전달하는 지정된 Network Load Balancer에 대한 UDP 리스너를 생성합니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/net/my-network-load-balancer/5d1b75f4f1cee11e \ --protocol UDP \ --port 53 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-tcp-targets/b6bba954d1361c78

자세한 내용은 Network Load Balancer 사용 설명서의 자습서: AWS CLI Load Balancer를 사용하여 Network Load Balancer 생성을 참조하세요.

예 6: 지정된 게이트웨이 및 전달을 위한 리스너를 생성하는 방법

다음 create-listener 예시에서는 요청을 지정된 대상 그룹으로 전달하는 지정된 Gateway Load Balancer의 리스너를 생성합니다.

aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:850631746142:loadbalancer/gwy/my-gateway-load-balancer/e0f9b3d5c7f7d3d6 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-east-1:850631746142:targetgroup/my-glb-targets/007ca469fae3bb1615

출력:

{ "Listeners": [ { "ListenerArn": "arn:aws:elasticloadbalancing:us-east-1:850631746142:listener/gwy/my-agw-lb-example2/e0f9b3d5c7f7d3d6/afc127db15f925de", "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:850631746142:loadbalancer/gwy/my-agw-lb-example2/e0f9b3d5c7f7d3d6", "DefaultActions": [ { "Type": "forward", "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:850631746142:targetgroup/test-tg-agw-2/007ca469fae3bb1615", "ForwardConfig": { "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:850631746142:targetgroup/test-tg-agw-2/007ca469fae3bb1615" } ] } } ] } ] }

자세한 내용은 Gateway Load Balancer 사용 설명서의 AWS CLI를 사용하여 Gateway Load Balancer 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateListener를 참조하세요.

다음 코드 예시에서는 create-load-balancer을 사용하는 방법을 보여 줍니다.

AWS CLI

예 1: 인터넷 경계 로드 밸런서를 생성하는 방법

다음 create-load-balancer 예시에서는 인터넷 경계 Application Load Balancer를 생성하고 지정된 서브넷의 가용 영역을 활성화합니다.

aws elbv2 create-load-balancer \ --name my-load-balancer \ --subnets subnet-b7d581c0 subnet-8360a9e7

출력:

{ "LoadBalancers": [ { "Type": "application", "Scheme": "internet-facing", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "AvailabilityZones": [ { "ZoneName": "us-west-2a", "SubnetId": "subnet-8360a9e7" }, { "ZoneName": "us-west-2b", "SubnetId": "subnet-b7d581c0" } ], "CreatedTime": "2017-08-25T21:26:12.920Z", "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-5943793c" ], "LoadBalancerName": "my-load-balancer", "State": { "Code": "provisioning" }, "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" } ] }

자세한 내용은 Application Load Balancer 사용 설명서의 자습서: AWS CLI를 사용하여 Application Load Balancer 생성을 참조하세요.

예 2: 내부 로드 밸런서를 생성하는 방법

다음 create-load-balancer 예시에서는 내부 Application Load Balancer를 생성하고 지정된 서브넷의 가용 영역을 활성화합니다.

aws elbv2 create-load-balancer \ --name my-internal-load-balancer \ --scheme internal \ --subnets subnet-b7d581c0 subnet-8360a9e7

출력:

{ "LoadBalancers": [ { "Type": "application", "Scheme": "internal", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "AvailabilityZones": [ { "ZoneName": "us-west-2a", "SubnetId": "subnet-8360a9e7" }, { "ZoneName": "us-west-2b", "SubnetId": "subnet-b7d581c0" } ], "CreatedTime": "2016-03-25T21:29:48.850Z", "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", "DNSName": "internal-my-internal-load-balancer-1529930873.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-5943793c" ], "LoadBalancerName": "my-internal-load-balancer", "State": { "Code": "provisioning" }, "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/5b49b8d4303115c2" } ] }

자세한 내용은 Application Load Balancer 사용 설명서 AWS CLI의 자습서: Application Load Balancer를 사용하여 Application Load Balancer 생성을 참조하세요.

예 3: Network Load Balancer를 생성하는 방법

다음 create-load-balancer 예시에서는 인터넷 경계 Network Load Balancer를 생성하고 지정된 서브넷의 가용 영역을 활성화합니다. 서브넷 매핑을 사용하여 지정된 탄력적 IP 주소를 로드 밸런서 노드가 가용 영역에 사용하는 네트워크 인터페이스와 연결합니다.

aws elbv2 create-load-balancer \ --name my-network-load-balancer \ --type network \ --subnet-mappings SubnetId=subnet-b7d581c0,AllocationId=eipalloc-64d5890a

출력:

{ "LoadBalancers": [ { "Type": "network", "Scheme": "internet-facing", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "AvailabilityZones": [ { "LoadBalancerAddresses": [ { "IpAddress": "35.161.207.171", "AllocationId": "eipalloc-64d5890a" } ], "ZoneName": "us-west-2b", "SubnetId": "subnet-5264e837" } ], "CreatedTime": "2017-10-15T22:41:25.657Z", "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", "DNSName": "my-network-load-balancer-5d1b75f4f1cee11e.elb.us-west-2.amazonaws.com", "LoadBalancerName": "my-network-load-balancer", "State": { "Code": "provisioning" }, "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/net/my-network-load-balancer/5d1b75f4f1cee11e" } ] }

자세한 내용은 Network Load Balancer 사용 설명서의 자습서: AWS CLI Load Balancer를 사용하여 Network Load Balancer 생성을 참조하세요.

예 4: Gateway Load Balancer를 생성하는 방법

다음 create-load-balancer 예시에서는 Gateway Load Balancer를 생성하고 지정된 서브넷의 가용 영역을 활성화합니다.

aws elbv2 create-load-balancer \ --name my-gateway-load-balancer \ --type gateway \ --subnets subnet-dc83f691 subnet-a62583f9

출력:

{ "LoadBalancers": [ { "Type": "gateway", "VpcId": "vpc-838475fe", "AvailabilityZones": [ { "ZoneName": "us-east-1b", "SubnetId": "subnet-a62583f9" }, { "ZoneName": "us-east-1a", "SubnetId": "subnet-dc83f691" } ], "CreatedTime": "2021-07-14T19:33:43.324000+00:00", "LoadBalancerName": "my-gateway-load-balancer", "State": { "Code": "provisioning" }, "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:850631746142:loadbalancer/gwy/my-gateway-load-balancer/dfbb5a7d32cdee79" } ] }

자세한 내용은 Gateway Load Balancer 사용 설명서의 AWS CLI를 사용하여 Gateway Load Balancer 시작하기를 참조하세요.

다음 코드 예시에서는 create-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 경로 조건 및 전달 작업을 사용하여 규칙을 생성하려면

다음 create-rule 예제에서는 URL에 지정된 패턴이 포함된 경우 지정된 대상 그룹에 요청을 전달하는 규칙을 생성합니다.

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

conditions-pattern.json의 콘텐츠:

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

예제 2: 호스트 조건과 고정 응답을 사용하여 규칙을 생성하려면

다음 create-rule 예제에서는 호스트 헤더의 호스트 이름이 지정된 호스트 이름과 일치하는 경우 고정 응답을 제공하는 규칙을 생성합니다.

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

conditions-host.json의 콘텐츠

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

actions-fixed-response.json의 콘텐츠

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

예제 3: 소스 IP 주소 조건, 인증 작업 및 전달 작업을 사용하여 규칙을 생성하려면

다음 create-rule 예제에서는 소스 IP 주소가 지정된 IP 주소와 일치하는 경우 사용자를 인증하는 규칙을 생성하고 인증이 성공하면 지정된 대상 그룹에 요청을 전달합니다.

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

conditions-source-ip.json의 콘텐츠

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

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 } ]
  • API 세부 정보는 AWS CLI 명령 참조CreateRule를 참조하세요.

다음 코드 예시에서는 create-target-group을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: Application Load Balancer의 대상 그룹을 생성하려면

다음 create-target-group 예시에서는 인스턴스 ID(대상 유형 instance)별로 대상을 등록하는 Application Load Balancer의 대상 그룹을 생성합니다. 이 대상 그룹은 HTTP 프로토콜, 포트 80 및 HTTP 대상 그룹에 대한 기본 상태 확인 설정을 사용합니다.

aws elbv2 create-target-group \ --name my-targets \ --protocol HTTP \ --port 80 \ --target-type instance \ --vpc-id vpc-3ac0fb5f

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "TargetGroupName": "my-targets", "Protocol": "HTTP", "Port": 80, "VpcId": "vpc-3ac0fb5f", "HealthCheckProtocol": "HTTP", "HealthCheckPort": "traffic-port", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 5, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "HealthCheckPath": "/", "Matcher": { "HttpCode": "200" }, "TargetType": "instance", "ProtocolVersion": "HTTP1", "IpAddressType": "ipv4" } ] }

자세한 내용은 Application Load Balancer 사용 설명서의 대상 그룹 생성을 참조하세요.

예제 2: Application Load Balancer에서 Lambda 함수로 트래픽을 라우팅하는 대상 그룹을 생성하려면

다음 create-target-group 예시에서는 대상이 Lambda 함수(대상 유형 lambda)인 Application Load Balancer의 대상 그룹을 생성합니다. 기본적으로 상태 확인은 이 대상 그룹에 대해 비활성화됩니다.

aws elbv2 create-target-group \ --name my-lambda-target \ --target-type lambda

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-lambda-target/a3003e085dbb8ddc", "TargetGroupName": "my-lambda-target", "HealthCheckEnabled": false, "HealthCheckIntervalSeconds": 35, "HealthCheckTimeoutSeconds": 30, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "HealthCheckPath": "/", "Matcher": { "HttpCode": "200" }, "TargetType": "lambda", "IpAddressType": "ipv4" } ] }

자세한 내용은 Application Load Balancer 사용 설명서Lambda 함수를 대상으로를 참조하세요.

예제 3: Network Load Balancer의 대상 그룹을 생성하려면

다음 create-target-group 예시에서는 IP 주소(대상 유형 ip)별로 대상을 등록하는 Network Load Balancer의 대상 그룹을 생성합니다. 이 대상 그룹은 TCP 프로토콜, 포트 80 및 TCP 대상 그룹의 기본 상태 확인 설정을 사용합니다.

aws elbv2 create-target-group \ --name my-ip-targets \ --protocol TCP \ --port 80 \ --target-type ip \ --vpc-id vpc-3ac0fb5f

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-ip-targets/b6bba954d1361c78", "TargetGroupName": "my-ip-targets", "Protocol": "TCP", "Port": 80, "VpcId": "vpc-3ac0fb5f", "HealthCheckEnabled": true, "HealthCheckProtocol": "TCP", "HealthCheckPort": "traffic-port", "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 10, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "TargetType": "ip", "IpAddressType": "ipv4" } ] }

자세한 내용은 Network Load Balancer 사용 설명서대상 그룹 생성을 참조하세요.

예제 4: Network Load Balancer에서 Application Load Balancer로 트래픽을 라우팅하는 대상 그룹을 생성하려면

다음 create-target-group 예제에서는 Application Load Balancer를 대상으로 등록하는 Network Load Balancer의 대상 그룹을 생성합니다(대상 유형은 임alb). Application Load Balancer

aws elbv2 create-target-group --name my-alb-target --protocol TCP --port 80 --target-type alb --vpc-id vpc-3ac0fb5f

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target/a3003e085dbb8ddc", "TargetGroupName": "my-alb-target", "Protocol": "TCP", "Port": 80, "VpcId": "vpc-838475fe", "HealthCheckProtocol": "HTTP", "HealthCheckPort": "traffic-port", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 6, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "HealthCheckPath": "/", "Matcher": { "HttpCode": "200-399" }, "TargetType": "alb", "IpAddressType": "ipv4" } ] }

자세한 내용은 Network Load Balancer 사용 설명서의 Application Load Balancer를 대상으로 하는 대상 그룹 생성을 참조하세요.

예제 5: Gateway Load Balancer의 대상 그룹을 생성하려면

다음 create-target-group 예제에서는 대상이 인스턴스이고 대상 그룹 프로토콜이 인 Gateway Load Balancer의 대상 그룹을 생성합니다GENEVE.

aws elbv2 create-target-group \ --name my-glb-targetgroup \ --protocol GENEVE \ --port 6081 \ --target-type instance \ --vpc-id vpc-838475fe

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-glb-targetgroup/00c3d57eacd6f40b6f", "TargetGroupName": "my-glb-targetgroup", "Protocol": "GENEVE", "Port": 6081, "VpcId": "vpc-838475fe", "HealthCheckProtocol": "TCP", "HealthCheckPort": "80", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 10, "HealthCheckTimeoutSeconds": 5, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "TargetType": "instance" } ] }

자세한 내용은 Gateway Load Balancer 사용 설명서의 대상 그룹 생성 <https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/createWord-target-group.html>`__을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateTargetGroup를 참조하세요.

다음 코드 예시에서는 delete-listener을 사용하는 방법을 보여 줍니다.

AWS CLI

리스너를 삭제하려면

다음 delete-listener 예제에서는 지정된 리스너를 삭제합니다.

aws elbv2 delete-listener \ --listener-arn arn:aws:elasticloadbalancing:ua-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2
  • API 세부 정보는 AWS CLI 명령 참조DeleteListener를 참조하세요.

다음 코드 예시에서는 delete-load-balancer을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서를 삭제하는 방법

다음 delete-load-balancer 예시에서는 지정된 로드 밸런서를 삭제합니다.

aws elbv2 delete-load-balancer \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

다음 코드 예시에서는 delete-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

규칙을 삭제하려면

다음 delete-rule 예제에서는 지정된 규칙을 삭제합니다.

aws elbv2 delete-rule \ --rule-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3
  • API 세부 정보는 AWS CLI 명령 참조DeleteRule를 참조하세요.

다음 코드 예시에서는 delete-target-group을 사용하는 방법을 보여 줍니다.

AWS CLI

대상 그룹을 삭제하는 방법

다음 delete-target-group 예시에서는 지정된 대상 그룹을 삭제합니다.

aws elbv2 delete-target-group \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Application Load Balancer Load Balancer 안내서의 로드 밸런서 삭제를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteTargetGroup를 참조하세요.

다음 코드 예시에서는 deregister-targets을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 대상 그룹에서 대상 등록을 취소하려면

다음 deregister-targets 예제에서는 지정된 대상 그룹에서 지정된 인스턴스를 제거합니다.

aws elbv2 deregister-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --targets Id=i-1234567890abcdef0

예제 2: 포트 재정의를 사용하여 등록된 대상 등록 취소

다음 deregister-targets 예제에서는 포트 재정의를 사용하여 등록된 대상 그룹에서 인스턴스를 제거합니다.

aws elbv2 deregister-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-internal-targets/3bb63f11dfb0faf9 \ --targets Id=i-1234567890abcdef0,Port=80 Id=i-1234567890abcdef0,Port=766
  • API 세부 정보는 AWS CLI 명령 참조DeregisterTargets를 참조하세요.

다음 코드 예시에서는 describe-account-limits을 사용하는 방법을 보여 줍니다.

AWS CLI

Elastic Load Balancing 제한 설명

다음 describe-account-limits 예제에서는 현재 리전의 AWS 계정에 대한 Elastic Load Balancing 제한을 표시합니다.

aws elbv2 describe-account-limits

출력:

{ "Limits": [ { "Name": "target-groups", "Max": "3000" }, { "Name": "targets-per-application-load-balancer", "Max": "1000" }, { "Name": "listeners-per-application-load-balancer", "Max": "50" }, { "Name": "rules-per-application-load-balancer", "Max": "100" }, { "Name": "network-load-balancers", "Max": "50" }, { "Name": "targets-per-network-load-balancer", "Max": "3000" }, { "Name": "targets-per-availability-zone-per-network-load-balancer", "Max": "500" }, { "Name": "listeners-per-network-load-balancer", "Max": "50" }, { "Name": "condition-values-per-alb-rule", "Max": "5" }, { "Name": "condition-wildcards-per-alb-rule", "Max": "5" }, { "Name": "target-groups-per-application-load-balancer", "Max": "100" }, { "Name": "target-groups-per-action-on-application-load-balancer", "Max": "5" }, { "Name": "target-groups-per-action-on-network-load-balancer", "Max": "1" }, { "Name": "certificates-per-application-load-balancer", "Max": "25" }, { "Name": "certificates-per-network-load-balancer", "Max": "25" }, { "Name": "targets-per-target-group", "Max": "1000" }, { "Name": "target-id-registrations-per-application-load-balancer", "Max": "1000" }, { "Name": "network-load-balancer-enis-per-vpc", "Max": "1200" }, { "Name": "application-load-balancers", "Max": "50" }, { "Name": "gateway-load-balancers", "Max": "100" }, { "Name": "gateway-load-balancers-per-vpc", "Max": "100" }, { "Name": "geneve-target-groups", "Max": "100" }, { "Name": "targets-per-availability-zone-per-gateway-load-balancer", "Max": "300" } ] }

자세한 내용은 AWS 일반 참조할당량을 참조하세요.

다음 코드 예시에서는 describe-listener-certificates을 사용하는 방법을 보여 줍니다.

AWS CLI

보안 리스너의 인증서를 설명하려면

이 예제에서는 지정된 보안 리스너의 인증서를 설명합니다.

명령:

aws elbv2 describe-listener-certificates --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2

출력:

{ "Certificates": [ { "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/5cc54884-f4a3-4072-80be-05b9ba72f705", "IsDefault": false }, { "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/3dcb0a41-bd72-4774-9ad9-756919c40557", "IsDefault": false }, { "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/fe59da96-6f58-4a22-8eed-6d0d50477e1d", "IsDefault": true } ] }

다음 코드 예시에서는 describe-listeners을 사용하는 방법을 보여 줍니다.

AWS CLI

리스너를 설명하려면

이 예제에서는 지정된 리스너를 설명합니다.

명령:

aws elbv2 describe-listeners --listener-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2

출력:

{ "Listeners": [ { "Port": 80, "Protocol": "HTTP", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" } ] }

로드 밸런서의 리스너를 설명하려면

이 예제에서는 지정된 로드 밸런서에 대한 리스너를 설명합니다.

명령:

aws elbv2 describe-listeners --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

출력:

{ "Listeners": [ { "Port": 443, "Protocol": "HTTPS", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ], "SslPolicy": "ELBSecurityPolicy-2015-05", "Certificates": [ { "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-server-cert" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65" }, { "Port": 80, "Protocol": "HTTP", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" } ] }
  • API 세부 정보는 AWS CLI 명령 참조DescribeListeners를 참조하세요.

다음 코드 예시에서는 describe-load-balancer-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서 속성을 설명하려면

다음 describe-load-balancer-attributes 예제에서는 지정된 로드 밸런서의 속성을 표시합니다.

aws elbv2 describe-load-balancer-attributes \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

다음 예제 출력은 Application Load Balancer의 속성을 보여줍니다.

{ "Attributes": [ { "Value": "false", "Key": "access_logs.s3.enabled" }, { "Value": "", "Key": "access_logs.s3.bucket" }, { "Value": "", "Key": "access_logs.s3.prefix" }, { "Value": "60", "Key": "idle_timeout.timeout_seconds" }, { "Value": "false", "Key": "deletion_protection.enabled" }, { "Value": "true", "Key": "routing.http2.enabled" } ] }

다음 예제 출력에는 Network Load Balancer에 대한 속성이 포함됩니다.

{ "Attributes": [ { "Value": "false", "Key": "access_logs.s3.enabled" }, { "Value": "", "Key": "access_logs.s3.bucket" }, { "Value": "", "Key": "access_logs.s3.prefix" }, { "Value": "false", "Key": "deletion_protection.enabled" }, { "Value": "false", "Key": "load_balancing.cross_zone.enabled" } ] }

다음 코드 예시에서는 describe-load-balancers을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서를 설명하는 방법

이 예시에서는 지정된 로드 밸런서를 설명합니다.

명령:

aws elbv2 describe-load-balancers --load-balancer-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

출력:

{ "LoadBalancers": [ { "Type": "application", "Scheme": "internet-facing", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "AvailabilityZones": [ { "ZoneName": "us-west-2a", "SubnetId": "subnet-8360a9e7" }, { "ZoneName": "us-west-2b", "SubnetId": "subnet-b7d581c0" } ], "CreatedTime": "2016-03-25T21:26:12.920Z", "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-5943793c" ], "LoadBalancerName": "my-load-balancer", "State": { "Code": "active" }, "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" } ] }

모든 로드 밸런서를 설명하는 방법

이 예시에서는 모든 로드 밸런서를 설명합니다.

명령:

aws elbv2 describe-load-balancers

다음 코드 예시에서는 describe-rules을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 규칙 설명

다음 describe-rules 예제에서는 지정된 규칙에 대한 세부 정보를 표시합니다.

aws elbv2 describe-rules \ --rule-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee

예제 2: 리스너에 대한 규칙을 설명하려면

다음 describe-rules 예제에서는 지정된 리스너의 규칙에 대한 세부 정보를 표시합니다. 출력에는 기본 규칙과 추가한 기타 규칙이 포함됩니다.

aws elbv2 describe-rules \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2
  • API 세부 정보는 AWS CLI 명령 참조DescribeRules를 참조하세요.

다음 코드 예시에서는 describe-ssl-policies을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 로드 밸런서 유형별로 SSL 협상에 사용되는 정책을 나열하려면

다음 describe-ssl-policies 예제에서는 Application Load Balancer와의 SSL 협상에 사용할 수 있는 정책의 이름을 표시합니다. 이 예제에서는 --query 파라미터를 사용하여 정책의 이름만 표시합니다.

aws elbv2 describe-ssl-policies \ --load-balancer-type application \ --query SslPolicies[*].Name

출력:

[ "ELBSecurityPolicy-2016-08", "ELBSecurityPolicy-TLS13-1-2-2021-06", "ELBSecurityPolicy-TLS13-1-2-Res-2021-06", "ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06", "ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06", "ELBSecurityPolicy-TLS13-1-1-2021-06", "ELBSecurityPolicy-TLS13-1-0-2021-06", "ELBSecurityPolicy-TLS13-1-3-2021-06", "ELBSecurityPolicy-TLS-1-2-2017-01", "ELBSecurityPolicy-TLS-1-1-2017-01", "ELBSecurityPolicy-TLS-1-2-Ext-2018-06", "ELBSecurityPolicy-FS-2018-06", "ELBSecurityPolicy-2015-05", "ELBSecurityPolicy-TLS-1-0-2015-04", "ELBSecurityPolicy-FS-1-2-Res-2019-08", "ELBSecurityPolicy-FS-1-1-2019-08", "ELBSecurityPolicy-FS-1-2-2019-08", "ELBSecurityPolicy-FS-1-2-Res-2020-10" ]

예제 2: 특정 프로토콜을 지원하는 정책을 나열하려면

다음 describe-ssl-policies 예제에서는 TLS 1.3 프로토콜을 지원하는 정책의 이름을 표시합니다. 이 예제에서는 --query 파라미터를 사용하여 정책의 이름만 표시합니다.

aws elbv2 describe-ssl-policies \ --load-balancer-type application \ --query SslPolicies[?contains(SslProtocols,'TLSv1.3')].Name

출력:

[ "ELBSecurityPolicy-TLS13-1-2-2021-06", "ELBSecurityPolicy-TLS13-1-2-Res-2021-06", "ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06", "ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06", "ELBSecurityPolicy-TLS13-1-1-2021-06", "ELBSecurityPolicy-TLS13-1-0-2021-06", "ELBSecurityPolicy-TLS13-1-3-2021-06" ]

예제 3: 정책의 암호 표시

다음 describe-ssl-policies 예제에서는 지정된 정책의 암호 이름을 표시합니다. 이 예제에서는 --query 파라미터를 사용하여 암호 이름만 표시합니다. 목록의 첫 번째 암호는 우선 순위가 1이고 나머지 암호는 우선 순위가 입니다.

aws elbv2 describe-ssl-policies \ --names ELBSecurityPolicy-TLS13-1-2-2021-06 \ --query SslPolicies[*].Ciphers[*].Name

출력:

[ "TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-ECDSA-AES128-SHA256", "ECDHE-RSA-AES128-SHA256", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-ECDSA-AES256-SHA384", "ECDHE-RSA-AES256-SHA384" ]

자세한 내용은 Application Load Balancer 사용 설명서의 보안 정책을 참조하세요.

다음 코드 예시에서는 describe-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서에 할당된 태그를 설명하려면

이 예제에서는 지정된 로드 밸런서에 할당된 태그를 설명합니다.

명령:

aws elbv2 describe-tags --resource-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

출력:

{ "TagDescriptions": [ { "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "Tags": [ { "Value": "lima", "Key": "project" }, { "Value": "digital-media", "Key": "department" } ] } ] }
  • API 세부 정보는 AWS CLI 명령 참조DescribeTags를 참조하세요.

다음 코드 예시에서는 describe-target-group-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

대상 그룹 속성을 설명하려면

다음 describe-target-group-attributes 예제에서는 지정된 대상 그룹의 속성을 표시합니다.

aws elbv2 describe-target-group-attributes \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

프로토콜이 HTTP 또는 HTTPS이고 대상 유형이 instance 또는 인 경우 출력에 속성이 포함됩니다ip.

{ "Attributes": [ { "Value": "false", "Key": "stickiness.enabled" }, { "Value": "300", "Key": "deregistration_delay.timeout_seconds" }, { "Value": "lb_cookie", "Key": "stickiness.type" }, { "Value": "86400", "Key": "stickiness.lb_cookie.duration_seconds" }, { "Value": "0", "Key": "slow_start.duration_seconds" } ] }

프로토콜이 HTTP 또는 HTTPS이고 대상 유형이 인 경우 다음 출력에는 속성이 포함됩니다lambda.

{ "Attributes": [ { "Value": "false", "Key": "lambda.multi_value_headers.enabled" } ] }

다음 출력에는 프로토콜이 TCP, Word, TLS UDP또는 TCP_UDP인 경우의 속성이 포함됩니다.

{ "Attributes": [ { "Value": "false", "Key": "proxy_protocol_v2.enabled" }, { "Value": "300", "Key": "deregistration_delay.timeout_seconds" } ] }

다음 코드 예시에서는 describe-target-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

예 1: 대상 그룹을 설명하는 방법

다음 describe-target-groups 예시에서는 지정된 대상 그룹의 세부 정보를 표시합니다.

aws elbv2 describe-target-groups \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "TargetGroupName": "my-targets", "Protocol": "HTTP", "Port": 80, "VpcId": "vpc-3ac0fb5f", "HealthCheckProtocol": "HTTP", "HealthCheckPort": "traffic-port", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 5, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "HealthCheckPath": "/", "Matcher": { "HttpCode": "200" }, "LoadBalancerArns": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" ], "TargetType": "instance", "ProtocolVersion": "HTTP1", "IpAddressType": "ipv4" } ] }

예 2: 로드 밸런서의 모든 대상 그룹을 설명하는 방법

다음 describe-target-groups 예시에서는 지정된 로드 밸런서의 모든 대상 그룹에 대한 세부 정보를 표시합니다. 이 예제에서는 --query 파라미터를 사용하여 대상 그룹 이름만 표시합니다.

aws elbv2 describe-target-groups \ --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --query TargetGroups[*].TargetGroupName

출력:

[ "my-instance-targets", "my-ip-targets", "my-lambda-target" ]

자세한 내용은 Applicaion Load Balancer 안내서대상 그룹을 참조하세요.

다음 코드 예시에서는 describe-target-health을 사용하는 방법을 보여 줍니다.

AWS CLI

예 1: 대상 그룹의 대상 상태를 설명하는 방법

다음 describe-target-health 예시에서는 지정된 대상 그룹의 대상 상태 세부 정보를 표시합니다. 이러한 대상은 정상입니다.

aws elbv2 describe-target-health \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

출력:

{ "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-ceddcd4d", "Port": 80 }, "TargetHealth": { "State": "healthy" } }, { "HealthCheckPort": "80", "Target": { "Id": "i-0f76fade", "Port": 80 }, "TargetHealth": { "State": "healthy" } } ] }

예 2: 대상의 상태를 설명하는 방법

다음 describe-target-health 예시에서는 지정된 대상의 상태 세부 정보를 표시합니다. 이 대상은 정상입니다.

aws elbv2 describe-target-health \ --targets Id=i-0f76fade,Port=80 \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

출력:

{ "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-0f76fade", "Port": 80 }, "TargetHealth": { "State": "healthy" } } ] }

다음 예시 출력은 리스너에 대한 작업에 대상 그룹이 지정되지 않은 대상에 대한 것입니다. 이 대상은 로드 밸런서에서 트래픽을 수신할 수 없습니다.

{ "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-0f76fade", "Port": 80 }, "TargetHealth": { "State": "unused", "Reason": "Target.NotInUse", "Description": "Target group is not configured to receive traffic from the load balancer" } } ] }

다음 예시 출력은 리스너에 대한 작업에 대상 그룹이 방금 지정된 대상에 대한 것입니다. 대상이 아직 등록되는 중입니다.

{ "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-0f76fade", "Port": 80 }, "TargetHealth": { "State": "initial", "Reason": "Elb.RegistrationInProgress", "Description": "Target registration is in progress" } } ] }

다음 예시 출력은 비정상 대상에 대한 것입니다.

{ "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-0f76fade", "Port": 80 }, "TargetHealth": { "State": "unhealthy", "Reason": "Target.Timeout", "Description": "Connection to target timed out" } } ] }

다음 예시 출력은 Lambda 함수인 대상에 대한 것이며 상태 확인은 비활성화되어 있습니다.

{ "TargetHealthDescriptions": [ { "Target": { "Id": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "AvailabilityZone": "all", }, "TargetHealth": { "State": "unavailable", "Reason": "Target.HealthCheckDisabled", "Description": "Health checks are not enabled for this target" } } ] }

다음 코드 예시에서는 modify-listener을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 기본 작업을 전달 작업으로 변경하려면

다음 modify-listener 예제에서는 지정된 리스너에 대한 기본 작업(전달 작업)을 변경합니다.

aws elbv2 modify-listener \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f

출력:

{ "Listeners": [ { "Protocol": "HTTP", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", "Type": "forward" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "Port": 80, "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" } ] }

예제 2: 기본 작업을 리디렉션 작업으로 변경하려면

다음 modify-listener 예제에서는 기본 작업을 지정된 리스너에 대한 리디렉션 작업으로 변경합니다.

aws elbv2 modify-listener \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ --default-actions Type=redirect,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f

출력:

{ "Listeners": [ { "Protocol": "HTTP", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", "Type": "redirect" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "Port": 80, "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" } ] }

예제 3: 서버 인증서 변경

이 예제에서는 지정된 HTTPS 리스너의 서버 인증서를 변경합니다.

aws elbv2 modify-listener \ --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65 \ --certificates CertificateArn=arn:aws:iam::123456789012:server-certificate/my-new-server-cert

출력:

{ "Listeners": [ { "Protocol": "HTTPS", "DefaultActions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ], "SslPolicy": "ELBSecurityPolicy-2015-05", "Certificates": [ { "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "Port": 443, "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65" } ] }
  • API 세부 정보는 AWS CLI 명령 참조ModifyListener를 참조하세요.

다음 코드 예시에서는 modify-load-balancer-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

삭제 방지를 활성화하려면

이 예제에서는 지정된 로드 밸런서에 대한 삭제 보호를 활성화합니다.

명령:

aws elbv2 modify-load-balancer-attributes --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --attributes Key=deletion_protection.enabled,Value=true

출력:

{ "Attributes": [ { "Value": "true", "Key": "deletion_protection.enabled" }, { "Value": "false", "Key": "access_logs.s3.enabled" }, { "Value": "60", "Key": "idle_timeout.timeout_seconds" }, { "Value": "", "Key": "access_logs.s3.prefix" }, { "Value": "", "Key": "access_logs.s3.bucket" } ] }

유휴 제한 시간을 변경하려면

이 예제에서는 지정된 로드 밸런서에 대한 유휴 제한 시간 값을 변경합니다.

명령:

aws elbv2 modify-load-balancer-attributes --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --attributes Key=idle_timeout.timeout_seconds,Value=30

출력:

{ "Attributes": [ { "Value": "30", "Key": "idle_timeout.timeout_seconds" }, { "Value": "false", "Key": "access_logs.s3.enabled" }, { "Value": "", "Key": "access_logs.s3.prefix" }, { "Value": "true", "Key": "deletion_protection.enabled" }, { "Value": "", "Key": "access_logs.s3.bucket" } ] }

액세스 로그를 활성화하려면

이 예제에서는 지정된 로드 밸런서에 대한 액세스 로그를 활성화합니다. S3 버킷은 로드 밸런서와 동일한 리전에 있어야 하며 Elastic Load Balancing 서비스에 대한 액세스 권한을 부여하는 정책이 연결되어 있어야 합니다.

명령:

aws elbv2 modify-load-balancer-attributes --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --attributes Key=access_logs.s3.enabled,Value=true Key=access_logs.s3.bucket,Value=my-loadbalancer-logs Key=access_logs.s3.prefix,Value=myapp

출력:

{ "Attributes": [ { "Value": "true", "Key": "access_logs.s3.enabled" }, { "Value": "my-load-balancer-logs", "Key": "access_logs.s3.bucket" }, { "Value": "myapp", "Key": "access_logs.s3.prefix" }, { "Value": "60", "Key": "idle_timeout.timeout_seconds" }, { "Value": "false", "Key": "deletion_protection.enabled" } ] }

다음 코드 예시에서는 modify-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

규칙을 수정하려면

다음 modify-rule 예제에서는 지정된 규칙에 대한 작업 및 조건을 업데이트합니다.

aws elbv2 modify-rule \ --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --conditions Field=path-pattern,Values='/images/*' --rule-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee

출력:

{ "Rules": [ { "Priority": "10", "Conditions": [ { "Field": "path-pattern", "Values": [ "/images/*" ] } ], "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee", "IsDefault": false, "Actions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ] } ] }
  • API 세부 정보는 AWS CLI 명령 참조ModifyRule를 참조하세요.

다음 코드 예시에서는 modify-target-group-attributes을 사용하는 방법을 보여 줍니다.

AWS CLI

등록 취소 지연 제한 시간을 수정하려면

이 예제에서는 등록 취소 지연 제한 시간을 지정된 대상 그룹에 대해 지정된 값으로 설정합니다.

명령:

aws elbv2 modify-target-group-attributes --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 --attributes Key=deregistration_delay.timeout_seconds,Value=600

출력:

{ "Attributes": [ { "Value": "false", "Key": "stickiness.enabled" }, { "Value": "600", "Key": "deregistration_delay.timeout_seconds" }, { "Value": "lb_cookie", "Key": "stickiness.type" }, { "Value": "86400", "Key": "stickiness.lb_cookie.duration_seconds" } ] }

다음 코드 예시에서는 modify-target-group을 사용하는 방법을 보여 줍니다.

AWS CLI

대상 그룹의 상태 확인 구성을 수정하려면

다음 modify-target-group 예제에서는 지정된 대상 그룹의 대상 상태를 평가하는 데 사용되는 상태 확인의 구성을 변경합니다. CLI가 쉼표를 구문 분석하는 방식으로 인해 --matcher 옵션의 범위를 큰따옴표 대신 작은따옴표로 둘러싸야 합니다.

aws elbv2 modify-target-group \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f \ --health-check-protocol HTTPS \ --health-check-port 443 \ --matcher HttpCode='200,299'

출력:

{ "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f", "TargetGroupName": "my-https-targets", "Protocol": "HTTPS", "Port": 443, "VpcId": "vpc-3ac0fb5f", "HealthCheckProtocol": "HTTPS", "HealthCheckPort": "443", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 5, "HealthyThresholdCount": 5, "UnhealthyThresholdCount": 2, "Matcher": { "HttpCode": "200,299" }, "LoadBalancerArns": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" ], "TargetType": "instance", "ProtocolVersion": "HTTP1", "IpAddressType": "ipv4" } ] }

자세한 내용은 Applicaion Load Balancer 안내서대상 그룹을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ModifyTargetGroup를 참조하세요.

다음 코드 예시에서는 register-targets을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 인스턴스 ID별로 대상 그룹에 대상을 등록하려면

다음 register-targets 예제에서는 지정된 인스턴스를 대상 그룹에 등록합니다. 대상 그룹의 대상 유형은 이어야 합니다instance.

aws elbv2 register-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890

예제 2: 포트 재정의를 사용하여 대상 그룹에 대상을 등록하려면

다음 register-targets 예제에서는 여러 포트를 사용하여 지정된 인스턴스를 대상 그룹에 등록합니다. 이렇게 하면 대상 그룹의 대상과 동일한 인스턴스에 컨테이너를 등록할 수 있습니다.

aws elbv2 register-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-internal-targets/3bb63f11dfb0faf9 \ --targets Id=i-0598c7d356eba48d7,Port=80 Id=i-0598c7d356eba48d7,Port=766

예제 3: IP 주소별로 대상 그룹에 대상 등록

다음 register-targets 예제에서는 지정된 IP 주소를 대상 그룹에 등록합니다. 대상 그룹의 대상 유형은 이어야 합니다ip.

aws elbv2 register-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-tcp-ip-targets/8518e899d173178f \ --targets Id=10.0.1.15 Id=10.0.1.23

예제 4: Lambda 함수를 대상으로 등록하려면

다음 register-targets 예제에서는 지정된 IP 주소를 대상 그룹에 등록합니다. 대상 그룹의 대상 유형은 이어야 합니다lambda. Lambda 함수를 호출할 수 있는 Elastic Load Balancing 권한을 부여해야 합니다.

aws elbv2 register-targets \ --target-group-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-tcp-ip-targets/8518e899d173178f \ --targets Id=arn:aws:lambda:us-west-2:123456789012:function:my-function
  • API 세부 정보는 AWS CLI 명령 참조RegisterTargets를 참조하세요.

다음 코드 예시에서는 remove-listener-certificates을 사용하는 방법을 보여 줍니다.

AWS CLI

보안 리스너에서 인증서를 제거하려면

이 예제에서는 지정된 보안 리스너에서 지정된 인증서를 제거합니다.

명령:

aws elbv2 remove-listener-certificates --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 --certificates CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/5cc54884-f4a3-4072-80be-05b9ba72f705

다음 코드 예시에서는 remove-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서에서 태그를 제거하려면

다음 remove-tags 예제에서는 지정된 로드 밸런서에서 projectdepartment 태그를 제거합니다.

aws elbv2 remove-tags \ --resource-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 \ --tag-keys project department
  • API 세부 정보는 AWS CLI 명령 참조RemoveTags를 참조하세요.

다음 코드 예시에서는 set-ip-address-type을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서의 주소 유형을 설정하려면

이 예제에서는 지정된 로드 밸런서의 주소 유형을 로 설정합니다dualstack. 로드 밸런서 서브넷에는 연결된 CIDR IPv6 블록이 있어야 합니다.

명령:

aws elbv2 set-ip-address-type --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --ip-address-type dualstack

출력:

{ "IpAddressType": "dualstack" }
  • API 세부 정보는 AWS CLI 명령 참조SetIpAddressType를 참조하세요.

다음 코드 예시에서는 set-rule-priorities을 사용하는 방법을 보여 줍니다.

AWS CLI

규칙 우선 순위를 설정하려면

이 예제에서는 지정된 규칙의 우선 순위를 설정합니다.

명령:

aws elbv2 set-rule-priorities --rule-priorities RuleArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3,Priority=5

출력:

{ "Rules": [ { "Priority": "5", "Conditions": [ { "Field": "path-pattern", "Values": [ "/img/*" ] } ], "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3", "IsDefault": false, "Actions": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "Type": "forward" } ] } ] }
  • API 세부 정보는 AWS CLI 명령 참조SetRulePriorities를 참조하세요.

다음 코드 예시에서는 set-security-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

보안 그룹을 로드 밸런서에 연결하려면

이 예제에서는 지정된 보안 그룹을 지정된 로드 밸런서에 연결합니다.

명령:

aws elbv2 set-security-groups --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --security-groups sg-5943793c

출력:

{ "SecurityGroupIds": [ "sg-5943793c" ] }
  • API 세부 정보는 AWS CLI 명령 참조SetSecurityGroups를 참조하세요.

다음 코드 예시에서는 set-subnets을 사용하는 방법을 보여 줍니다.

AWS CLI

로드 밸런서에 대해 가용 영역을 활성화하려면

이 예제에서는 지정된 로드 밸런서에 대해 지정된 서브넷의 가용 영역을 활성화합니다.

명령:

aws elbv2 set-subnets --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 --subnets subnet-8360a9e7 subnet-b7d581c0

출력:

{ "AvailabilityZones": [ { "SubnetId": "subnet-8360a9e7", "ZoneName": "us-west-2a" }, { "SubnetId": "subnet-b7d581c0", "ZoneName": "us-west-2b" } ] }
  • API 세부 정보는 AWS CLI 명령 참조SetSubnets를 참조하세요.