기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Elastic Beanstalk 환경의 용량 구성
이 주제에서는 Elastic Beanstalk 환경에 Auto Scaling 용량을 구성하는 다양한 접근 방식에 대해 설명합니다. Elastic Beanstalk 콘솔, EB CLI AWS CLI, 또는 네임스페이스 옵션을 사용할 수 있습니다.
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 이렇게 하려면 시작 템플릿을 관리하는 데 필요한 권한이 필요합니다. 이러한 권한은 관리형 정책에 포함됩니다. 관리형 정책 대신 사용자 지정 정책을 사용하는 경우 환경에 스팟 인스턴스를 활성화하면 환경 생성 또는 업데이트가 실패할 수 있습니다. 자세한 내용 및 기타 고려 사항은 섹션을 참조하세요Elastic Beanstalk 환경을 위한 시작 템플릿.
콘솔을 사용한 구성
Elastic Beanstalk 콘솔의 환경 구성 페이지에서 용량을 편집하여 Auto Scaling 그룹의 용량 관리를 구성할 수 있습니다.
Elastic Beanstalk 콘솔에서 Auto Scaling 그룹 용량을 구성하려면
Elastic Beanstalk 콘솔
을 열고 리전 목록에서를 선택합니다 AWS 리전. -
탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.
참고
여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.
탐색 창에서 구성을 선택합니다.
-
[용량] 구성 범주에서 [편집]을 선택합니다.
-
Auto Scaling 그룹(Auto Scaling group) 섹션에서 다음 설정을 구성합니다.
-
환경 유형(Environment type) - 로드 밸런싱 수행(Load balanced)을 선택합니다.
-
최소 인스턴스(Min instances) - 항상 그룹에 있어야 하는 최소 EC2 인스턴스 수입니다. 그룹은 최소 개수로 시작해 확장 트리거 조건이 충족되면 인스턴스를 추가합니다.
-
최대 인스턴스(Max instances) - 항상 그룹에 있어야 하는 최대 EC2 인스턴스 수입니다.
참고
롤링 업데이트를 사용하는 경우 최대 인스턴스 개수는 롤링 업데이트에 대한 작동 중인 최소 인스턴스 수 설정보다 커야 합니다.
-
플릿 구성 - 기본값은 온디맨드 인스턴스입니다. 스팟 인스턴스 요청을 활성화하려면 결합된 구매 옵션 및 인스턴스를 선택합니다.
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 이렇게 하려면 시작 템플릿을 관리하는 데 필요한 권한이 필요합니다. 이러한 권한은 관리형 정책에 포함됩니다. 관리형 정책 대신 사용자 지정 정책을 사용하는 경우 환경에 스팟 인스턴스를 활성화하면 환경 생성 또는 업데이트가 실패할 수 있습니다. 자세한 내용 및 기타 고려 사항은 섹션을 참조하세요Elastic Beanstalk 환경을 위한 시작 템플릿.스팟 인스턴스 요청을 활성화하도록 선택하면 다음의 옵션이 활성화됩니다.
-
스팟 할당 전략 - 사용 가능한 용량, 가격 및 인스턴스 유형 선택에 따라 환경에서 스팟 인스턴스를 관리하고 프로비저닝하는 데 사용되는 방법을 결정합니다. 용량 최적화(기본값), 가격 용량 최적화, 용량 최적화 우선 순위 지정 또는 최저 가격 중에서 선택합니다. 각 할당 전략에 대한 설명과 자세한 내용은 섹션을 참조하세요스팟 인스턴스 할당 전략.
-
최대 스팟 가격 - 스팟 인스턴스에 대한 최고 가격 옵션 권장 사항에 대해서는 Amazon EC2 사용 설명서의 스팟 인스턴스 요금 기록을 참조하세요.
-
온디맨드 기본 - 환경 확장에 따라 스팟 인스턴스를 고려하기 전에 Auto Scaling 그룹이 프로비저닝하는 최소 온디맨드 인스턴스 수입니다.
-
온디맨드 기본 초과 - Auto Scaling 그룹이 온디맨드 인스턴스를 초과하여 프로비저닝하는 추가 용량의 일부인 온디맨드 인스턴스의 비율입니다.
참고
온디맨드 기본 및 온디맨드 기본 초과 옵션은 앞에서 나열한 최소 및 최대 인스턴스와 연관이 있습니다. 이러한 옵션에 대한 자세한 정보와 예시는 Elastic Beanstalk 환경에 대한 스팟 인스턴스 지원 단원을 참조하세요.
-
용량 리밸런싱 -이 옵션은 Auto Scaling 그룹에 스팟 인스턴스가 하나 이상 있는 경우에만 관련이 있습니다. 이 기능이 활성화되면 EC2는 Auto Scaling 그룹의 스팟 인스턴스가 중단되기 전에 자동으로 교체를 시도하여 애플리케이션의 스팟 인스턴스 중단을 최소화합니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서의 용량 재조정을 참조하세요.
-
-
아키텍처 - EC2 인스턴스의 프로세서 아키텍처입니다. 프로세서 아키텍처는 다음 필드에서 사용할 수 있는 EC2 인스턴스 유형을 결정합니다.
-
인스턴스 유형 - 애플리케이션을 실행하기 위해 시작된 Amazon EC2 인스턴스의 유형입니다. 자세한 내용은 인스턴스 타입 단원을 참조하세요.
-
AMI ID - 사용자 환경에서 Amazon EC2 인스턴스를 시작하기 위해 Elastic Beanstalk에서 사용하는 머신 이미지입니다. 자세한 내용은 AMI ID 단원을 참조하세요.
-
가용 영역(Availability Zones) - 환경의 인스턴스를 분산할 가용 영역의 수를 선택합니다. 기본적으로 Auto Scaling 그룹은 사용 가능한 모든 영역에서 균일하게 인스턴스를 시작합니다. 인스턴스를 더 적은 수의 영역에 집중시키려면 사용할 영역 수를 선택합니다. 프로덕션 환경의 경우 가용 영역 하나를 사용할 수 없을 때 애플리케이션을 사용할 수 있도록 가용 영역을 두 개 이상 사용합니다.
-
배치(Placement)(선택 사항) - 사용할 가용 영역을 선택합니다. 인스턴스를 특정 영역의 리소스에 연결해야 하는 경우 또는 특정 영역에서만 사용할 수 있는 예약 인스턴스를 구입한 경우에 이 설정을 사용합니다. 사용자 지정 VPC에서 환경을 시작한 경우에는 이 옵션을 구성할 수 없습니다. 사용자 지정 VPC에서 환경에 할당한 서브넷의 가용 영역을 선택합니다.
-
조정 쿨다운(Scaling cooldown) - 조정 후 계속해서 트리거를 평가하기 전에 인스턴스가 시작되거나 종료될 때까지 대기하는 시간(초)입니다. 자세한 내용은 조정 쿨다운을 참조하세요.
-
-
변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.
네임스페이스 옵션을 사용한 구성
Elastic Beanstalk는 aws:autoscaling:asg 및 aws:ec2:instances라는 두 네임스페이스에서 Auto Scaling 설정에 대한 구성 옵션을 제공합니다.
aws:autoscaling:asg 네임스페이스
aws:autoscaling:asg 네임스페이스는 전체 확장 및 가용성에 대한 옵션을 제공합니다.
다음 구성 파일 예에서는 2 ~ 4개의 인스턴스, 특정 가용 영역 및 12분(720초)의 휴지 기간을 사용하도록 Auto Scaling 그룹을 구성합니다. 스팟 인스턴스에 대한 용량 재조정을 활성화합니다. 이 EnableCapacityRebalancing
옵션은이 aws:ec2:instances 네임스페이스true
의 로 EnableSpot
설정된 경우에만 적용됩니다.이 옵션은 다음 구성 파일 예제에 나와 있습니다.
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 네임스페이스
참고
환경 구성을 업데이트하고 InstanceTypes
옵션에서 하나 이상의 인스턴스 유형을 제거하면 Elastic Beanstalk는 제거된 인스턴스 유형에서 실행 중인 모든 Amazon EC2 인스턴스를 종료합니다. 그러면 환경의 Auto Scaling 그룹에서 필요에 따라 현재 지정된 인스턴스 유형을 사용하여 원하는 용량을 완료하는 데 필요한 새 인스턴스를 시작합니다.
aws:ec2:instances 네임스페이스는 스팟 인스턴스 관리를 포함하여 환경의 인스턴스와 관련된 옵션을 제공합니다. 이 옵션은 aws:autoscaling:launchconfiguration 및 aws:autoscaling:asg를 보완합니다.
다음 구성 파일 예에서는 환경에 대한 스팟 인스턴스 요청을 활성화하도록 환경을 생성하고 Auto Scaling 그룹을 구성합니다. 사용할 수 있는 세 가지 인스턴스 유형을 지정합니다. 기본 용량에 최소 하나의 온디맨드 인스턴스를 사용하며, 모든 추가 용량에 대해 온디맨드 인스턴스 33% 유지가 사용됩니다.
구성은 스팟 할당 전략을 로 설정합니다capacity-optimized-prioritized
. 이 특정 할당 전략은 InstanceTypes
옵션에 지정된 인스턴스 유형의 순서에 따라 풀에서 인스턴스 시작의 우선 순위를 지정합니다. SpotAllocationStrategy
를 지정하지 않으면 기본값은 입니다capacity-optimized
.
option_settings: aws:ec2:instances: EnableSpot: true InstanceTypes: 't2.micro,t3.micro,t3.small' SpotAllocationStrategy: capacity-optimized-prioritized SpotFleetOnDemandBase: '1' SpotFleetOnDemandAboveBasePercentage: '33'
스팟 인스턴스 유형을 선택하려면 스팟 인스턴스 어드바이저
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 이렇게 하려면 시작 템플릿을 관리하는 데 필요한 권한이 필요합니다. 이러한 권한은 관리형 정책에 포함됩니다. 관리형 정책 대신 사용자 지정 정책을 사용하는 경우 환경에 스팟 인스턴스를 활성화하면 환경 생성 또는 업데이트가 실패할 수 있습니다. 자세한 내용 및 기타 고려 사항은 섹션을 참조하세요Elastic Beanstalk 환경을 위한 시작 템플릿.
를 사용한 구성 AWS CLI
이 섹션에서는 AWS CLI create-environment 명령을 사용하여이 섹션에 설명된 Auto Scaling 및 용량 옵션으로 환경을 구성하는 방법의 예를 제공합니다. 이전 네임스페이스 구성 옵션 섹션에 설명된 aws:ec2:instances대로 aws:autoscaling:asg 및에 대한 네임스페이스 설정도이 예제로 구성되어 있습니다. 네임스페이스 옵션을 사용한 구성
AWS 명령줄 인터페이스는 Elastic Beanstalk 환경을 생성하고 구성하는 명령을 제공합니다. --option-settings
옵션을 사용하면 Elastic Beanstalk에서 지원하는 네임스페이스 옵션을 전달할 수 있습니다. 즉, 앞서 설명한 네임스페이스 구성 옵션을 해당 AWS CLI 명령으로 전달하여 Elastic Beanstalk 환경을 구성할 수 있습니다.
참고
에서 update-environment 명령을 사용하여 네임스페이스 옵션을 --option-settings
추가하거나 업데이트할 수도 있습니다. 환경에서 네임스페이스 옵션을 제거해야 하는 경우 명령을 update-environment와 함께 사용합니다--options-to-remove
.
다음 예제에서는 새 환경을 생성합니다. 전달되는 옵션에 대한 자세한 컨텍스트는 이전 주제 네임스페이스 구성 옵션을 참조하세요.
aws:autoscaling:launchconfiguration 네임스페이스IamInstanceProfile
에 나열된 첫 번째 옵션은 Elastic Beanstalk 인스턴스 프로파일입니다. 새 환경을 생성할 때 필요합니다.
예 - Auto Scaling 옵션을 사용한 생성 환경(네임스페이스 옵션 인라인)
aws elasticbeanstalk create-environment \ --region
us-east-1
\ --application-namemy-app
\ --environment-namemy-env
\ --solution-stack-name"64bit Amazon Linux 2023 v4.3.0 running Python 3.12"
\ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role
Namespace=aws:autoscaling:asg,OptionName=Availability Zones,Value=Any
\ Namespace=aws:autoscaling:asg,OptionName=Cooldown,Value=720
\ Namespace=aws:autoscaling:asg,OptionName=Custom Availability Zones,Value=us-west-2a,us-west-2b
\ Namespace=aws:autoscaling:asg,OptionName=MaxSize,Value=4
\ Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=2
\ Namespace=aws:autoscaling:asg,OptionName=EnableCapacityRebalancing,Value=true
\ Namespace=aws:ec2:instances,OptionName=EnableSpot,Value=true
\ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t2.micro,t3.micro,t3.small
\ Namespace=aws:ec2:instances,OptionName=SpotAllocationStrategy,Value=capacity-optimized-prioritized
\ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandBase,Value=1
\ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandAboveBasePercentage,Value=33
중요
EnableSpot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 이렇게 하려면 시작 템플릿을 관리하는 데 필요한 권한이 필요합니다. 이러한 권한은 관리형 정책에 포함됩니다. 관리형 정책 대신 사용자 지정 정책을 사용하는 경우 환경에 스팟 인스턴스를 활성화하면 환경 생성 또는 업데이트가 실패할 수 있습니다. 자세한 내용 및 기타 고려 사항은 섹션을 참조하세요Elastic Beanstalk 환경을 위한 시작 템플릿.
대안으로, 네임스페이스 옵션을 인라인으로 포함하는 대신 options.json
파일을 사용하여 해당 옵션을 지정하십시오.
예 - Auto Scaling 옵션을 사용한create-environment(options.json
파일의 네임스페이스 옵션)
aws elasticbeanstalk create-environment \ --region
us-east-1
\ --application-namemy-app
\ --environment-namemy-env
\ --solution-stack-name"64bit Amazon Linux 2023 v4.3.0 running Python 3.12"
--option-settingsfile://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Availability Zones", "Value": "Any" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Cooldown", "Value": "720" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Custom Availability Zones", "Value": "us-west-2a,us-west-2b" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "4" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "2" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "EnableCapacityRebalancing", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "EnableSpot", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t2.micro,t3.micro,t3.small" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotAllocationStrategy", "Value": "capacity-optimized-prioritized" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandBase", "Value": "1" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandAboveBasePercentage", "Value": "33" } ]
EB CLI를 사용한 구성
eb create 명령을 사용하여 환경을 생성하면 사용자 환경의 Auto Scaling 그룹과 관련된 몇 가지 옵션을 지정할 수 있습니다. 이러한 몇 개의 옵션을 통해 환경의 용량을 제어할 수 있습니다.
--single
-
Amazon EC2 인스턴스 하나가 있고 로드 밸런서는 없는 환경을 생성합니다. 이 옵션을 사용하지 않으면 생성된 환경에 로드 밸런서가 추가됩니다.
--enable-spot
-
환경에 대한 스팟 인스턴스 요청을 활성화합니다.
중요
enable-spot
옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 이렇게 하려면 시작 템플릿을 관리하는 데 필요한 권한이 필요합니다. 이러한 권한은 관리형 정책에 포함됩니다. 관리형 정책 대신 사용자 지정 정책을 사용하는 경우 환경에 스팟 인스턴스를 활성화하면 환경 생성 또는 업데이트가 실패할 수 있습니다. 자세한 내용 및 기타 고려 사항은 섹션을 참조하세요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"
중요
--instance-type
(‘s’ 없음)이라고 부르는 유사한 이름의 옵션이 있어 온디맨드 인스턴스를 처리할 때에만 EB CLI가 인식할 수 있습니다. --instance-type
("s" 없음)을 --enable-spot
옵션과 함께 사용하지 마세요. 함께 사용하면 EB CLI에서 이를 무시합니다. 그 대신 --instance-types
("s" 포함)를 --enable-spot
옵션과 함께 사용합니다.