

# 튜토리얼: 인스턴스 가중치를 사용하도록 EC2 플릿 구성
<a name="ec2-fleet-instance-weighting-walkthrough"></a>

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

## 목표
<a name="ec2-fleet-instance-weighting-walkthrough-objective"></a>

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

## 계획
<a name="ec2-fleet-instance-weighting-walkthrough-planning"></a>

Example Corp은 먼저 [스팟 모범 사례](https://aws.amazon.com/ec2/spot/getting-started/#bestpractices)를 살펴봅니다. 그런 다음 Example Corp이 EC2 집합에 대해 다음과 같은 요구 사항을 결정합니다.

**인스턴스 유형**  
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배가 요구에 적합하겠다고 결정하고 그래서 EC2 플릿 요청의 대상 용량을 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은 EC2 집합 요청 시 1, 2 및 4의 인스턴스 가중치를 각 시작 구성에 할당합니다.

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


| 인스턴스 유형 | 온디맨드 가격 | 인스턴스 가중치 | 단위 시간당 가격 | 
| --- | --- | --- | --- | 
| 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를 사용할 수도 있습니다.

## 권한 확인
<a name="ec2-fleet-instance-weighting-walkthrough-permissions"></a>

Example Corp은 EC2 집합을 생성하기 전에 필요한 권한을 가진 IAM 역할이 있는지 확인합니다. 자세한 내용은 [EC2 Fleet 사전 조건](ec2-fleet-prerequisites.md) 섹션을 참조하세요.

## 시작 템플릿 생성
<a name="ec2-fleet-instance-weighting-create-launch-template"></a>

그런 다음 Example Corp에서 시작 템플릿을 생성합니다. 시작 템플릿 ID는 다음 단계에서 사용됩니다. 자세한 내용은 [Amazon EC2 시작 템플릿 생성](create-launch-template.md) 섹션을 참조하세요.

## EC2 집합 생성
<a name="ec2-fleet-instance-weighting-walkthrough-request"></a>

Example Corp은 EC2 집합에 대해 다음 구성으로 `config.json` 파일을 생성합니다. 다음 예제에서는 리소스 식별자를 사용자 고유의 리소스 식별자로 바꿉니다.

```
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "r3.2xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 1
                },
                {
                    "InstanceType": "r3.4xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 2
                },
                {
                    "InstanceType": "r3.8xlarge", 
                    "MaxPrice": "0.90", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 4
                }
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20, 
        "DefaultTargetCapacityType": "spot"
    }
}
```

Example Corp은 다음 [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) 명령을 사용하여 EC2 집합을 생성합니다.

```
aws ec2 create-fleet --cli-input-json file://config.json
```

자세한 내용은 [EC2 집합 생성](create-ec2-fleet.md) 섹션을 참조하세요.

## 이행
<a name="ec2-fleet-instance-weighting-walkthrough-fulfillment"></a>

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

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

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