기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Elastic Beanstalk 환경에 대한 Auto Scaling 그룹 구성
이 주제에서는 Elastic Beanstalk 환경에 맞게 Auto Scaling을 구성하는 다양한 접근 방식에 대해 설명합니다. Elastic Beanstalk 콘솔, EB CLI또는 네임스페이스 옵션을 사용할 수 있습니다.
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 자세한 내용은 시작 템플릿 섹션을 참조하세요.
Elastic Beanstalk 콘솔을 사용하여 Auto Scaling 그룹 구성
Elastic Beanstalk 콘솔에서 환경의 구성(Configuration) 페이지에 있는 용량(Capacity)을 편집하여 Auto Scaling의 작동 방식을 구성할 수 있습니다.
Elastic Beanstalk 콘솔에서 Auto Scaling 그룹을 구성하려면
Elastic Beanstalk 콘솔
을 열고 리전 목록에서 를 선택합니다 AWS 리전. -
탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.
참고
여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.
탐색 창에서 구성을 선택합니다.
-
[용량] 구성 범주에서 [편집]을 선택합니다.
-
Auto Scaling 그룹(Auto Scaling group) 섹션에서 다음 설정을 구성합니다.
-
환경 유형(Environment type) - 로드 밸런싱 수행(Load balanced)을 선택합니다.
-
최소 인스턴스 - 그룹이 언제든지 포함해야 하는 최소 EC2 인스턴스 수입니다. 그룹은 최소 개수로 시작해 확장 트리거 조건이 충족되면 인스턴스를 추가합니다.
-
최대 인스턴스 - 그룹이 언제든지 포함해야 하는 최대 EC2 인스턴스 수입니다.
참고
롤링 업데이트를 사용하는 경우 최대 인스턴스 개수는 롤링 업데이트에 대한 작동 중인 최소 인스턴스 수 설정보다 커야 합니다.
-
플릿 구성 - 기본값은 온디맨드 인스턴스입니다. 스팟 인스턴스 요청을 활성화하려면 결합된 구매 옵션 및 인스턴스를 선택합니다.
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 자세한 내용은 시작 템플릿 섹션을 참조하세요.스팟 인스턴스 요청을 활성화하도록 선택하면 다음의 옵션이 활성화됩니다.
-
최대 스팟 가격 - 스팟 인스턴스의 최대 가격 옵션에 대한 권장 사항은 Amazon EC2 사용 설명서의 스팟 인스턴스 요금 기록을 참조하세요.
-
온디맨드 기본 - 환경 확장에 따라 스팟 인스턴스를 고려하기 전에 Auto Scaling 그룹이 프로비저닝하는 최소 온디맨드 인스턴스 수입니다.
-
온디맨드 기본 초과 - Auto Scaling 그룹이 온디맨드 인스턴스를 초과하여 프로비저닝하는 추가 용량의 일부인 온디맨드 인스턴스의 비율입니다.
참고
온디맨드 기본 및 온디맨드 기본 초과 옵션은 앞에서 나열한 최소 및 최대 인스턴스와 연관이 있습니다. 이러한 옵션에 대한 자세한 정보와 예시는 스팟 인스턴스 지원 단원을 참조하세요.
-
용량 리밸런싱 활성화 - 이 옵션은 Auto Scaling 그룹에 스팟 인스턴스가 하나 이상 있는 경우에만 관련이 있습니다. 이 기능이 활성화되면 는 Auto Scaling 그룹의 스팟 인스턴스가 중단되기 전에 EC2 자동으로 교체를 시도하여 애플리케이션의 스팟 인스턴스 중단을 최소화합니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서의 용량 재조정을 참조하세요.
-
-
인스턴스 유형 - 애플리케이션을 실행하기 위해 시작된 Amazon EC2 인스턴스의 유형입니다. 세부 정보는 인스턴스 타입을 참조하세요.
-
AMI ID - Elastic Beanstalk가 환경에서 Amazon EC2 인스턴스를 시작하는 데 사용하는 시스템 이미지입니다. 자세한 내용은 AMI ID 단원을 참조하세요.
-
가용 영역(Availability Zones) - 환경의 인스턴스를 분산할 가용 영역의 수를 선택합니다. 기본적으로 Auto Scaling 그룹은 사용 가능한 모든 영역에서 균일하게 인스턴스를 시작합니다. 인스턴스를 더 적은 수의 영역에 집중시키려면 사용할 영역 수를 선택합니다. 프로덕션 환경의 경우 가용 영역 하나를 사용할 수 없을 때 애플리케이션을 사용할 수 있도록 가용 영역을 두 개 이상 사용합니다.
-
배치(Placement)(선택 사항) - 사용할 가용 영역을 선택합니다. 인스턴스를 특정 영역의 리소스에 연결해야 하는 경우 또는 특정 영역에서만 사용할 수 있는 예약 인스턴스를 구입한 경우에 이 설정을 사용합니다. 사용자 지정 에서 환경을 시작하는 경우 이 옵션을 구성할 VPC수 없습니다. 사용자 지정 에서 환경에 할당하는 서브넷의 가용 영역을 VPC선택합니다.
-
조정 쿨다운(Scaling cooldown) - 조정 후 계속해서 트리거를 평가하기 전에 인스턴스가 시작되거나 종료될 때까지 대기하는 시간(초)입니다. 자세한 내용은 조정 쿨다운을 참조하세요.
-
-
변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.
EB를 사용한 Auto Scaling 그룹 구성 CLI
eb create 명령을 사용하여 환경을 생성하면 사용자 환경의 Auto Scaling 그룹과 관련된 몇 가지 옵션을 지정할 수 있습니다. 이러한 몇 개의 옵션을 통해 환경의 용량을 제어할 수 있습니다.
--single
-
Amazon EC2 인스턴스가 하나이고 로드 밸런서가 없는 환경을 생성합니다. 이 옵션을 사용하지 않으면 생성된 환경에 로드 밸런서가 추가됩니다.
--enable-spot
-
환경에 대한 스팟 인스턴스 요청을 활성화합니다.
중요
enable-spot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 자세한 내용은 시작 템플릿 섹션을 참조하세요.eb create 명령에 대한 다음 옵션은
--enable-spot
과 함께 사용해야 합니다.--instance-types
-
환경에서 사용할 Amazon EC2 인스턴스 유형을 나열합니다.
--spot-max-price
-
스팟 인스턴스에 대해 지불하려는 단위 시간당 최고 가격(미국 달러)입니다. 스팟 인스턴스의 최대 가격 옵션에 대한 권장 사항은 Amazon EC2 사용 설명서의 스팟 인스턴스 요금 기록을 참조하세요.
--on-demand-base-capacity
-
환경 스케일 업에 따라 스팟 인스턴스를 고려하기 전에 Auto Scaling 그룹이 프로비저닝하는 최소 온디맨드 인스턴스 수입니다.
--on-demand-above-base-capacity
-
Auto Scaling 그룹이
--on-demand-base-capacity
옵션에 지정된 인스턴스 수를 초과하여 Auto Scaling 그룹에 프로비저닝하는 추가 용량의 일부인 온디맨드 인스턴스의 비율입니다.
다음 예에서는 새 환경에 대한 스팟 인스턴스 요청을 활성화하도록 환경을 생성하고 Auto Scaling 그룹을 구성합니다. 이 예제의 경우 사용 가능한 인스턴스 유형이 세 가지 있습니다.
$ eb create --enable-spot --instance-types "t2.micro,t3.micro,t3.small"
중요
EB가 온디맨드 인스턴스를 처리할 때CLI만 인식하는 다른 비슷한 이름의 옵션--instance-type
(“s”)이 있습니다. --instance-type
("s" 없음)을 --enable-spot
옵션과 함께 사용하지 마세요. 그렇게 하면 EB가 CLI 무시합니다. 그 대신 --instance-types
("s" 포함)를 --enable-spot
옵션과 함께 사용합니다.
네임스페이스 구성 옵션
Elastic Beanstalk는 aws:autoscaling:asg 및 aws:ec2:instances라는 두 네임스페이스에서 Auto Scaling 설정에 대한 구성 옵션을 제공합니다.
aws:autoscaling:asg 네임스페이스
aws:autoscaling:asg 네임스페이스는 전체 확장 및 가용성에 대한 옵션을 제공합니다.
다음 구성 파일 예에서는 2 ~ 4개의 인스턴스, 특정 가용 영역 및 12분(720초)의 휴지 기간을 사용하도록 Auto Scaling 그룹을 구성합니다. 스팟 인스턴스에 대해 용량 리밸런싱이 활성화되었습니다. 이 마지막 옵션은 이 뒤에 나오는 구성 파일 예제에 보이는 것과 같이 aws:ec2:instances 네임스페이스의 EnableSpot
이 true
로 설정되었을 경우에만 적용됩니다.
option_settings:
aws:autoscaling:asg:
Availability Zones: Any
Cooldown: '720'
Custom Availability Zones: 'us-west-2a,us-west-2b'
MaxSize: '4'
MinSize: '2'
EnableCapacityRebalancing: true
aws:ec2:instances 네임스페이스
aws:ec2:instances 네임스페이스는 스팟 인스턴스 관리를 포함하여 환경의 인스턴스와 관련된 옵션을 제공합니다. 이 옵션은 aws:autoscaling:launchconfiguration 및 aws:autoscaling:asg를 보완합니다.
환경 구성을 업데이트하고 InstanceTypes
옵션에서 하나 이상의 인스턴스 유형을 제거하면 Elastic Beanstalk는 제거된 EC2 인스턴스 유형에서 실행되는 모든 Amazon 인스턴스를 종료합니다. 그러면 환경의 Auto Scaling 그룹에서 필요에 따라 현재 지정된 인스턴스 유형을 사용하여 원하는 용량을 완료하는 데 필요한 새 인스턴스를 시작합니다.
다음 구성 파일 예에서는 환경에 대한 스팟 인스턴스 요청을 활성화하도록 환경을 생성하고 Auto Scaling 그룹을 구성합니다. 사용 가능한 인스턴스 유형이 세 가지 있습니다. 기본 용량에 최소 하나의 온디맨드 인스턴스를 사용하며, 모든 추가 용량에 대해 온디맨드 인스턴스 33% 유지가 사용됩니다.
option_settings:
aws:ec2:instances:
EnableSpot: true
InstanceTypes: 't2.micro,t3.micro,t3.small'
SpotFleetOnDemandBase: '1'
SpotFleetOnDemandAboveBasePercentage: '33'
스팟 인스턴스 유형을 선택하려면 스팟 인스턴스 어드바이저
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 자세한 내용은 시작 템플릿 섹션을 참조하세요.