Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

스팟 집합 구성의 예

다음 예에서는 request-spot-fleet 명령과 함께 사용하여 스팟 집합 요청을 생성할 수 있는 시작 구성을 보여줍니다. 자세한 정보는 스팟 집합 요청 생성 단원을 참조하십시오.

예 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": "cc2.8xlarge", "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": "cc2.8xlarge", "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개의 인스턴스를 분산합니다. 자세한 정보는 스팟 인스턴스를 위한 할당 전략 단원을 참조하십시오.

가용 영역

{ "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" } ] }

예 6: 인스턴스 가중치를 사용하여 스팟 집합 시작

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

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

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

자세한 정보는 스팟 집합 인스턴스 가중치 부여 단원을 참조하십시오.

가용 영역

{ "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는 사용 가능한 Amazon EC2 용량이 있는 경우 5개의 용량 단위를 온디맨드로 시작하고 5개(10-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" } ] } ] }