

# Amazon EC2 인스턴스 유형 찾기
<a name="instance-discovery"></a>

인스턴스를 시작하려면 먼저 사용할 인스턴스 유형을 선택해야 합니다. 선택한 인스턴스 유형은 컴퓨팅, 메모리 또는 스토리지 리소스 등 워크로드에 필요한 리소스에 따라 다를 수 있습니다. 워크로드에 적합한 여러 인스턴스 유형을 식별하고 테스트 환경에서 성능을 평가하는 것이 유리할 수 있습니다. 로드 상태에서 애플리케이션의 성능 측정을 대신할 수 없습니다.

EC2 인스턴스 유형 찾기를 사용하여 EC2 인스턴스 유형에 대한 제안과 지침을 얻을 수 있습니다. 자세한 내용은 [EC2 인스턴스 유형 파인더에서 권장 사항 받기](get-ec2-instance-type-recommendations.md) 섹션을 참조하세요.

이미 EC2 인스턴스를 실행 중인 경우 AWS Compute Optimizer를 사용하여 성능 향상, 비용 절감 또는 두 가지 모두를 위해 사용해야 하는 인스턴스 유형에 대한 권장 사항을 확인할 수 있습니다. 자세한 내용은 [Compute Optimizer에서 EC2 인스턴스 권장 사항 받기](ec2-instance-recommendations.md) 섹션을 참조하세요.

**Topics**
+ [콘솔을 사용하여 인스턴스 유형 찾기](#instance-discovery-console)
+ [AWS CLI를 사용하여 인스턴스 유형 설명](#describe-instance-type-example)
+ [AWS CLI를 사용하여 인스턴스 유형 찾기](#instance-discovery-cli)
+ [Tools for PowerShell을 사용하여 인스턴스 유형 찾기](#instance-discovery-ps)

## 콘솔을 사용하여 인스턴스 유형 찾기
<a name="instance-discovery-console"></a>

Amazon EC2 콘솔을 사용하여 필요에 맞는 인스턴스 유형을 찾을 수 있습니다.

**콘솔을 사용하여 인스턴스 유형을 찾으려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.

1. 탐색 창에서 **인스턴스 유형**을 선택합니다.

1. (선택 사항) 기본 설정(기어 모양) 아이콘을 선택하여 표시할 인스턴스 유형 속성(예: **온디맨드 Linux 요금**)을 선택한 다음 **확인**을 선택합니다. 또는 인스턴스 유형의 이름을 선택하여 세부 정보 페이지를 열고 콘솔을 통해 사용 가능한 모든 속성을 볼 수 있습니다. 콘솔에 API 또는 명령줄을 통해 사용할 수 있는 모든 속성이 표시되지는 않습니다.

1. 인스턴스 유형 속성을 사용하여 표시된 인스턴스 유형 목록을 필요에 맞는 인스턴스 유형으로만 필터링합니다. 예를 들어, 다음 속성을 기준으로 필터링할 수 있습니다.
   + **가용 영역(Availability zones)**: 가용 영역, 로컬 영역 또는 Wavelength 영역의 이름입니다. 자세한 내용은 [리전 및 영역](using-regions-availability-zones.md) 섹션을 참조하세요.
   + **vCPU(vCPUs)** 또는 **코어(Cores)**: vCPU 또는 코어의 개수입니다.
   + **메모리(Memory, GiB)**: 메모리 크기(GiB)입니다.
   + **네트워크 성능(Network performance)**: 네트워크 성능(Gigabits)입니다.
   + **로컬 인스턴스 스토리지(Local instance storage)**: 인스턴스 유형에 로컬 인스턴스 스토리지가 있는지 여부를 나타냅니다(`true` \$1 `false`).

1. (선택 사항) 항목별로 비교해 보려면 여러 인스턴스 유형에 대한 확인란을 선택합니다. 비교 항목이 화면 아래쪽에 표시됩니다.

1. (선택 사항) 추가 검토를 위해 인스턴스 유형 목록을 쉼표로 구분된 값(.csv) 파일에 저장하려면 **작업(Actions)**에서 **목록 CSV 다운로드(Download list CSV)**를 선택합니다. 이 파일에는 사용자가 설정한 필터와 일치하는 모든 인스턴스 유형이 포함됩니다.

1. (선택 사항) 필요에 맞는 인스턴스 유형을 사용하여 인스턴스를 시작하려면 인스턴스 유형의 확인란을 선택하고 **작업(Actions)**에서 **인스턴스 시작(Launch instance)**을 선택합니다. 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

## AWS CLI를 사용하여 인스턴스 유형 설명
<a name="describe-instance-type-example"></a>

특정 인스턴스 유형을 설명하기 위해 [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 명령을 사용할 수 있습니다.

**인스턴스 유형을 자세히 설명**  
다음 명령은 지정된 인스턴스 유형의 모든 세부 정보를 표시합니다. 출력이 길기 때문에 여기서는 생략합니다.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2
```

**인스턴스 유형 설명 및 출력 필터링**  
다음 명령은 지정된 인스턴스 유형의 네트워킹 세부 정보를 표시합니다.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2 \
    --query "InstanceTypes[].NetworkInfo"
```

출력의 예시는 다음과 같습니다.

```
[
    {
        "NetworkPerformance": "Low to Moderate",
        "MaximumNetworkInterfaces": 2,
        "MaximumNetworkCards": 1,
        "DefaultNetworkCardIndex": 0,
        "NetworkCards": [
            {
                "NetworkCardIndex": 0,
                "NetworkPerformance": "Low to Moderate",
                "MaximumNetworkInterfaces": 2,
                "BaselineBandwidthInGbps": 0.064,
                "PeakBandwidthInGbps": 1.024
            }
        ],
        "Ipv4AddressesPerInterface": 2,
        "Ipv6AddressesPerInterface": 2,
        "Ipv6Supported": true,
        "EnaSupport": "unsupported",
        "EfaSupported": false,
        "EncryptionInTransitSupported": false,
        "EnaSrdSupported": false
    }
]
```

다음 명령은 지정된 인스턴스 유형의 사용 가능한 메모리를 표시합니다.

```
aws ec2 describe-instance-types \
    --instance-types t2.micro \
    --region us-east-2 \
    --query "InstanceTypes[].MemoryInfo"
```

출력의 예시는 다음과 같습니다.

```
[
    {
        "SizeInMiB": 1024
    }
]
```

## AWS CLI를 사용하여 인스턴스 유형 찾기
<a name="instance-discovery-cli"></a>

[describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 및 [describe-instance-type-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-type-offerings.html) 명령을 사용하여 필요에 맞는 인스턴스 유형을 찾을 수 있습니다.

**Topics**
+ [가용 영역으로 인스턴스 유형 찾기](#find-instance-type-example-1)
+ [가용 메모리 크기로 인스턴스 유형 찾기](#find-instance-type-example-2)
+ [가용 인스턴스 스토리지로 인스턴스 유형 찾기](#find-instance-type-example-3)
+ [최대 절전 모드를 지원하는 인스턴스 유형 찾기](#find-instance-type-example-4)

### 예제 1: 가용 영역으로 인스턴스 유형 찾기
<a name="find-instance-type-example-1"></a>

다음 예시는 지정된 가용 영역에서 제공되는 인스턴스 유형을 보여줍니다.

```
aws ec2 describe-instance-type-offerings \
    --location-type "availability-zone" \
    --filters "Name=location,Values=us-east-2a" \
    --region us-east-2 \
    --query "InstanceTypeOfferings[*].[InstanceType]" --output text | sort
```

출력은 알파벳순으로 정렬된 인스턴스 유형 목록입니다. 다음은 출력의 시작 부분만 보여줍니다.

```
a1.2xlarge
a1.4xlarge
a1.large
a1.medium
a1.metal
a1.xlarge
c4.2xlarge
   ...
```

### 예제 2: 가용 메모리 크기로 인스턴스 유형 찾기
<a name="find-instance-type-example-2"></a>

다음 예제는 다음 명령을 사용하여 64GiB(65536MiB)의 메모리가 있는 현재 세대 인스턴스 유형만 보여줍니다.

```
aws ec2 describe-instance-types \
    --filters "Name=current-generation,Values=true" "Name=memory-info.size-in-mib,Values=65536" \
    --region us-east-2 \
    --query "InstanceTypes[*].[InstanceType]" --output text | sort
```

출력은 알파벳순으로 정렬된 인스턴스 유형 목록입니다. 다음은 출력의 시작 부분만 보여줍니다.

```
c5a.8xlarge
c5ad.8xlarge
c6a.8xlarge
c6g.8xlarge
c6gd.8xlarge
c6gn.8xlarge
c6i.8xlarge
c6id.8xlarge
c6in.8xlarge
   ...
```

### 예제 3: 가용 인스턴스 스토리지로 인스턴스 유형 찾기
<a name="find-instance-type-example-3"></a>

다음 예제에서는 인스턴스 스토어 볼륨이 있는 모든 R7 인스턴스에 대한 인스턴스 스토리지의 총 크기를 보여줍니다.

```
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=r7*" "Name=instance-storage-supported,Values=true" \
    --region us-east-2 \
    --query "InstanceTypes[].[InstanceType, InstanceStorageInfo.TotalSizeInGB]" \
    --output table
```

출력의 예시는 다음과 같습니다.

```
---------------------------
|  DescribeInstanceTypes  |
+----------------+--------+
|  r7gd.xlarge   |  237   |
|  r7gd.8xlarge  |  1900  |
|  r7gd.16xlarge |  3800  |
|  r7gd.medium   |  59    |
|  r7gd.4xlarge  |  950   |
|  r7gd.2xlarge  |  474   |
|  r7gd.metal    |  3800  |
|  r7gd.large    |  118   |
|  r7gd.12xlarge |  2850  |
+----------------+--------+
```

### 예제 4: 최대 절전 모드를 지원하는 인스턴스 유형 찾기
<a name="find-instance-type-example-4"></a>

다음 예제에서는 최대 절전 모드를 지원하는 인스턴스 유형을 보여줍니다.

```
aws ec2 describe-instance-types \
    --filters "Name=hibernation-supported,Values=true" \
    --region us-east-2 \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

출력은 알파벳순으로 정렬된 인스턴스 유형 목록입니다. 다음은 출력의 시작 부분만 보여줍니다.

```
c4.2xlarge
c4.4xlarge
c4.8xlarge
c4.large
c4.xlarge
c5.12xlarge
c5.18xlarge
c5.2xlarge
c5.4xlarge
c5.9xlarge
...
```

## Tools for PowerShell을 사용하여 인스턴스 유형 찾기
<a name="instance-discovery-ps"></a>

[Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) 및 [Get-EC2InstanceTypeOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTypeOffering.html) cmdlet을 사용하여 필요에 맞는 인스턴스 유형을 찾을 수 있습니다.

**Topics**
+ [가용 영역으로 인스턴스 유형 찾기](#find-instance-type-by-az-ps)
+ [가용 메모리 크기로 인스턴스 유형 찾기](#find-instance-type-by-memory-ps)
+ [가용 인스턴스 스토리지로 인스턴스 유형 찾기](#find-instance-type-by-storage-ps)
+ [최대 절전 모드를 지원하는 인스턴스 유형 찾기](#find-instance-type-hibernation-ps)

### 가용 영역으로 인스턴스 유형 찾기
<a name="find-instance-type-by-az-ps"></a>

다음 예시는 지정된 가용 영역에서 제공되는 인스턴스 유형을 보여줍니다.

```
(Get-EC2InstanceTypeOffering `
    -LocationType "availability-zone" `
    -Region us-east-2 `
    -Filter @{Name="location"; Values="us-east-2a"}).InstanceType | Sort-Object `
```

### 가용 메모리 크기로 인스턴스 유형 찾기
<a name="find-instance-type-by-memory-ps"></a>

다음 예제는 다음 명령을 사용하여 64GiB(65536MiB)의 메모리가 있는 현재 세대 인스턴스 유형만 보여줍니다.

```
(Get-EC2InstanceType `
    -Filter @{Name="current-generation"; Values="true"}, 
            @{Name="memory-info.size-in-mib"; Values="65536"}).InstanceType | Sort-Object
```

### 가용 인스턴스 스토리지로 인스턴스 유형 찾기
<a name="find-instance-type-by-storage-ps"></a>

다음 예제에서는 인스턴스 스토어 볼륨이 있는 모든 R7 인스턴스에 대한 인스턴스 스토리지의 총 크기를 보여줍니다.

```
Get-EC2InstanceType `
    -Filter @{Name="instance-type"; Values="r7*"}, 
            @{Name="instance-storage-supported"; Values="true"} | `
     Select InstanceType, @{Name="TotalSizeInGB"; Expression={($_.InstanceStorageInfo.TotalSizeInGB)}}
```

출력의 예시는 다음과 같습니다.

```
InstanceType  TotalSizeInGB
------------  -------------
r7gd.8xlarge           1900
r7gd.16xlarge          3800
r7gd.xlarge             237
r7gd.4xlarge            950
r7gd.medium              59
r7gd.2xlarge            474
r7gd.large              118
r7gd.metal             3800
r7gd.12xlarge          2850
```

### 최대 절전 모드를 지원하는 인스턴스 유형 찾기
<a name="find-instance-type-hibernation-ps"></a>

다음 예제에서는 최대 절전 모드를 지원하는 인스턴스 유형을 보여줍니다.

```
(Get-EC2InstanceType `
    -Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
```