EC2 집합 구성의 예 - Amazon Elastic Compute Cloud

EC2 집합 구성의 예

다음 예제에서는 create-fleet 명령에 사용하여 EC2 집합을 생성할 수 있는 시작 구성을 보여줍니다. create-fleet 파라미터에 대한 자세한 내용은 EC2 집합 JSON 구성 파일 참조 단원을 참고하십시오.

예 1: 스팟 인스턴스를 기본 구입 옵션으로 시작

다음 예제에서는 EC2 집합에 필요한 최소한의 파라미터, 즉 시작 템플릿, 목표 용량 및 기본 구매 옵션을 지정합니다. 시작 템플릿은 시작 템플릿 ID와 버전 번호로 식별됩니다. 플릿의 목표 용량은 인스턴스 2개이고 기본 구입 옵션은 spot이므로 플릿이 스팟 인스턴스 2개를 시작합니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

예 2: 온디맨드 인스턴스를 기본 구입 옵션으로 시작

다음 예제에서는 EC2 집합에 필요한 최소한의 파라미터, 즉 시작 템플릿, 목표 용량 및 기본 구매 옵션을 지정합니다. 시작 템플릿은 시작 템플릿 ID와 버전 번호로 식별됩니다. 플릿의 목표 용량은 인스턴스 2개이고 기본 구입 옵션은 on-demand이므로 플릿이 온디맨드 인스턴스 2개를 시작합니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }

예 3: 온디맨드 인스턴스를 기본 용량으로 시작

다음 예제에서는 총 목표 용량인 인스턴스 2개를 플릿에 지정하고 목표 용량은 온디맨드 인스턴스 1개로 지정합니다. 기본 구매 옵션은 spot입니다. 지정한 대로 플릿은 온디맨드 인스턴스 1개를 시작하지만 총 목표 용량을 충족하려면 인스턴스를 하나 더 시작해야 합니다. 차이에 대한 구매 옵션이 TotalTargetCapacityOnDemandTargetCapacity = DefaultTargetCapacityType으로 계산되므로 플릿에서 스팟 인스턴스 1개를 시작합니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "OnDemandTargetCapacity":1, "DefaultTargetCapacityType": "spot" } }

예 4: lowest-price 할당 전략을 사용하여 스팟 인스턴스 시작

스팟 인스턴스의 할당 전략이 지정되어 있지 않으면 기본 할당 전략인 lowest-price가 사용됩니다. 다음 예제에서는 lowest-price 할당 전략을 사용합니다. 시작 템플릿을 재정의하고 서로 인스턴스 유형은 다르지만 가중치 용량과 서브넷이 동일한 시작 사양 3개가 있습니다. 총 목표 용량은 인스턴스 2개이고 기본 구매 옵션은 spot입니다. EC2 집합는 최저 가격이 지정된 시작 사양의 인스턴스 유형을 사용하여 스팟 인스턴스 2개를 시작합니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c3.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

예 5: 용량 예약 및 prioritized 할당 전략을 사용하여 온디맨드 인스턴스 시작

용량 예약에 대한 사용 전략을 use-capacity-reservations-first로 설정하여 온디맨드 인스턴스를 시작할 때 온디맨드 용량 예약부터 사용하도록 플릿을 구성할 수 있습니다. 그리고 여러 인스턴스 풀에 미사용 용량 예약가 있는 경우, 선택한 온디맨드 할당 전략이 적용됩니다. 이 예의 온디맨드 할당 전략은 prioritized입니다.

이 예에서는 사용할 수 있는 미사용 용량 예약가 15개 있습니다. 이것은 이 플릿의 목표 온디맨드 용량인 온디맨드 인스턴스 12개보다 많습니다.

이 계정은 3개의 풀에 다음과 같은 미사용 용량 예약 15개를 가지고 있습니다. 각 풀의 용량 예약 수는 AvailableInstanceCount로 표시됩니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

다음 플릿 구성에서는 이 예제와 관련된 구성만 보여 줍니다. 온디맨드 할당 전략은 prioritized이고, 용량 예약의 사용 전략은 use-capacity-reservations-first입니다. 총 목표 용량은 12이고, 기본 목표 용량 유형은 on-demand입니다.

참고

플릿 유형은 instant여야 합니다. 다른 플릿 유형에는 용량 예약 가 지원되지 않습니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-1234567890abcdefg", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

이전 구성을 사용하여 instant 플릿을 생성하면 목표 용량을 충족하기 위해 다음 12개의 인스턴스가 시작됩니다.

  • us-east-1a의 c4.large 온디맨드 인스턴스 5개 – us-east-1a의 c4.large가 첫 번째 우선 순위이고 사용 가능한 미사용 c4.large 용량 예약는 5개입니다.

  • us-east-1a의 c3.large 온디맨드 인스턴스 5개 – us-east-1a의 c3.large가 두 번째 우선 순위이며 사용 가능한 미사용 c3.large 용량 예약 5개

  • us-east-1a의 c5.large 온디맨드 인스턴스 2개 – us-east-1a의 c5.large가 세 번째 우선 순위이고 사용 가능한 미사용 c5.large 용량 예약는 5개, 그중 2개만 있으면 목표 용량 충족 가능

플릿이 시작된 후, describe-capacity-reservations를 실행하여 미사용 용량 예약가 몇 개나 남아 있는지 확인할 수 있습니다. 이 예에서는 c4.large 및 c3.large 용량 예약가 모두 사용되었고 c5.large 용량 예약 3개는 미사용 상태로 남아 있음을 보여주는 다음과 같은 응답이 나타납니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 3 }

예 6: 총 목표 용량이 미사용 용량 예약 수보다 많은 경우 용량 예약 및 prioritized 할당 전략을 사용하여 온디맨드 인스턴스 시작

용량 예약에 대한 사용 전략을 use-capacity-reservations-first로 설정하여 온디맨드 인스턴스를 시작할 때 온디맨드 용량 예약부터 사용하도록 플릿을 구성할 수 있습니다. 미사용 용량 예약 수가 온디맨드 목표 용량보다 적으면 선택한 온디맨드 할당 전략에 따라 나머지 온디맨드 목표 용량이 시작됩니다. 이 예의 온디맨드 할당 전략은 prioritized입니다.

이 예에서는 사용할 수 있는 미사용 용량 예약가 15개 있습니다. 이는 플릿의 온디맨드 목표 용량인 온디맨드 인스턴스 16개보다 적습니다.

이 계정은 3개의 풀에 다음과 같은 미사용 용량 예약 15개를 가지고 있습니다. 각 풀의 용량 예약 수는 AvailableInstanceCount로 표시됩니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

다음 플릿 구성에서는 이 예제와 관련된 구성만 보여 줍니다. 온디맨드 할당 전략은 prioritized이고, 용량 예약의 사용 전략은 use-capacity-reservations-first입니다. 총 목표 용량은 16이고 기본 목표 용량 유형은 on-demand입니다.

참고

플릿 유형은 instant여야 합니다. 다른 플릿 유형에는 용량 예약 가 지원되지 않습니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

이전 구성을 사용하여 instant 플릿을 생성한 후, 목표 용량을 충족하기 위해 다음 16개의 인스턴스가 시작됩니다.

  • us-east-1a의 c4.large 온디맨드 인스턴스 6개 – us-east-1a의 c4.large가 첫 번째 우선 순위이고 사용 가능한 미사용 c4.large 용량 예약는 5개입니다. 먼저 용량 예약를 사용하여 온디맨드 인스턴스 5개를 시작하고, 온디맨드 할당 전략(이 예에서는 prioritized)에 따라 온디맨드 인스턴스를 추가로 시작합니다.

  • us-east-1a의 c3.large 온디맨드 인스턴스 5개 – us-east-1a의 c3.large가 두 번째 우선 순위이며 사용 가능한 미사용 c3.large 용량 예약 5개

  • us-east-1a의 c5.large 온디맨드 인스턴스 5개 – us-east-1a의 c5.large가 세 번째 우선 순위이며 사용 가능한 미사용 c5.large 용량 예약 5개

플릿이 시작된 후, describe-capacity-reservations를 실행하여 미사용 용량 예약가 몇 개나 남아 있는지 확인할 수 있습니다. 이 예에서는 모든 풀의 용량 예약가 모두 사용되었음을 보여 주는 다음 응답이 나타납니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 0 }

예 7: 용량 예약 및 lowest-price 할당 전략을 사용하여 온디맨드 인스턴스 시작

용량 예약에 대한 사용 전략을 use-capacity-reservations-first로 설정하여 온디맨드 인스턴스를 시작할 때 온디맨드 용량 예약부터 사용하도록 플릿을 구성할 수 있습니다. 그리고 여러 인스턴스 풀에 미사용 용량 예약가 있는 경우, 선택한 온디맨드 할당 전략이 적용됩니다. 이 예의 온디맨드 할당 전략은 lowest-price입니다.

이 예에서는 사용할 수 있는 미사용 용량 예약가 15개 있습니다. 이것은 이 플릿의 목표 온디맨드 용량인 온디맨드 인스턴스 12개보다 많습니다.

이 계정은 3개의 풀에 다음과 같은 미사용 용량 예약 15개를 가지고 있습니다. 각 풀의 용량 예약 수는 AvailableInstanceCount로 표시됩니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

다음 플릿 구성에서는 이 예제와 관련된 구성만 보여 줍니다. 온디맨드 할당 전략은 lowest-price이고, 용량 예약의 사용 전략은 use-capacity-reservations-first입니다. 총 목표 용량은 12이고, 기본 목표 용량 유형은 on-demand입니다.

이 예에서 온디맨드 인스턴스 가격은 다음과 같습니다.

  • m5.large – 시간당 0.096 USD

  • m4.xlarge – 시간당 0.20 USD

  • m4.2xlarge – 시간당 0.40 USD

참고

플릿 유형은 instant여야 합니다. 다른 플릿 유형에는 용량 예약 가 지원되지 않습니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

이전 구성을 사용하여 instant 플릿을 생성하면 목표 용량을 충족하기 위해 다음 12개의 인스턴스가 시작됩니다.

  • us-east-1a의 m5.large 온디맨드 인스턴스 5개 – us-east-1a의 m5.large가 최저 가격이고 사용 가능한 미사용 m5.large 용량 예약 5개.

  • us-east-1a의 m4.xlarge 온디맨드 인스턴스 5개 – us-east-1a의 m4.xlarge가 두 번째 최저 가격이며 사용 가능한 미사용 m4.xlarge 용량 예약 5개

  • us-east-1a의 m4.2xlarge 온디맨드 인스턴스 2개 – us-east-1a의 m4.2xlarge가 세 번째 최저 가격이고 사용 가능한 미사용 m4.2xlarge 용량 예약는 5개이며, 그중 2개만 있으면 목표 용량 충족 가능

플릿이 시작된 후, describe-capacity-reservations를 실행하여 미사용 용량 예약가 몇 개나 남아 있는지 확인할 수 있습니다. 이 예에서는 m5.large 및 m4.xlarge 용량 예약가 모두 사용되었고 m4.2xlarge 용량 예약 3개는 사용되지 않은 상태로 남아 있음을 보여주는 다음 응답이 나타납니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 3 }

예 8: 총 목표 용량이 미사용 용량 예약 수보다 많은 경우 용량 예약 및 lowest-price 할당 전략을 사용하여 온디맨드 인스턴스 시작

용량 예약에 대한 사용 전략을 use-capacity-reservations-first로 설정하여 온디맨드 인스턴스를 시작할 때 온디맨드 용량 예약부터 사용하도록 플릿을 구성할 수 있습니다. 미사용 용량 예약 수가 온디맨드 목표 용량보다 적으면 선택한 온디맨드 할당 전략에 따라 나머지 온디맨드 목표 용량이 시작됩니다. 이 예의 온디맨드 할당 전략은 lowest-price입니다.

이 예에서는 사용할 수 있는 미사용 용량 예약가 15개 있습니다. 이는 플릿의 온디맨드 목표 용량인 온디맨드 인스턴스 16개보다 적습니다.

이 계정은 3개의 풀에 다음과 같은 미사용 용량 예약 15개를 가지고 있습니다. 각 풀의 용량 예약 수는 AvailableInstanceCount로 표시됩니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

다음 플릿 구성에서는 이 예제와 관련된 구성만 보여 줍니다. 온디맨드 할당 전략은 lowest-price이고, 용량 예약의 사용 전략은 use-capacity-reservations-first입니다. 총 목표 용량은 16이고 기본 목표 용량 유형은 on-demand입니다.

이 예에서 온디맨드 인스턴스 가격은 다음과 같습니다.

  • m5.large – 시간당 0.096 USD

  • m4.xlarge – 시간당 0.20 USD

  • m4.2xlarge – 시간당 0.40 USD

참고

플릿 유형은 instant여야 합니다. 다른 플릿 유형에는 용량 예약 가 지원되지 않습니다.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

이전 구성을 사용하여 instant 플릿을 생성한 후, 목표 용량을 충족하기 위해 다음 16개의 인스턴스가 시작됩니다.

  • us-east-1a의 m5.large 온디맨드 인스턴스 6개 – us-east-1a의 m5.large가 최저 가격이고 사용 가능한 미사용 m5.large 용량 예약 5개. 먼저 용량 예약를 사용하여 온디맨드 인스턴스 5개를 시작하고, 온디맨드 할당 전략(이 예에서는 lowest-price)에 따라 온디맨드 인스턴스를 추가로 시작합니다.

  • us-east-1a의 m4.xlarge 온디맨드 인스턴스 5개 – us-east-1a의 m4.xlarge가 두 번째 최저 가격이며 사용 가능한 미사용 m4.xlarge 용량 예약 5개

  • us-east-1a의 m4.2xlarge 온디맨드 인스턴스 5개 – us-east-1a의 m4.2xlarge가 세 번째 최저 가격이며 사용 가능한 미사용 m4.2xlarge 용량 예약 5개

플릿이 시작된 후, describe-capacity-reservations를 실행하여 미사용 용량 예약가 몇 개나 남아 있는지 확인할 수 있습니다. 이 예에서는 모든 풀의 용량 예약가 모두 사용되었음을 보여 주는 다음 응답이 나타납니다.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 0 }