기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CLI를 사용한 Elastic Load Balancing 작업 예제
AWS Command Line Interface(AWS CLI)를 사용하여 로드 밸런서와 대상 그룹을 연결, 분리, 설명하고, Elastic Load Balancing 상태 확인을 추가 및 제거하고, 활성화된 가용 영역을 변경합니다.
이 항목에서는 Amazon EC2 Auto Scaling의 일반적인 작업을 수행하는 AWS CLI 명령의 예제를 보여줍니다.
내용
대상 그룹 또는 Classic Load Balancer 연결
다음 create-auto-scaling-group 명령을 사용하여 Auto Scaling 그룹을 생성하고 Amazon 리소스 이름(ARN)을 지정하여 대상 그룹을 동시에 연결할 수 있습니다. 대상 그룹은 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer와 연결할 수 있습니다.
--auto-scaling-group-name
, --vpc-zone-identifier
, --min-size
, --max-size
의 샘플 값을 바꿉니다. --launch-template
옵션의 경우,
및 my-launch-template
를 Auto Scaling 그룹의 시작 템플릿 이름 및 버전으로 바꿉니다. 1
--traffic-sources
옵션의 경우, 샘플 ARN을 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 ARN으로 바꿉니다.
aws autoscaling create-auto-scaling-group --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-launch-template
,Version='1
' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
" \ --min-size1
--max-size5
\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1
"
대상 그룹이 생성된 후에 attach-traffic-sources 명령을 사용하여 추가 대상 그룹을 Auto Scaling 그룹에 연결합니다.
다음 명령은 다른 대상 그룹을 동일한 그룹에 추가합니다.
aws autoscaling attach-traffic-sources --auto-scaling-group-name
my-asg
\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2
"
또는 Classic Load Balancer를 그룹에 연결하려면 다음 예와 같이 create-auto-scaling-group 또는 attach-traffic-sources를 사용할 때 --traffic-sources
및 --type
옵션을 지정합니다.
을 Classic Load Balancer의 이름으로 바꿉니다. my-classic-load-balancer
--type
옵션의 경우,
의 값을 지정합니다.elb
--traffic-sources "Identifier=
my-classic-load-balancer
" --type elb
대상 그룹 또는 Classic Load Balancer 설명
Auto Scaling 그룹에 연결된 로드 밸런서 또는 대상 그룹을 설명하려면 다음 describe-traffic-sources 명령을 사용합니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling describe-traffic-sources --auto-scaling-group-name
my-asg
이 예에서는 Auto Scaling 그룹에 연결한 Elastic Load Balancing 대상 그룹의 ARN을 반환합니다.
{
"TrafficSources": [
{
"Identifier": "arn:aws:elasticloadbalancing:region
:account-id
:targetgroup/my-targets/12345678EXAMPLE1
",
"State": "InService",
"Type": "elbv2"
},
{
"Identifier": "arn:aws:elasticloadbalancing:region
:account-id
:targetgroup/my-targets/12345678EXAMPLE2
",
"State": "InService",
"Type": "elbv2"
}
]
}
출력에서 State
필드에 대한 설명은 로드 밸런서의 연결 상태 확인(을)를 참조하세요.
Elastic Load Balancing 상태 확인 추가
Auto Scaling 그룹이 인스턴스에서 수행하는 상태 확인에 Elastic Load Balancing 상태 확인을 추가하려면 다음 update-auto-scaling-group 명령을 사용하여
를 ELB
--health-check-type
옵션의 값으로 지정합니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --health-check-type "ELB"
새 인스턴스는 상태 확인을 통과하기 전에 간단한 준비를 위한 시간이 필요한 경우가 많습니다. 유예 기간에 준비 시간이 충분하지 않으면 인스턴스가 트래픽을 서비스할 준비가 되지 않은 것처럼 보일 수 있습니다. Amazon EC2 Auto Scaling은 이러한 인스턴스를 비정상으로 간주하여 교체할 수 있습니다.
상태 확인 유예 기간을 업데이트하려면 다음 예와 같이 update-auto-scaling-group을 사용할 때 --health-check-grace-period
옵션을 사용합니다. 새 인스턴스가 비정상인 것으로 확인될 경우 종료하기 전에 새 인스턴스를 계속 사용할 수 있게 하려면 300
을 초 단위로 바꿉니다.
--health-check-grace-period
300
자세한 내용은 Auto Scaling 그룹의 인스턴스에 대한 상태 확인 섹션을 참조하세요.
가용 영역 변경
가용 영역 변경과 관련하여 다음과 같은 몇 가지 제한 사항을 파악하고 있어야 합니다. 자세한 내용은 가용 영역 추가 섹션을 참조하세요.
Application Load Balancer 또는 Network Load Balancer의 가용 영역을 변경하려면
-
로드 밸런서의 가용 영역을 변경하기 전에 먼저 Auto Scaling 그룹의 가용 영역을 업데이트하여 지정된 영역에서 인스턴스 유형을 사용할 수 있는지 확인하는 것이 좋습니다.
다음 update-auto-scaling-group 명령을 사용하여 Auto Scaling 그룹에 사용되는 가용 영역을 업데이트합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7
" -
다음 describe-auto-scaling-groups 명령을 사용하여 새 서브넷의 인스턴스가 시작되었는지 확인합니다. 인스턴스가 시작된 경우 인스턴스 및 인스턴스 상태 목록이 표시됩니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name
my-asg
-
다음 set-subnets 명령을 사용하여 로드 밸런서의 서브넷을 지정합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 가용 영역당 1개의 서브넷만 지정할 수 있습니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다.
를 로드 밸런서의 ARN으로 바꿉니다.my-lb-arn
aws elbv2 set-subnets --load-balancer-arn
my-lb-arn
\ --subnetssubnet-41767929
subnet-cb663da2
subnet-8360a9e7
Classic Load Balancer의 가용 영역을 변경하려면
-
로드 밸런서의 가용 영역을 변경하기 전에 먼저 Auto Scaling 그룹의 가용 영역을 업데이트하여 지정된 영역에서 인스턴스 유형을 사용할 수 있는지 확인하는 것이 좋습니다.
다음 update-auto-scaling-group 명령을 사용하여 Auto Scaling 그룹에 사용되는 가용 영역을 업데이트합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2
" -
다음 describe-auto-scaling-groups 명령을 사용하여 새 서브넷의 인스턴스가 시작되었는지 확인합니다. 인스턴스가 시작된 경우 인스턴스 및 인스턴스 상태 목록이 표시됩니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name
my-asg
-
다음 attach-load-balancer-to-subnets 명령을 사용하여 Classic Load Balancer에 대해 새 가용 영역을 활성화합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다.
를 로드 밸런서의 이름으로 바꿉니다.my-lb
aws elb attach-load-balancer-to-subnets --load-balancer-name
my-lb
\ --subnetssubnet-cb663da2
가용 영역을 비활성화하려면 다음 detach-load-balancer-from-subnets 명령을 사용합니다. 샘플 서브넷 ID를 비활성화할 가용 영역의 서브넷 ID로 바꿉니다.
를 로드 밸런서의 이름으로 바꿉니다.my-lb
aws elb detach-load-balancer-from-subnets --load-balancer-name
my-lb
\ --subnetssubnet-8360a9e7
대상 그룹 또는 Classic Load Balancer 분리
대상 그룹이 더이상 필요하지 않으면 detach-traffic-sources 명령을 사용하여 Auto Scaling 그룹에서 대상 그룹을 분리합니다.
--auto-scaling-group-name
옵션의 경우,
를 그룹 이름으로 바꿉니다. my-asg
--traffic-sources
옵션의 경우, 샘플 ARN을 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 ARN으로 바꿉니다.
aws autoscaling detach-traffic-sources --auto-scaling-group-name
my-asg
\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456
"
그룹에서 Classic Load Balancer를 분리하려면 다음 예와 같이 --traffic-sources
및 --type
옵션을 지정합니다.
을 Classic Load Balancer의 이름으로 바꿉니다. my-classic-load-balancer
--type
옵션의 경우,
의 값을 지정합니다.elb
--traffic-sources "Identifier=
my-classic-load-balancer
" --type elb
Elastic Load Balancing 상태 확인 제거
Auto Scaling 그룹에서 Elastic Load Balancing 상태 확인을 제거하려면 다음 update-auto-scaling-group 명령을 사용하여
를 EC2
--health-check-type
옵션의 값으로 지정합니다.
을 사용자 그룹의 이름으로 바꿉니다.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --health-check-type "EC2"
자세한 내용은 Auto Scaling 그룹의 인스턴스에 대한 상태 확인 섹션을 참조하세요.
레거시 명령
다음 예에서는 레거시 CLI 명령을 사용하여 로드 밸런서와 대상 그룹을 연결, 분리, 설명하는 방법을 보여줍니다. 이 설명서는 이 설명서를 사용하려는 모든 고객을 위한 참조 자료로 유지됩니다. 레거시 CLI 명령은 계속 지원되지만 여러 트래픽 소스 유형을 연결하고 분리할 수 있는 새로운 “트래픽 소스” CLI 명령을 사용하는 것이 좋습니다. 동일한 Auto Scaling 그룹에서 레거시 CLI 명령과 “트래픽 소스” CLI 명령을 모두 사용할 수 있습니다.
대상 그룹을 연결하려면
다음 Create-auto-scaling-group 명령은 연결된 대상 그룹을 사용하여 Auto Scaling 그룹을 생성합니다. Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 Amazon 리소스 이름(ARN)을 지정합니다.
aws autoscaling create-auto-scaling-group --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-launch-template
,Version='1
' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
" \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456
" \ --min-size1
--max-size5
다음 attach-load-balancer-target-groups 명령은 대상 그룹을 기존 Auto Scaling 그룹에 연결합니다.
aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name
my-asg
\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456
"
Classic Load Balancer를 연결하려면
다음 Create-auto-scaling-group 명령은 연결된 Classic Load Balancer에서 Auto Scaling 그룹을 생성합니다.
aws autoscaling create-auto-scaling-group --auto-scaling-group-name
my-asg
\ --launch-configuration-namemy-launch-config
\ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
" \ --load-balancer-names "my-load-balancer
" \ --min-size1
--max-size5
다음 attach-load-balancers 명령은 지정된 Classic Load Balancer를 기존 Auto Scaling 그룹에 연결합니다.
aws autoscaling attach-load-balancers --auto-scaling-group-name
my-asg
\ --load-balancer-namesmy-lb
대상 그룹을 설명하려면
Auto Scaling 그룹과 연결된 대상 그룹을 설명하려면 describe-load-balancer-target-groups 명령을 사용합니다. 다음은 my-asg
에 대한 대상 그룹을 나열하는 예제입니다.
aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-name
my-asg
Classic Load Balancer를 설명하려면
Auto Scaling 그룹과 연결된 Classic Load Balancer를 설명하려면 describe-load-balancers 명령을 사용합니다. 다음 예제에서는 my-asg
의 Classic Load Balancer를 나열합니다.
aws autoscaling describe-load-balancers --auto-scaling-group-name
my-asg
대상 그룹을 분리하려면
대상 그룹이 더 이상 필요하지 않으면 다음 detach-load-balancer-target-groups 명령으로 Auto Scaling 그룹에서 대상 그룹을 분리할 수 있습니다.
aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name
my-asg
\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456
"
Classic Load Balancer를 분리하려면
필요하지 않은 경우 다음 detach-load-balancers 명령을 사용하면 Auto Scaling 그룹에서 Classic Load Balancer를 분리할 수 있습니다.
aws autoscaling detach-load-balancers --auto-scaling-group-name
my-asg
\ --load-balancer-namesmy-lb