예제 CLI 구성 스팟 플릿 - Amazon Elastic Compute Cloud

예제 CLI 구성 스팟 플릿

다음과 같이 JSON 파일에서 스팟 플릿 구성을 정의하고, request-spot-fleet AWS CLI 명령으로 해당 파일을 참조하여 플릿을 생성할 수 있습니다.

aws ec2 request-spot-fleet --spot-fleet-request-config file://file_name.json

다음 예제는 다양한 스팟 플릿 사용 사례의 시작 구성을 보여줍니다. 구성 파라미터에 대한 자세한 내용은 AWS CLI 명령 참조의 request-spot-fleet을 참조하세요. 스팟 플릿 생성에 대한 자세한 내용은 스팟 플릿 생성의 내용을 참조하세요.

참고

스팟 플릿의 경우 시작 템플릿 또는 시작 사양에 네트워크 인터페이스 ID를 지정할 수 없습니다. 시작 템플릿 또는 시작 사양에서 NetworkInterfaceID 파라미터를 생략하세요.

예 1: 리전에서 최저 가격의 가용 영역 또는 서브넷을 사용하여 스팟 인스턴스 시작

다음 예는 가용 영역이나 서브넷이 없는 단일 시작 사양을 지정합니다. 스팟 플릿은 기본 서브넷을 보유한 최저 가격의 가용 영역에 있는 인스턴스를 시작합니다. 지불하는 가격이 온디맨드 가격을 초과하지 않습니다.

{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }

예 2: 지정된 목록에서 최저 가격의 가용 영역 또는 서브넷을 사용하여 스팟 인스턴스 시작

다음 예는 가용 영역이나 서브넷은 다르지만 인스턴스 유형과 AMI는 같은 두 개의 시작 사양을 지정합니다.

가용 영역

스팟 플릿은 지정한 최저 가격의 가용 영역에 있는 기본 서브넷에서 인스턴스를 시작합니다.

{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "Placement": { "AvailabilityZone": "us-west-2a, us-west-2b" }, "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }

서브넷

기본 서브넷이나 기본이 아닌 서브넷을 지정할 수 있으며, 기본이 아닌 서브넷은 기본 VPC 또는 기본이 아닌 VPC의 서브넷일 수 있습니다. 스팟 서비스는 최저 가격의 가용 영역에 있는 서브넷에서 인스턴스를 시작합니다.

스팟 플릿 요청에서 동일한 가용 영역의 서로 다른 서브넷을 지정할 수 없습니다.

{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "SubnetId": "subnet-a61dafcf, subnet-65ea5f08", "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }

인스턴스가 기본 VPC로 시작되는 경우, 인스턴스는 기본적으로 퍼블릭 IPv4 주소를 받습니다. 인스턴스가 기본이 아닌 VPC로 시작되는 경우, 인스턴스는 기본적으로 퍼블릭 IPv4 주소를 받지 않습니다. 시작 사양에서 네트워크 인터페이스를 사용하여 기본이 아닌 VPC에서 시작되는 인스턴스에 퍼블릭 IPv4 주소를 할당하세요. 네트워크 인터페이스를 지정할 때는 네트워크 인터페이스를 사용해 서브넷 ID 및 보안 그룹 ID를 반드시 포함시켜야 합니다.

... { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "InstanceType": "m3.medium", "NetworkInterfaces": [ { "DeviceIndex": 0, "SubnetId": "subnet-1a2b3c4d", "Groups": [ "sg-1a2b3c4d" ], "AssociatePublicIpAddress": true } ], "IamInstanceProfile": { "Arn": "arn:aws:iam::880185128111:instance-profile/my-iam-role" } } ...

예 3: 지정된 목록에서 최저 가격의 인스턴스 유형을 사용하여 스팟 인스턴스 시작

다음 예는 인스턴스 유형은 다르지만 AMI와 가용 영역 또는 서브넷은 같은 두 개의 시작 구성을 지정합니다. 스팟 플릿은 최저 가격으로 지정된 인스턴스 유형을 사용하여 인스턴스를 시작합니다.

가용 영역

{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "c5.4xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "r3.8xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }

서브넷

{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "c5.4xlarge", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "r3.8xlarge", "SubnetId": "subnet-1a2b3c4d" } ] }

예 4. 요청에 대한 가격 재정의

기본 최고 가격인 온디맨드 가격을 사용하는 것이 좋습니다. 원할 경우 플릿 요청에 대한 최고 가격과 개별 시작 사양에 대한 최고 가격을 지정할 수 있습니다.

다음 예제에서는 플릿 요청에 대한 최고 가격과 세 가지 시작 사양 중 두 개에 대한 최고 가격을 지정합니다. 플릿 요청 대한 최고 가격은 최고 가격을 지정하지 않은 모든 시작 사양에 사용됩니다. 스팟 플릿은 최저 가격으로 인스턴스 유형을 사용하여 인스턴스를 시작합니다.

가용 영역

{ "SpotPrice": "1.00", "TargetCapacity": 30, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "SpotPrice": "0.10" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.4xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "SpotPrice": "0.20" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.8xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }

서브넷

{ "SpotPrice": "1.00", "TargetCapacity": 30, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.2xlarge", "SubnetId": "subnet-1a2b3c4d", "SpotPrice": "0.10" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.4xlarge", "SubnetId": "subnet-1a2b3c4d", "SpotPrice": "0.20" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.8xlarge", "SubnetId": "subnet-1a2b3c4d" } ] }

예제 5: 다각화된 할당 전략을 사용하여 스팟 플릿 시작

다음 예제에서는 diversified 할당 전략을 사용합니다. 시작 사양의 인스턴스 유형은 다르지만 AMI와 가용 영역 또는 서브넷은 같습니다. 스팟 플릿은 3개의 시작 사양에 걸쳐 각 유형의 인스턴스가 10개씩 있도록 30개의 인스턴스를 분산합니다. 자세한 내용은 할당 전략을 사용하여 EC2 플릿 또는 스팟 플릿이 스팟 및 온디맨드 용량을 충족하는 방법 결정 단원을 참조하십시오.

가용 영역

{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "diversified", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }

서브넷

{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "diversified", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-1a2b3c4d" } ] }

특정 가용 영역 중단 시 EC2 용량이 스팟 요청을 수행할 확률을 늘리는 가장 좋은 방법은, 영역 간에 분산하는 것입니다. 이 시나리오에서는 사용할 수 있는 각 가용 영역을 시작 사양에 포함합니다. 그리고 매번 같은 서브넷을 사용하는 대신 (각각 다른 영역에 매핑되는) 3개의 고유 서브넷을 사용합니다.

가용 영역

{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "diversified", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2c" } } ] }

서브넷

{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "diversified", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge", "SubnetId": "subnet-2a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-3a2b3c4d" } ] }

예제 6: 인스턴스 가중치를 사용하여 스팟 플릿 시작

다음 예제에서는 인스턴스 가중치를 사용하는데, 이는 곧 가격이 인스턴스 시간당이 아니라 단위 시간당 가격이라는 의미입니다. 각 시작 구성마다 다른 인스턴스 유형과 다른 가중치가 나열됩니다. 스팟 플릿은 단위 시간당 최저 가격의 인스턴스 유형을 선택합니다. 스팟 플릿은 목표 용량을 인스턴스 가중치로 나누어 시작할 스팟 인스턴스의 수를 계산합니다. 결과가 정수가 아닌 경우 스팟 플릿은 결과를 다음 정수로 반올림하므로 플릿 크기가 목표 용량을 밑돌지는 않습니다.

r3.2xlarge 요청이 성공하면 스팟이 이들 인스턴스 중 4개를 프로비저닝합니다. 20을 6으로 나누면 총 3.33개의 인스턴스가 되는데, 이를 올림 처리하여 4개의 인스턴스가 됩니다.

c3.xlarge 요청이 성공하면 스팟이 이들 인스턴스 7개를 프로비저닝합니다. 20을 3으로 나누면 총 6.66개의 인스턴스가 되는데, 이를 올림 처리하여 7개의 인스턴스가 됩니다.

자세한 내용은 인스턴스 가중치를 사용하여 EC2 플릿 또는 스팟 플릿의 비용 및 성능 관리 단원을 참조하십시오.

가용 영역

{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "WeightedCapacity": 6 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "WeightedCapacity": 3 } ] }

서브넷

{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-1a2b3c4d", "WeightedCapacity": 6 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.xlarge", "SubnetId": "subnet-1a2b3c4d", "WeightedCapacity": 3 } ] }

예제 7: 온디맨드 용량으로 스팟 플릿 시작

항상 인스턴스 용량을 사용할 수 있도록 스팟 플릿 요청에 온디맨드 용량에 대한 요청을 포함할 수 있습니다. 용량이 있는 경우 온디맨드 요청이 항상 이행됩니다. 용량이 있고 가용 상태일 경우 목표 용량의 잔고는 스팟으로 이행됩니다.

다음 예에서는 원하는 목표 용량을 10으로 지정합니다. 이 중 5는 온디맨드 용량이어야 합니다. 스팟 용량은 지정되지 않습니다. 스팟 용량은 목표 용량에서 온디맨드 용량을 뺀 잔액으로 암시됩니다. Amazon EC2는 온디맨드로 5개의 용량 단위를 시작하고 사용 가능한 Amazon EC2 용량(10-5=5) 및 가용성이 있는 경우 5개의 용량 단위를 스팟으로 시작합니다.

{ "IamFleetRole": "arn:aws:iam::781603563322:role/aws-ec2-spot-fleet-tagging-role", "AllocationStrategy": "lowestPrice", "TargetCapacity": 10, "SpotPrice": null, "ValidFrom": "2018-04-04T15:58:13Z", "ValidUntil": "2019-04-04T15:58:13Z", "TerminateInstancesWithExpiration": true, "LaunchSpecifications": [], "Type": "maintain", "OnDemandTargetCapacity": 5, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0dbb04d4a6cca5ad1", "Version": "2" }, "Overrides": [ { "InstanceType": "t2.medium", "WeightedCapacity": 1, "SubnetId": "subnet-d0dc51fb" } ] } ] }

예제 8: 대체 스팟 인스턴스를 시작하도록 용량 리밸런싱 구성

다음 예제에서는 Amazon EC2에서 플릿의 스팟 인스턴스에 대한 리밸런싱 권고가 생성될 때 대체 스팟 인스턴스를 시작하도록 스팟 플릿을 구성합니다. 스팟 인스턴스의 자동 대체를 구성하려면 ReplacementStrategylaunch-before-terminate를 지정합니다. 새 대체 스팟 인스턴스가 시작되는 시점부터 이전 스팟 인스턴스가 자동으로 삭제될 때까지의 시간 지연을 구성하려면 termination-delay에 대해 초 단위로 값을 지정합니다. 자세한 내용은 구성 옵션 단원을 참조하십시오.

참고

인스턴스 종료 절차가 완료되는 데 걸리는 시간을 예측할 수 있는 경우에만 launch-before-terminate를 사용하는 것이 좋습니다. 이렇게 하면 종료 절차가 완료된 후에만 이전 인스턴스가 종료됩니다. 두 인스턴스가 실행되는 동안에는 두 인스턴스에 대해 요금이 청구됩니다.

용량 리밸런싱 전략의 효과는 스팟 플릿 요청에 지정된 스팟 용량 풀 수에 따라 달라집니다. 다양한 인스턴스 유형 및 가용 영역 세트로 플릿을 구성하고 AllocationStrategy에 대해 capacityOptimized를 지정하는 것이 좋습니다. 용량 리밸런싱에 대해 스팟 플릿을 구성할 때 고려해야 할 사항에 대한 자세한 내용은 EC2 플릿 및 스팟 플릿의 용량 리밸런싱을 사용하여 위험이 있는 스팟 인스턴스 교체 섹션을 참조하세요.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "c3.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c4.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } } ] } ], "TargetCapacity": 5, "SpotMaintenanceStrategies": { "CapacityRebalance": { "ReplacementStrategy": "launch-before-terminate", "TerminationDelay": "720" } } } }

예제 9: 용량 최적화 플릿에서 스팟 인스턴스 시작

다음 예제에서는 용량을 최적화하는 스팟 할당 전략을 사용하여 스팟 플릿을 구성하는 방법을 보여줍니다. 용량을 최적화하려면 AllocationStrategycapacityOptimized로 설정해야 합니다.

다음 예제에서는 3개의 시작 사양으로 3개의 스팟 용량 풀을 지정합니다. 목표 용량은 스팟 인스턴스 50개입니다. 스팟 플릿은 시작하는 인스턴스의 수에 대한 최적의 용량을 가진 스팟 용량 풀로 스팟 인스턴스 50개를 시작하려고 시도합니다.

{ "TargetCapacity": "50", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "AvailabilityZone": "us-west-2b" } ] } ] }

예제 10: 용량 최적화 플릿에서 우선 순위를 사용하여 스팟 인스턴스 시작

다음 예제에서는 최선의 노력을 기준으로 우선 순위를 사용하는 동안 용량을 최적화하는 스팟 할당 전략을 사용하여 스팟 플릿을 구성하는 방법을 보여줍니다.

capacityOptimizedPrioritized 할당 전략을 사용할 때 Priority 파라미터를 사용하여 스팟 인스턴스 풀의 우선순위를 지정할 수 있습니다. 여기서 숫자가 낮을수록 우선순위는 높습니다. 여러 스팟 용량 풀에 선호도가 동일한 경우 동일한 우선 순위를 설정해도 됩니다. 우선 순위가 설정되지 않은 풀은 우선 순위 측면에서 마지막으로 고려됩니다.

스팟 용량 풀의 우선순위를 지정하려면 AllocationStrategycapacityOptimizedPrioritized로 설정해야 합니다. 스팟 플릿은 용량을 우선으로 최적화하지만 최선의 노력을 기준으로 우선 순위를 따릅니다. 예를 들어 스팟 플릿에서 최적 용량으로 프로비저닝하는 데 우선 순위가 큰 영향을 미치지 않을 수 있습니다. 이 옵션은 중단 가능성을 최소화해야 하고 특정 인스턴스 유형에 대한 선호도가 중요한 워크로드에 적합합니다.

다음 예제에서는 3개의 시작 사양으로 3개의 스팟 용량 풀을 지정합니다. 각 풀의 우선 순위가 지정되며, 여기서 숫자가 낮을수록 우선 순위가 높습니다. 목표 용량은 스팟 인스턴스 50개입니다. 스팟 플릿은 가장 높은 우선 순위의 스팟 용량 풀로 50개의 스팟 인스턴스를 시작하려고 시도하지만 먼저 용량을 최적화합니다.

{ "TargetCapacity": "50", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimizedPrioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Priority": 1, "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "Priority": 2, "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "Priority": 3, "AvailabilityZone": "us-west-2b" } ] } ] }

예제 11: priceCapacityOptimized 플릿에서 스팟 인스턴스 시작

다음 예제에서는 용량과 가격을 모두 최적화하는 스팟 할당 전략을 사용하여 스팟 플릿을 구성하는 방법을 보여줍니다. 가격을 고려하면서 용량을 최적화하려면 스팟 AllocationStrategypriceCapacityOptimized로 설정해야 합니다.

다음 예제에서는 3개의 시작 사양으로 3개의 스팟 용량 풀을 지정합니다. 목표 용량은 스팟 인스턴스 50개입니다. 스팟 플릿은 시작하는 인스턴스의 수에 대한 최적의 용량을 가진 스팟 용량 풀로 스팟 인스턴스 50개를 시작하는 동시에 가격이 가장 낮은 풀을 선택하려고 시도합니다.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111111111111:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0123456789example", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "AvailabilityZone": "us-west-2b" } ] } ], "TargetCapacity": 50, "Type": "request" } }

예제 12: 속성 기반 인스턴스 유형 선택 구성

다음 예에서는 인스턴스 유형을 식별하는 데 속성 기반 인스턴스 유형 선택 방식을 사용하도록 스팟 플릿을 구성하는 방법을 보여줍니다. 필요한 인스턴스 속성을 지정하려면 InstanceRequirements 구조에서 해당 속성을 지정합니다.

다음 예제에서는 2개의 인스턴스 속성이 지정됩니다.

  • VCpuCount - vCPU가 최소 2개로 지정되었습니다. 최대값이 지정되지 않았으므로 최대 한도는 없습니다.

  • MemoryMiB - 메모리가 최소 4MiB로 지정되었습니다. 최대값이 지정되지 않았으므로 최대 한도는 없습니다.

vCPU가 2개 이상이고 메모리가 4MiB 이상인 모든 인스턴스 유형이 식별됩니다. 단, 스팟 플릿에서 플릿을 제공하는 경우 가격 보호 및 할당 전략에서 일부 인스턴스 유형이 제외될 수 있습니다.

지정 가능한 모든 속성의 목록과 설명은 Amazon EC2 API 참조에서 InstanceRequirements를 참조하세요.

{ "AllocationStrategy": "priceCapacityOptimized", "TargetCapacity": 20, "Type": "request", "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }] }