Amazon EBSボリュームを使用できるようにする - Amazon EBS

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

Amazon EBSボリュームを使用できるようにする

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

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

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

アタッチ済みボリュームのフォーマットとマウント

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

Linux でEBSボリュームをフォーマットしてマウントするには
  1. を使用してインスタンスに接続しますSSH。詳細については、「Linux インスタンスへの接続」を参照してください。

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

    Nitro System 上に構築されたインスタンスの出力例を次に示します。このインスタンスでは、EBSボリュームをNVMeブロックデバイスとして公開します。ルートデバイス/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
  3. ボリュームにファイルシステムがあるかどうかを確認します。新しいボリュームは未加工のブロックデバイスであるため、マウントして使用する前に、ボリュームにファイルシステムを作成する必要があります。スナップショットから作成されたボリュームは、多くの場合既にファイルシステムがあります。既存のファイルシステムの上に新しいファイルシステムを作成すると、データが上書きされます。

    次の方法のいずれか (または両方) を使用して、ボリューム上にファイルシステムがあるかどうかを判断します。

    • 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 つのデバイス — nvme1n1nvme0n1、および nvme2n1 がインスタンスにアタッチされていることを示しています。最初の列には、デバイスとそのパーティションが一覧表示されています。FSTYPE 列には、各デバイスのファイルシステムタイプが表示されています。特定のデバイスについての列が空の場合は、そのデバイスにファイルシステムがないことを意味します。この場合、デバイスnvme0n1p1上のデバイスnvme1n1とパーティションnvme0n1はどちらもXFSファイルシステムを使用してフォーマットされますが、デバイスnvme0n1p128上のデバイスnvme2n1とパーティションにはファイルシステムnvme0n1がありません。

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

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

  4. (条件付き) 前の手順でデバイスにファイルシステムがあることがわかった場合は、このステップをスキップしてください。ボリュームが空の場合は、mkfs -t コマンドを使用し、そのボリューム上にファイルシステムを作成します。

    警告

    すでにデータが入っているボリューム (例: スナップショットから作成されたボリューム) をマウントしている場合は、このコマンドを使用しないでください。そうでない場合、ボリュームがフォーマットされ、既存のデータが削除されます。

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

    見つからないエラーが発生した場合mkfs.xfsは、次のコマンドを使用してXFSツールをインストールし、前のコマンドを繰り返します。

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

    [ec2-user ~]$ sudo mkdir /data
  6. 前のステップで作成したマウントポイントディレクトリにボリュームまたはパーティションをマウントします。

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

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

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

    [ec2-user ~]$ sudo mount /dev/xvdf1 /data
  7. 新しいボリュームマウントのファイルのアクセス許可をプレビューして、ユーザーとアプリケーションがボリュームに書き込みできることを確認します。ファイルのアクセス許可の詳細については、Linux Documentation Projectファイルセキュリティを参照してください。

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

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

アタッチされたEBSボリュームをシステムの再起動ごとにマウントするには、デバイスのエントリを /etc/fstab ファイルに追加します。

/dev/xvdfでは、 などのデバイス名を使用できますが/etc/fstab、代わりにデバイスの 128 ビットユニバーサル一意識別子 (UUID) を使用することをお勧めします。デバイス名は変更される可能性がありますが、 はパーティションの存続期間を通じてUUID保持されます。を使用するとUUID、ハードウェアの再設定後にシステムがブート不能になる可能性が低くなります。詳細については、「Amazon EBSボリュームをNVMeデバイス名にマッピングする」を参照してください。

再起動後に接続ボリュームを自動的にマウントするには
  1. (オプション) /etc/fstab ファイルのバックアップコピーを作成すると、編集中に誤って破壊/削除してしまった場合にこのコピーを使用できます。

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. blkid コマンドを使用して、デバイスの UUID を検索します。再起動後にマウントするデバイスの UUIDを書き留めます。次の手順で必要になります。

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

    [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
  3. nanovim などのテキストエディタを使用して、/etc/fstab ファイルを開きます。

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

    次の例では、 を使用してデバイスをマウントポイントUUIDaebf131c-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 マウントオプションを追加する必要があります。

  5. 入力内容が正しいことを確認するには、次のコマンドを実行してデバイスをアンマウントし、すべてのファイルシステムを /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 インスタンスでボリュームを使用できるようにします。

PowerShell
未加工パーティションを持つすべてのEBSボリュームを Windows で使用できるようにするには PowerShell
  1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「Windows インスタンスに接続する」を参照してください。

  2. タスクバーでスタートメニューを開き、Windows PowerShellを選択します。

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

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

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

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

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

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

    6. S hellHWDetection サービスを再度開始します。

    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 インスタンスに接続する」を参照してください。

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

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

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

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

  3. DiskPart コマンドを実行するスクリプトファイルを作成します。

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

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

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

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

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

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

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

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

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

    5. ボリュームにドライブ文字を割り当てます。

    警告

    既存のデータがあるボリュームをマウントする場合は、ボリュームを再フォーマットしないでください。再フォーマットすると、既存のデータが削除されます。

    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 「構文」と「パラメータ」を参照してください。

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

    C:\> diskpart /s diskpart.txt
Disk Management utility
ボリュームをディスク管理ユーティリティEBSで使用できるようにするには
  1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「Windows インスタンスに接続する」を参照してください。

  2. [Disk Management] ユーティリティを起動します。タスクバーで、Windows ロゴのコンテキスト (右クリック) メニューを開き、[Disk Management] (ディスクの管理) を選択します。

    注記

    Windows Server 2008 では、[スタート][管理ツール][コンピュータの管理][ディスクの管理] の順に選択します。

  3. ボリュームをオンライン状態にします。下部ペインで、EBSボリュームのディスクの左パネルのコンテキスト (右クリック) メニューを開きます。[Online] を選択します。

    ボリュームをオンライン状態にします。
  4. (条件に応じて) ディスクが初期化されていない場合は、使用する前に初期化する必要があります。ディスクが既に初期化されている場合は、このステップをスキップします。

    警告

    すでにデータが含まれるボリューム (パブリックデータセット、またはスナップショットから作成したボリュームなど) をマウントする場合は、ボリュームを再フォーマットしないように注意してください。再フォーマットすると、既存のデータが削除されます。

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

    1. ディスクの左側パネルのコンテキスト (右クリック) メニューを開き、[Initialize Disk] (ディスクの初期化) を選択します。

      ボリュームを初期化する
    2. [Initialize Disk] (ディスクの初期化) ダイアログボックスで、パーティションスタイルを選択し、[OK] をクリックします。

      ボリューム設定を初期化します。
  5. ディスクの右パネルのコンテキスト (右クリック) メニューを開き、[New Simple Volume] (新しいシンプルボリューム) を選択します。

    シンプルボリュームをマウントします。
  6. [New Simple Volume Wizard] (新しいシンプルボリュームウィザード) で、[Next] (次へ) をクリックします。

    [New Simple Volume Wizard] (新しいシンプルボリュームウィザード) を開始します。
  7. デフォルトの最大値を変更する場合は、[Simple volume size in MB] (シンプルボリュームサイズ (MB)) を選択してから、[Next] (次へ) をクリックします。

    ボリュームサイズを指定します。
  8. 必要に応じて、使用したいドライブ文字を [Assign the following drive letter] (次のドライブ文字を割り当る) ドロップダウンの中に指定し、[Next] (次へ) をクリックします。

    ドライブ文字を指定します。
  9. [Volume Label] (ボリュームラベル) を指定し、必要に応じてデフォルト設定を調整し、[Next] (次へ) をクリックします。

    ボリュームをフォーマットするための設定を指定します。
  10. 設定を確認してから、[Finish] (終了) をクリックして変更を適用し、[New Simple Volume] (新しいシンプルボリューム) ウィザードを閉じます。

    設定を確認し、ウィザードを終了します。