자습서: Capacity Blocks에 인스턴스를 시작하도록 EC2 Fleet 구성하기

자습서: Capacity Blocks에 인스턴스를 시작하도록 EC2 Fleet 구성하기

이 자습서는 EC2 Fleet이 Capacity Blocks에 인스턴스를 시작하도록 수행해야 하는 단계를 안내합니다.

대부분의 경우 EC2 Fleet 요청의 목표 용량은 대상으로 하는 Capacity Block 예약의 사용 가능한 용량보다 작거나 같아야 합니다. Capacity Block 예약의 한도를 초과하는 목표 용량 요청은 이행되지 않습니다. 목표 용량 요청이 Capacity Block 예약의 한도를 초과하면 Capacity Block 예약의 한도를 초과하는 용량에 대해 Insufficient Capacity Exception을 받게 됩니다.

Note
Capacity Blocks의 경우 EC2 Fleet은 원하는 목표 용량의 나머지 부분에 대해 On-Demand Instances를 시작하는 대체(fallback)를 수행하지 않아요.

EC2 Fleet이 사용 가능한 Capacity Block 예약에서 요청된 목표 용량을 이행할 수 없으면 EC2 Fleet은 최대한 많은 용량을 이행하고 시작할 수 있었던 인스턴스를 반환합니다. 모든 인스턴스가 프로비저닝될 때까지 EC2 Fleet에 대한 호출을 반복할 수 있습니다.

EC2 Fleet 요청을 구성한 후 Capacity Block 예약의 시작 날짜까지 기다려야 합니다. 아직 시작되지 않은 Capacity Block에 시작하도록 EC2 Fleet에 요청하면 Insufficient Capacity Error를 받게 됩니다.

Capacity Block 예약이 활성화된 후에는 선택한 매개변수에 따라 EC2 Fleet API 호출을 하고 인스턴스를 Capacity Block에 프로비저닝할 수 있습니다. Capacity Block에서 실행되는 인스턴스는 수동으로 중지하거나 종료할 때까지, 또는 Capacity Block 예약이 끝날 때 Amazon EC2가 인스턴스를 종료할 때까지 계속 실행됩니다.

Capacity Blocks에 대한 자세한 내용은 Capacity Blocks for ML을 참고하세요.

고려 사항 (Considerations)

  • Capacity Blocks에 인스턴스를 시작하는 데는 instant 유형의 EC2 Fleet 요청만 지원됩니다. 자세한 내용은 Configure an EC2 Fleet of type instant를 참고하세요.
  • 같은 EC2 Fleet 요청의 여러 Capacity Blocks는 지원되지 않습니다.
  • DefaultTargetCapacity를 capacity-block으로 설정하면서 OnDemandTargetCapacity 또는 SpotTargetCapacity를 사용하는 것은 지원되지 않습니다.
  • DefaultTargetCapacityType이 capacity-block으로 설정된 경우 OnDemandOptions::CapacityReservationOptions를 제공할 수 없습니다. 예외가 발생합니다.

출처: 문서

본문

이 자습서는 EC2 Fleet이 Capacity Blocks에 인스턴스를 시작하도록 수행해야 하는 단계를 안내합니다.

대부분의 경우 EC2 Fleet 요청의 목표 용량은 대상으로 하는 Capacity Block 예약의 사용 가능한 용량보다 작거나 같아야 합니다. Capacity Block 예약의 한도를 초과하는 목표 용량 요청은 이행되지 않습니다. 목표 용량 요청이 Capacity Block 예약의 한도를 초과하면 Capacity Block 예약의 한도를 초과하는 용량에 대해 Insufficient Capacity Exception을 받게 됩니다.

Capacity Blocks에 인스턴스를 시작하도록 EC2 Fleet을 구성하려면

EC2 Fleet을 구성하려면

  1. 시작 템플릿을 만듭니다. 시작 템플릿 이름과 버전을 기록해 두세요. 다음 단계에서 이 정보를 사용합니다. 시작 템플릿 만들기에 대한 자세한 내용은 Create an Amazon EC2 launch template을 참고하세요.
  2. EC2 Fleet을 구성합니다. EC2 Fleet에 대해 다음 구성으로 config.json 파일을 만듭니다. 다음 예시에서 리소스 식별자를 자체 리소스 식별자로 바꿉니다. EC2 Fleet 구성에 대한 자세한 내용은 Create an EC2 Fleet을 참고하세요.
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "CBR-launch-template", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "p5.48xlarge", 
                    "AvailabilityZone": "us-east-1a"   
                },
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10, 
        "DefaultTargetCapacityType": "capacity-block"
    },
    "Type": "instant"
}

구성의 세부 사항은 다음과 같습니다.

  • InstanceMarketOptionsRequest에 대해 MarketType을 capacity-block으로 설정합니다.
  • Capacity Block 예약을 대상으로 지정하려면 CapacityReservationID에 Capacity Block 예약 ID를 지정합니다.
  1. Fleet을 시작합니다. 다음 create-fleet 명령을 사용합니다. 자세한 내용은 Create an EC2 Fleet을 참고하세요.
aws ec2 create-fleet --cli-input-json file://config.json

더 알아보기 (Learn more)