

# 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. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションバーから、インスタンスを起動するリージョンを選択してください。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。

1. ナビゲーションペインで、[**インスタンスタイプ**] を選択します。

1. (オプション) プリファレンス (歯車) アイコンを選択して **オンデマンド Linux 料金など**の表示するインスタンスタイプ属性を選択し、次に [**確認**] を選択します。または、インスタンスタイプの名前を選択して詳細ページを開き、コンソールで使用できるすべての属性を表示します。このコンソールには、API またはコマンドラインで使用できる属性のすべては表示されません。

1. インスタンスタイプ属性を使用して、ニーズを満たすインスタンスタイプのみがリスト表示されるようにフィルタリングします。例えば、以下の属性でフィルターをかけることができます。
   + **[アベイラビリティーゾーン]** — アベイラビリティーゾーン、ローカルゾーン、Wavelength Zone の名前。詳細については、[リージョンとゾーン](using-regions-availability-zones.md) を参照してください。
   + **vCPU** または **コア** — vCPUs またはコアの数。
   + **[Memory (GiB)]** (メモリ (GiB)) — メモリサイズ (GiB 単位)。
   + **[Network performance]** (ネットワークパフォーマンス) — ネットワークパフォーマンス (ギガビット)。
   + **[Local instance storage]** (ローカルインスタンスストレージ) — インスタンスタイプにローカルインスタンスストレージがあるかどうかを示します (`true`\$1`false`)。

1. (オプション) 並べて比較するには、複数のインスタンスタイプに対応するチェックボックスをオンにします。比較は、画面下部に表示されます。

1. (オプション) インスタンスタイプのリストをカンマ区切り値 (.csv) ファイルで保存してさらに見直せるようにするには、**[Actions]** (アクション)、**[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>

次の例では、64 GiB (65536 MiB) のメモリを搭載した現行世代のインスタンスタイプのみを表示しています。

```
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) コマンドレットを使用して、ニーズに合ったインスタンスタイプを見つけることができます。

**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>

次の例では、64 GiB (65536 MiB) のメモリを搭載した現行世代のインスタンスタイプのみを表示しています。

```
(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
```