

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EBS ボリュームを使用できるようにする
<a name="ebs-using-volumes"></a>

Amazon EBS ボリュームをインスタンスにアタッチすると、ブロックデバイスとして公開されます。任意のファイルシステムでボリュームをフォーマットし、マウントできます。EBS ボリュームを使用できるようにすると、他のボリュームと同じようにアクセスできます。このファイルシステムに書き込まれるデータはすべて EBS ボリュームに書き込まれますが、デバイスを使用するアプリケーションには透過的になります。

EBS ボリュームのスナップショットは、バックアップ目的で作成したり、別のボリュームを作成する際のベースラインとして使用したりできます。詳細については、「[Amazon EBS スナップショット](ebs-snapshots.md)」を参照してください。

使用準備中の EBS ボリュームが 2 TiB を超える場合は、GPT パーティショニングスキームを使用してボリューム全体にアクセスする必要があります。詳細については、「[Amazon EBS ボリュームの制約](volume_constraints.md)」を参照してください。

## Linux インスタンス
<a name="ebs-use-linux"></a>

### アタッチ済みボリュームのフォーマットとマウント
<a name="ebs-format-mount-volume"></a>

ルートデバイス用の EBS ボリューム `/dev/xvda` を持つ EC2 インスタンスがあり、`/dev/sdf` を使用して空の EBS ボリュームをインスタンスにアタッチしたとします。新たなアタッチ済みボリュームを使用するには、次の手順を使用します。

**Linux で EBS ボリュームをフォーマットしてマウントするには**

1. SSH を使用してインスタンスに接続します。詳細については、「[Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)」を参照してください。

1. ブロックデバイスマッピングで指定したものとは異なるデバイス名を使用して、デバイスをインスタンスにアタッチすることができます。詳細については、「[Linux インスタンスでのデバイス名](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)」を参照してください。**lsblk** コマンドを使用して、使用可能なディスクデバイスとマウントポイント (該当する場合) を表示し、使用する正しいデバイス名を決定します。**lsblk** の出力は、フルデバイスパスから `/dev/` プレフィクスを削除します。

   次の内容は、EBS ボリュームを NVMe ブロックデバイスとして公開する「[Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)」で構築されたインスタンスの出力例を示します。ルートデバイス`/dev/nvme0n1`には、`nvme0n1p1`および`nvme0n1p128`という名前の 2 つのパーティションがあります。アタッチされているボリュームは `/dev/nvme1n1` パーティションがなく、まだマウントされていません。

   ```
   [ec2-user ~]$ lsblk
   NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   nvme1n1       259:0    0  10G  0 disk
   nvme0n1       259:1    0   8G  0 disk
   -nvme0n1p1    259:2    0   8G  0 part /
   -nvme0n1p128  259:3    0   1M  0 part
   ```

   以下は T2 インスタンスの出力例です。ルートデバイス`/dev/xvda`には、`xvda1`という名前のパーティションが 1 つあります。アタッチされているボリュームは `/dev/xvdf` パーティションがなく、まだマウントされていません。

   ```
   [ec2-user ~]$ lsblk
   NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
   xvda    202:0    0    8G  0 disk
   -xvda1  202:1    0    8G  0 part /
   xvdf    202:80   0   10G  0 disk
   ```

1. ボリュームにファイルシステムがあるかどうかを確認します。新しいボリュームは未加工のブロックデバイスであるため、マウントして使用する前に、ボリュームにファイルシステムを作成する必要があります。スナップショットから作成されたボリュームは、多くの場合既にファイルシステムがあります。既存のファイルシステムの上に新しいファイルシステムを作成すると、データが上書きされます。

   次の方法のいずれか (または両方) を使用して、ボリューム上にファイルシステムがあるかどうかを判断します。
   + **file -s** コマンドを使用して、ファイルシステムタイプなど、特定のデバイスに関する情報を取得します。次の例のように、出力に `data` だけが表示されている場合は、デバイスにはファイルシステムが存在していません。

     ```
     [ec2-user ~]$ sudo file -s /dev/xvdf
     /dev/xvdf: data
     ```

     デバイスにファイルシステムがある場合は、ファイルシステムの種類に関する情報が表示されます。例えば、次の出力は XFS ファイルシステムを持つルートデバイスを示しています。

     ```
     [ec2-user ~]$ sudo file -s /dev/xvda1
     /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
     ```
   + **lsblk -f** コマンドを使用して、インスタンスにアタッチされているすべてのデバイスに関する情報を取得します。

     ```
     [ec2-user ~]$ sudo lsblk -f
     ```

     例えば、次の出力例では、3 つのデバイス — `nvme1n1`、`nvme0n1`、および `nvme2n1` がインスタンスにアタッチされていることを示しています。最初の列には、デバイスとそのパーティションが一覧表示されています。`FSTYPE` 列には、各デバイスのファイルシステムタイプが表示されています。特定のデバイスについての列が空の場合は、そのデバイスにファイルシステムがないことを意味します。この場合、デバイス `nvme1n1` とデバイス `nvme0n1` 上のパーティション `nvme0n1p1` はともに XFS ファイルシステムを使用してフォーマットされていますが、デバイス `nvme2n1` とデバイス `nvme0n1` 上のパーティション `nvme0n1p128` にはファイルシステムがありません。

     ```
     NAME		FSTYPE	LABEL	UUID						MOUNTPOINT
     nvme1n1	        xfs		7f939f28-6dcc-4315-8c42-6806080b94dd
     nvme0n1
     ├─nvme0n1p1	xfs	    /	90e29211-2de8-4967-b0fb-16f51a6e464c	        /
     └─nvme0n1p128
     nvme2n1
     ```

   これらのコマンドの出力で、デバイス上にファイルシステムがないことが示された場合は、ファイルシステムを作成する必要があります。

1. <a name="create_file_system_step"></a>(条件付き) 前の手順でデバイスにファイルシステムがあることがわかった場合は、このステップをスキップしてください。ボリュームが空の場合は、**mkfs -t** コマンドを使用し、そのボリューム上にファイルシステムを作成します。
**警告**  
すでにデータが入っているボリューム (例: スナップショットから作成されたボリューム) をマウントしている場合は、このコマンドを使用しないでください。そうでない場合、ボリュームがフォーマットされ、既存のデータが削除されます。

   ```
   [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf
   ```

   `mkfs.xfs` がないというエラーが表示された場合は、次のコマンドを使用して XFS ツールをインストールしてから、前述のコマンドを繰り返します。

   ```
   [ec2-user ~]$ sudo yum install xfsprogs
   ```

1. **mkdir** コマンドを使用して、ボリュームのマウントポイントディレクトリを作成します。マウントポイントとは、ボリュームをマウントした後、ファイルシステムツリー内でボリュームが配置され、ファイルの読み書きが実行される場所です。次の例では、`/data` という名前のディレクトリが作成されます。

   ```
   [ec2-user ~]$ sudo mkdir /data
   ```

1. 前のステップで作成したマウントポイントディレクトリにボリュームまたはパーティションをマウントします。

   ボリュームにパーティションがない場合は、次のコマンドを実行してデバイス名を指定し、ボリューム全体をマウントします。

   ```
   [ec2-user ~]$ sudo mount /dev/xvdf /data
   ```

   ボリュームにパーティションがある場合は、次のコマンドを実行してパーティション名を指定し、パーティションをマウントします。

   ```
   [ec2-user ~]$ sudo mount /dev/xvdf1 /data
   ```

1. 新しいボリュームマウントのファイルのアクセス許可をプレビューして、ユーザーとアプリケーションがボリュームに書き込みできることを確認します。ファイルのアクセス許可の詳細については、*Linux Documentation Project* の[ファイルセキュリティ](https://tldp.org/LDP/intro-linux/html/sect_03_04.html)を参照してください。

1. インスタンスを再起動した後にマウントポイントが自動的に保存されることはありません。再起動後にこの EBS ボリュームを自動的にマウントするには、次の手順を参照してください。

### 再起動後に接続ボリュームを自動的にマウントする
<a name="ebs-mount-after-reboot"></a>

システムブート時に常に、このアタッチ済みの EBS ボリュームをマウントするには、`/etc/fstab` ファイルにデバイス用のエントリを追加します。

`/etc/fstab` でシステムの現在のデバイス名 (`/dev/xvdf` など) は使用できますが、代わりにデバイスの 128 ビット汎用一意識別子 (UUID) を使用することをお勧めします。デバイス名は変更される可能性がありますが、UUID はパーティションの存続期間を通じて持続します。UUID を使用することで、ハードウェアの再構成後にシステムが起動できなくなる可能性を減らすことができます。詳細については、[Amazon EBS ボリュームを NVMe デバイス名にマッピング](identify-nvme-ebs-device.md)を参照してください。

**再起動後に接続ボリュームを自動的にマウントするには**

1. (オプション) `/etc/fstab` ファイルのバックアップコピーを作成すると、編集中に誤って破壊/削除してしまった場合にこのコピーを使用できます。

   ```
   [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
   ```

1. **blkid** コマンドを使用してデバイスの UUID を見つけます。再起動後にマウントするデバイスの UUID を書き留めます。次の手順で必要になります。

   例えば、次のコマンドは、インスタンスにマウントされている 2 つのデバイスがあることを示し、両方のデバイスの UUID を表示します。

   ```
   [ec2-user ~]$ sudo blkid
   /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10"
   /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"
   ```

   Ubuntu 18.04 では、lsblk コマンドを使用します。

   ```
   [ec2-user ~]$ sudo lsblk -o +UUID
   ```

1. **nano** や **vim** などのテキストエディタを使用して、`/etc/fstab` ファイルを開きます。

   ```
   [ec2-user ~]$ sudo vim /etc/fstab
   ```

1. 指定されたマウントポイントにデバイスをマウントするために、`/etc/fstab` に次のエントリを追加します。フィールドは、**blkid** (Ubuntu 18.04 の場合は **lsblk**) から返される UUID 値、マウントポイント、ファイルシステム、および推奨されるファイルシステムマウントオプションです。必須フィールドの詳細については、`man fstab` を実行して **fstab** マニュアルを開きます。

   次の例では、UUID `aebf131c-6957-451e-8d34-ec978d9581ae` を使用してデバイスをマウントポイント `/data` にマウントし、`xfs` ファイルシステムを使用します。`defaults` フラグと `nofail` フラグも使用します。ファイルシステムがダンプされないように `0` を指定し、ルート以外のデバイスであることを示すように `2` を指定します。

   ```
   UUID=aebf131c-6957-451e-8d34-ec978d9581ae  /data  xfs  defaults,nofail  0  2
   ```
**注記**  
このボリュームをアタッチしないでインスタンスを起動することを目的としている場合 (例えば、ボリュームを別のインスタンスに移動した後)、`nofail` マウントオプションを追加し、ボリュームのマウントでエラーが発生してもインスタンスが起動できるようにしてください。また、Debian から派生した OS (16.04 より前の Ubuntu バージョンなど) では、`nobootwait` マウントオプションを追加する必要があります。

1. 入力内容が正しいことを確認するには、次のコマンドを実行してデバイスをアンマウントし、すべてのファイルシステムを `/etc/fstab` にマウントします。エラーがなければ、`/etc/fstab` ファイルは問題ありません。ファイルシステムは再起動後に自動的にマウントされます。

   ```
   [ec2-user ~]$ sudo umount /data
   [ec2-user ~]$ sudo mount -a
   ```

   エラーメッセージが表示されたら、ファイル内のエラーに対処してください。
**警告**  
`/etc/fstab` ファイルにエラーがあると、システムがブート不能になる可能性があります。`/etc/fstab` ファイルにエラーがあるシステムをシャットダウンしないでください。

   `/etc/fstab` のエラーを修正する方法がわからず、このステップの最初のステップでバックアップファイルを作成した場合は、次のコマンドを使用してバックアップファイルから復元できます。

   ```
   [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab
   ```

## Windows インスタンス
<a name="ebs-use-win"></a>

次のいずれかの方法を使用し、Windows インスタンスでボリュームを使用できるようにします。

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

**raw パーティションを持つすべての EBS ボリュームを Windows PowerShell で使用できるようにするには**

1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「[Windows インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)」を参照してください。

1. タスクバーで、[Start] (スタート) メニューを開き、**[Windows PowerShell]** を選択します。

1. 開いた PowerShell プロンプト内で、提供されている一連の Windows PowerShell コマンドを使用します。このスクリプトはデフォルトで次のアクションを実行します。

   1. ShellHWDetection サービスを停止します。

   1. パーティションスタイルが raw のディスクを列挙します。

   1. ディスクとパーティションタイプがサポートする最大サイズにまたがる新しいパーティションを作成します。

   1. 使用できるドライブ文字を割り当てます。

   1. 指定されたファイルシステムラベルを使用して、ファイルシステムを NTFS としてフォーマットします。

   1. ShellHWDetection サービスを再起動します。

   ```
   Stop-Service -Name ShellHWDetection
   Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Volume Label" -Confirm:$false
   Start-Service -Name ShellHWDetection
   ```

------
#### [ DiskPart command line tool ]

**DiskPart コマンドラインツールを使用して EBS ボリュームを使用可能にするには**

1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「[Windows インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)」を参照してください。

1. 使用可能にするディスク番号を決定します。

   1. [Start] (スタート) メニューを開き、[Windows PowerShell] を選択します。

   1. `Get-Disk` コマンドレットを使用して、使用できるディスクのリストを取得します。

   1. コマンドの出力で、使用可能にするディスクに対応する**[Number]** (番号) を書き留めます。

1. DiskPart コマンドを実行するスクリプトファイルを次のように作成します。

   1. [Start] (スタート) メニューを開き、**[File Explorer]** (ファイルエクスプローラ) を選択します。

   1. C:\$1 などのディレクトリに移動し、スクリプトファイルを保存します。

   1. フォルダ内の空白領域を選択するか、右クリックしてダイアログボックスを開き、カーソルを **[New]** (新規) の上に置いてコンテキストメニューにアクセスし、**[Text Document]** (テキストドキュメント) を選択します。

   1. テキストファイルの名前を `diskpart.txt` にします。

1. 次のコマンドをスクリプトファイルに追加します。ディスク番号、パーティションタイプ、ボリュームラベル、ドライブ文字の変更が必要になる場合があります。このスクリプトはデフォルトで次のアクションを実行します。

   1. 修正するディスク 1 を選択します。

   1. マスターブートレコード (MBR) パーティション構造を使用するようにボリュームを設定します。

   1. ボリュームを NTFS ボリュームとしてフォーマットします。

   1. ボリュームラベルを設定します。

   1. ボリュームにドライブ文字を割り当てます。
**警告**  
既存のデータがあるボリュームをマウントする場合は、ボリュームを再フォーマットしないでください。再フォーマットすると、既存のデータが削除されます。

   ```
   select disk 1 
   attributes disk clear readonly 
   online disk noerr
   convert mbr 
   create partition primary 
   format quick fs=ntfs label="volume_label" 
   assign letter="drive_letter"
   ```

   詳細については、[DiskPart Syntax and Parameters](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc766465(v=ws.10)#diskpart-syntax-and-parameters)を参照してください。

1. コマンドプロンプトを開き、スクリプトがあるフォルダに移動し、次のコマンドを実行して、指定したディスクでボリュームを使用できるようにします。

   ```
   C:\> diskpart /s diskpart.txt
   ```

------
#### [ Disk Management utility ]

**ディスク管理ユーティリティで EBS ボリュームを使用可能にするには**

1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「[Windows インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)」を参照してください。

1. [Disk Management] ユーティリティを起動します。タスクバーで、Windows ロゴのコンテキスト (右クリック) メニューを開き、**[Disk Management]** (ディスクの管理) を選択します。
**注記**  
Windows Server 2008 では、**[スタート]**、**[管理ツール]**、**[コンピュータの管理]**、**[ディスクの管理]** の順に選択します。

1. ボリュームをオンライン状態にします。下のペインで、EBS ボリューム用のディスクの左パネルのコンテキスト (右クリック) メニューを開きます。[**Online**] を選択します。  
![\[ボリュームをオンライン状態にします。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-volume-online.png)

1. (条件に応じて) ディスクが初期化されていない場合は、使用する前に初期化する必要があります。ディスクが既に初期化されている場合は、このステップをスキップします。
**警告**  
すでにデータが含まれるボリューム (パブリックデータセット、またはスナップショットから作成したボリュームなど) をマウントする場合は、ボリュームを再フォーマットしないように注意してください。再フォーマットすると、既存のデータが削除されます。

   ディスクが初期化されていない場合は、次のように初期化します。

   1. ディスクの左側パネルのコンテキスト (右クリック) メニューを開き、**[Initialize Disk]** (ディスクの初期化) を選択します。  
![\[ボリュームを初期化する\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-volume-initialize.png)

   1. **[Initialize Disk]** (ディスクの初期化) ダイアログボックスで、パーティションスタイルを選択し、**[OK]** をクリックします。  
![\[ボリューム設定を初期化します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-volume-initialize-settings.png)

1. ディスクの右パネルのコンテキスト (右クリック) メニューを開き、**[New Simple Volume]** (新しいシンプルボリューム) を選択します。  
![\[シンプルボリュームをマウントします｡\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume.png)

1. **[New Simple Volume Wizard]** (新しいシンプルボリュームウィザード) で、**[Next]** (次へ) をクリックします。  
![\[[New Simple Volume Wizard] (新しいシンプルボリュームウィザード) を開始します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-welcome.png)

1. デフォルトの最大値を変更する場合は、**[Simple volume size in MB]** (シンプルボリュームサイズ (MB)) を選択してから、**[Next]** (次へ) をクリックします。  
![\[ボリュームサイズを指定します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-size.png)

1. 必要に応じて、使用したいドライブ文字を **[Assign the following drive letter]** (次のドライブ文字を割り当る) ドロップダウンの中に指定し、**[Next]** (次へ) をクリックします。  
![\[ドライブ文字を指定します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-letter.png)

1. **[Volume Label]** (ボリュームラベル) を指定し、必要に応じてデフォルト設定を調整し、**[Next]** (次へ) をクリックします。  
![\[ボリュームをフォーマットするための設定を指定します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-format.png)

1. 設定を確認してから、**[Finish]** (終了) をクリックして変更を適用し、[New Simple Volume] (新しいシンプルボリューム) ウィザードを閉じます。  
![\[設定を確認し、ウィザードを終了します。\]](http://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-finish.png)

------