튜토리얼: 인스턴스를 중단 가능한 용량 예약으로 시작하도록 EC2 플릿을 구성
이 자습서에서는 EC2 플릿에서 중단 가능한 용량 예약으로 인스턴스를 내보내려면 수행해야 하는 단계를 안내합니다.
중단 가능한 용량 예약은 AWS 조직 내 온디맨드 용량 예약 소유자가 임대해주는 예비 용량을 나타냅니다. 이러한 예약은 중단 가능한 워크로드에 적합합니다. 용량 소유자는 중단 2분 전 고지를 통해 언제든 용량을 회수할 수 있으며, EC2가 인스턴스를 종료하기 때문입니다. 중단 가능한 용량 예약에 대한 자세한 내용은 중단 가능한 용량 예약 섹션을 참조하세요.
EC2 플릿 요청의 목표 용량은 목표로 하는 중단 가능 용량 예약의 사용 가능한 용량보다 작거나 같아야 합니다. 요청된 용량이 중단 가능한 용량 예약을 초과하는 경우, EC2 플릿은 최대한 많은 인스턴스를 시작하고 API 응답에 시작된 인스턴스를 보고합니다.
중단 가능한 용량 예약에서 실행되는 인스턴스는 사용자가 수동으로 중지 또는 종료하거나 용량 소유자가 용량을 회수할 때까지 계속 실행됩니다. 용량 소유자가 용량을 회수하면 Amazon EC2는 인스턴스를 종료하기 2분 전 Amazon EventBridge 알림을 보냅니다.
고려 사항
-
중단 가능한 용량 예약으로 인스턴스를 시작하는 데는
instant유형의 EC2 플릿 요청만 지원됩니다. -
reserved-capacity를DefaultTargetCapacityType으로 설정하는 동안OnDemandTargetCapacity또는SpotTargetCapacity를 사용하는 것도 지원되지 않습니다. -
서로 다른 중단 가능한 용량 예약을 대상으로 하는 여러 시작 템플릿을 지정하면 EC2 플릿은 일치하는 모든 예약에 걸쳐 인스턴스를 프로비저닝합니다.
-
중단 가능한 용량 예약의 경우, EC2 플릿은 원하는 목표 용량의 나머지에 대한 온디맨드 인스턴스 또는 스팟 인스턴스 시작으로 돌아가지 않습니다.
권한 확인
EC2 플릿을 생성하기 전에 필요한 권한을 가진 IAM 역할이 있는지 확인합니다. 자세한 내용은 EC2 Fleet 사전 조건 섹션을 참조하세요.
중단 가능한 용량 예약으로 인스턴스를 시작하려면 다음 단계를 수행해야 합니다.
1단계: 시작 템플릿 생성
Create-launch-template 명령을 사용하여, 대상으로 지정할 중단 가능한 용량 예약을 포함하는 시작 템플릿을 생성합니다. 시작 템플릿에서 MarketType을 interruptible-capacity-reservation으로 설정하고 중단 가능한 용량 예약의 CapacityReservationId를 지정합니다.
실행 템플릿 구성 예시:
{ "LaunchTemplateName": "interruptible-cr-launch-template", "LaunchTemplateData": { "InstanceType": "m5.large", "ImageId": "ami-0abcdef1234567890", "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-0123456789abcdef0" } }, "InstanceMarketOptions": { "MarketType": "interruptible-capacity-reservation" } } }
출력 예시
{
"LaunchTemplate": {
"LaunchTemplateId": "lt-0123456789example",
"LaunchTemplateName": "interruptible-cr-launch-template",
"CreateTime": "2026-03-12T10:00:00.000Z",
"CreatedBy": "arn:aws:iam::123456789012:user/Admin",
"DefaultVersionNumber": 1,
"LatestVersionNumber": 1
}
}
자세한 내용은 Amazon EC2 시작 템플릿 생성 섹션을 참조하세요.
2단계: EC2 플릿 구성
시작 템플릿과 목표 용량을 지정하는 EC2 플릿에 대한 구성 파일을 생성합니다. 다음 구성은 1단계에서 생성한 시작 템플릿 interruptible-cr-launch-template을 사용합니다.
reserved-capacity를 DefaultTargetCapacityType으로 사용할 때 ReservationType을 interruptible-capacity-reservation으로 설정하여 ReservedCapacityOptions를 지정해야 합니다.
다음 콘텐츠가 포함된 config.json이라는 파일을 생성합니다.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "interruptible-cr-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity":10, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationType": ["interruptible-capacity-reservation"] }, "Type": "instant" }
주요 구성 파라미터:
| 파라미터 | 설명 |
|---|---|
DefaultTargetCapacityType |
인스턴스를 예약 용량으로 시작해야 함을 나타내려면 reserved-capacity로 설정합니다. |
ReservedCapacityOptions |
예약 용량 유형을 지정합니다. 중단 가능한 용량 예약의 경우 ReservationType을 ["interruptible-capacity-reservation"]으로 설정합니다. |
Type |
instant로 설정해야 합니다. 중단 가능한 용량 예약에는 인스턴트 플릿만 지원됩니다. |
3단계: 플릿 시작 및 결과 보기
create-fleet 명령을 사용하여 플릿을 생성합니다.
aws ec2 create-fleet \ --cli-input-json file://config.json
이전 구성을 사용하여 instant 플릿을 생성한 후, EC2 플릿이 목표 용량을 충족하기 위해 중단 가능한 용량 예약으로 인스턴스 10개를 시작합니다.
참고
플릿이 전체 목표 용량을 충족할 수 없는 경우 응답에는 시작된 인스턴스와 채워지지 않은 용량에 대한 오류가 포함됩니다.
출력 예시
{
"FleetId": "fleet-12345678-1234-1234-1234-123456789012",
"Instances": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-0123456789example",
"Version": "1"
},
"Overrides": {
"InstanceType": "m5.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "interruptible-capacity-reservation",
"InstanceIds": [
"i-0123456789example1",
"i-0123456789example2",
"i-0123456789example3",
"i-0123456789example4",
"i-0123456789example5",
"i-0123456789example6",
"i-0123456789example7",
"i-0123456789example8",
"i-0123456789example9",
"i-0123456789example0"
],
"InstanceType": "m5.large",
"Platform": "Linux/UNIX"
}
],
"Errors": []
}
자세한 내용은 EC2 집합 생성 섹션을 참조하세요.
정리
요금이 발생하지 않도록 하려면 더 이상 필요하지 않은 인스턴스를 종료합니다. EC2는 용량 소유자가 용량을 회수할 때 중단 가능한 용량 예약으로 시작된 인스턴스도 자동으로 종료합니다.