

# 起動時に EC2 インスタンスにインスタンスストアボリュームを追加する
<a name="adding-instance-storage-instance"></a>

C1、C3、M1、M2、M3、R3、D2、H1、I2、X1、X1e など、**非 NVMe インスタンスストアボリューム**を持つインスタンスタイプを起動する場合は起動時にアタッチするインスタンスストアボリュームのブロックデバイスマッピングを指定する必要があります。ブロックデバイスマッピングはインスタンス起動リクエストで、またはインスタンスの起動に使用される AMI で指定する必要があります。

AMI にインスタンスストアボリュームのブロックデバイスマッピングが含まれている場合、AMI に含まれるよりも多くのインスタンスストアボリュームが必要でない限り、インスタンス起動リクエストでブロックデバイスマッピングを指定する必要はありません。

AMI にインスタンスストアボリュームのブロックデバイスマッピングが含まれていない場合はインスタンス起動リクエストでブロックデバイスマッピングを指定する必要があります。

NVMe インスタンスストアボリュームを使用するインスタンスタイプではサポートされているすべてのインスタンスストアボリュームが、起動時に自動的にインスタンスにアタッチされます。

**考慮事項**
+ 使用できるインスタンスストアボリュームの数はインスタンスタイプによって異なります。詳細については「[使用可能なインスタンスストアボリューム](instance-store-volumes.md#available-instance-store-volumes)」を参照してください。
+ デバイス名をブロックデバイスごとに指定する必要があります。詳細については「[Amazon EC2 インスタンス上のボリュームのデバイス名](device_naming.md)」を参照してください。
+ M3 インスタンスの場合はインスタンスのブロックデバイスマッピングで指定しなくても、インスタンスストアボリュームを受け取る可能性があります。

------
#### [ Console ]

**インスタンス起動リクエストでブロックデバイスマッピングを指定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ダッシュボードから、[**インスタンスの作成**] を選択してください。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) セクションで、使用する AMI を選択してください。

1. **[ストレージの設定]** セクションの **[インスタンスストアボリューム]** セクションにはインスタンスにアタッチできるインスタンスストアボリュームが一覧表示されます。

1. アタッチする各インスタンスストアボリュームの **[デバイス名]** で、使用するデバイス名を選択してください。

1. 必要に応じて残りのインスタンスの設定を設定し、**[インスタンスの起動]** を選択してください。

------
#### [ AWS CLI ]

**インスタンス起動リクエストでブロックデバイスマッピングを指定するには**  
`--block-device-mappings` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

```
--block-device-mappings file://mapping.json
```

次のブロックデバイスマッピングでは、2 つのインスタンスストアボリュームを追加します。

```
[
    {
        "DeviceName": "/dev/sdc",
        "VirtualName": "ephemeral0"
    },
    {
        "DeviceName": "/dev/sdd",
        "VirtualName": "ephemeral1"
    }
]
```

------
#### [ PowerShell ]

**インスタンス起動リクエストでブロックデバイスマッピングを指定するには**  
`-BlockDeviceMapping` オプションで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
-BlockDeviceMapping $bdm
```

次のブロックデバイスマッピングでは、2 つのインスタンスストアボリュームを追加します。

```
$bdm = @()

$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral0"
$bdm += $sdc

$sdd = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdd.DeviceName = "/dev/sdd"
$sdd.VirtualName = "ephemeral1"
$bdm += $sdd
```

------