자습서: 인스턴스 가중치를 부여한 스팟 플릿 사용 - Amazon Elastic Compute Cloud

자습서: 인스턴스 가중치를 부여한 스팟 플릿 사용

이 자습서에서는 Example Corp이라는 가상의 회사를 통해 인스턴스 가중치를 부여하여 스팟 플릿을 요청하는 프로세스를 설명합니다.

목표

제약 회사인 Example Corp은 암 퇴치 효과가 있는 화합물을 검출하는 데 Amazon EC2의 컴퓨팅 파워를 사용하려고 합니다.

계획

Example Corp은 먼저 스팟 모범 사례를 살펴봅니다. Example Corp은 스팟 플릿에 대한 다음 요구 사항을 결정한 후

인스턴스 유형

Example Corp은 최소 60GB 메모리와 8개의 가상 CPU(vCPU)로 최적의 성능을 자랑하는 컴퓨팅 및 메모리 집약적 애플리케이션을 사용하고 있습니다. 하지만 최저 가격으로 이러한 애플리케이션 리소스를 극대화하는 것이 목표입니다. 그 결과 다음 EC2 인스턴스 유형 중 하나가 이러한 요건에 적합할 것이라는 결정을 내립니다.

인스턴스 유형 메모리(GiB) vCPUs

r3.2xlarge

61

8

r3.4xlarge

122

16

r3.8xlarge

244

32

목표 용량 단위

인스턴스 가중치를 부여했을 때 목표 용량은 인스턴스 수(기본값) 또는 코어(vCPU), 메모리(GiB) 및 스토리지(GB)와 같은 요소의 조합과 동일할 수 있습니다. 그래서 Example Corp는 단위 1개당 애플리케이션의 기본 용량(RAM 60GB, vCPU 8개)을 고려하여 기본 용량의 20배면 요구에 부응할 것이라고 결정을 내립니다. 스팟 플릿 요청의 목표 용량을 20으로 설정합니다.

인스턴스 가중치

목표 용량이 결정되자 이제는 인스턴스 가중치를 계산합니다. 각 인스턴스 유형에 대한 인스턴스 가중치를 계산하기 위해, 다음과 같이 목표 용량에 이르기 위해 필요한 각 인스턴스 유형의 단위를 결정합니다.

  • r3.2xlarge(61.0GB, 8 vCPU) = 단위 20개 중 1개

  • r3.4xlarge(122.0GB, 16 vCPU) = 단위 20개 중 2개

  • r3.8xlarge(244.0GB, 32 vCPU) = 단위 20개 중 4개

따라서 Example Corp은 스팟 플릿 요청에서 1, 2 및 4의 인스턴스 가중치를 각 시작 구성에 할당합니다.

단위 시간당 가격

Example Corp은 인스턴스 시간당 온디맨드 가격을 시작 가격으로 사용합니다. 그 밖에 최근 스팟 가격을 사용하거나, 둘을 조합할 수도 있습니다. 단위 시간당 가격을 계산하려면 인스턴스 시간당 시작 가격을 가중치로 나눕니다. 예:

인스턴스 유형 온디맨드 가격 인스턴스 가중치 단위 시간당 가격

r3.2xLarge

0.7 USD

1

0.7 USD

r3.4xLarge

1.4 USD

2

0.7 USD

r3.8xLarge

2.8 USD

4

0.7 USD

Example Corp은 단위 시간당 글로벌 가격으로 0.7 USD를 사용하기 때문에 세 가지 인스턴스 유형 모두에서 경쟁력이 있습니다. 또한 r3.8xlarge 시작 사양에서 단위 시간당 글로벌 가격으로 0.7 USD를, 단위 시간당 특정 가격으로 0.9 USD를 사용할 수도 있습니다.

권한 확인

Example Corp은 스팟 플릿 요청을 생성하기 전에 필요한 권한을 가진 IAM 역할이 있는지 확인합니다. 자세한 내용은 스팟 플릿 권한 섹션을 참조하세요.

요청 생성

Example Corp은 스팟 플릿 요청에 대해 다음 구성으로 config.json 파일을 생성합니다.

{ "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-482e4972", "WeightedCapacity": 1 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.4xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 2 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.8xlarge", "SubnetId": "subnet-482e4972", "SpotPrice": "0.90", "WeightedCapacity": 4 } ] }

Example Corp은 request-spot-fleet 명령을 사용하여 스팟 플릿 요청을 생성합니다.

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

자세한 내용은 스팟 플릿 요청 유형 단원을 참조하십시오.

이행

할당 전략에서는 스팟 용량 풀이 어느 스팟 인스턴스 풀에서 온 것인지 확인합니다.

lowestPrice 전략(기본 전략)을 사용할 경우 스팟 인스턴스는 이행 시점에 단위당 최저 가격의 풀에서 옵니다. 20단위의 용량을 제공하기 위해 스팟 플릿은 r3.2xlarge 인스턴스 20개(20을 1로 나눈 값), r3.4xlarge 인스턴스 10개(20을 2로 나눈 값) 또는 r3.8xlarge 인스턴스 5개(20을 4로 나눈 값)를 시작합니다.

Example Corp에서 diversified 전략을 사용한 경우에는 스팟 인스턴스가 3개의 풀 전부에서 옵니다. 스팟 플릿은 총 20개의 단위에 대해 r3.2xlarge 인스턴스 6개(6개 단위 제공), r3.4xlarge 인스턴스 3개(6개 단위 제공), r3.8xlarge 인스턴스 2개(8개 단위 제공)를 시작합니다.