Amazon EC2 Linux インスタンスにアタッチされているどのボリュームがインスタンスストア (エフェメラル) ボリュームであるかを確認する方法を教えてください。

所要時間2分
0

Amazon Elastic Block Store (Amazon EBS) ボリュームとインスタンスストアボリュームがアタッチされた Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスがあります。インスタンスストアボリュームであるアタッチされたボリュームを特定したいと考えています。

簡単な説明

Amazon EC2 Linux インスタンスのインスタンスストアボリュームを識別するには、まずインスタンスタイプがインスタンスストアボリュームをサポートしているかどうかを確認します。インスタンスがインスタンスストアボリュームをサポートしている場合は、サポートされているインスタンスストアボリュームのタイプを確認し、次にオペレーティングシステム (OS) からのボリュームの情報を確認します。

解決策

  1. インスタンスがサポートしているインスタンスストアボリュームのタイプ (HDD、SSD、または NVMe SSD) を確認します。サポートされている各インスタンスタイプで利用できるインスタンスストアボリュームの数量、サイズ、タイプ、パフォーマンスの最適化を確認します。
  2. インスタンスにアタッチされているボリュームのどれがインスタンスストアボリュームであるかを判断します。識別方法は、NVMe SSD と HDD/SSD のインスタンスストアボリュームのどちらを使用しているかによって異なります。

NVMe SSD インスタンスストアボリューム

  1. インスタンスに接続します

  2. NVMe コマンドラインパッケージ nvme-cli をインストールします。これには、お使いの Linux ディストリビューションのパッケージ管理ツールを使用してください。Amazon Linux インスタンスの場合は、yum コマンドを使用して nvme-cli パッケージをインストールします。他のディストリビューションのダウンロードとインストールの手順については、nvme-cli の GitHub ドキュメントを参照するか、ご使用のディストリビューション固有のドキュメントを参照してください。

  3. [nvme list] コマンドを特権ユーザーとして実行します。

    $ sudo nvme list

    次の出力例の [Model] 列には、接続されている各デバイスが [Amazon Elastic Block Store][Amazon EC2 NVMe インスタンスストレージ] かについて一覧表示されます。出力例は、1 つの NVMe SSD デバイスをサポートするインスタンスタイプからのものです。

    $ sudo nvme list
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     vol0923757ba05df9515 Amazon Elastic Block Store               1           0.00   B /   8.59  GB    512   B +  0 B   1.0
    /dev/nvme1n1     AWS1A4FC25FB16B79F76 Amazon EC2 NVMe Instance Storage         1          50.00  GB /  50.00  GB    512   B +  0 B   0

HDD または SSD インスタンスストアボリューム

HDD または SSD インスタンスストアボリュームの場合は、接続されているブロックデバイスのリストをオペレーティングシステムから取得します。次に、インスタンスメタデータに含まれるブロックデバイスマッピングセクションを取得します。

  1. インスタンスに接続します

  2. lsblk コマンドを実行します。lsblk コマンドがない場合は、Linux ディストリビューションのパッケージ管理ツールを使用して util-linux パッケージをインストールします。Amazon Linux インスタンスの場合は、yum install コマンドを使用して util-linux パッケージをインストールします。他のディストリビューションのダウンロードとインストールの手順については、使用しているディストリビューション固有のドキュメントを参照してください。

    $ sudo lsblk

    この出力例は、多数のドライブがあるインスタンスのブロックデバイスのリストを示しています。このインスタンスは、SSD インスタンスストアボリュームをサポートするインスタンスタイプで実行されます。

    $ sudo lsblk
    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0     8G  0 disk
    └─xvda1 202:1    0     8G  0 part /
    xvdb    202:16   0 745.2G  0 disk
    xvdc    202:32   0 745.2G  0 disk
    xvdd    202:48   0 745.2G  0 disk
    xvde    202:64   0 745.2G  0 disk
  3. 前の出力例の**[xvdb]** がエフェメラルドライブかどうかを確認してください。これを行うには、ブロックデバイスマッピングメタデータを取得します。その際は、すべてのインスタンスメタデータリクエストのベース URL (http://169.254.169.254/latest/meta-data/block-device-mapping) を使用してください。

    $ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
    sdb
    $ ls -l /dev/sdb
    lrwxrwxrwx 1 root root 4 Aug 27 13:07 /dev/sdb -> xvdb

    この例では、[ephemeral0] のブロックデバイスマッピングは**[sdb]**向けであり、これは [xvdb] へのシンボリックリンクです。したがって、この例では [xvdb] はエフェメラルデバイスです。

  4. (オプション) 以下のコマンドセットを使用して、チェックを自動化してインスタンスにアタッチされたエフェメラルデバイスを表示することもできます。

    OS ブロックデバイスを識別します。

    OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")

    ブロックデバイスマッピング URL を設定します。

    BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"

    OS デバイスをループ処理し、ブロックデバイスマッピングでマッピングを検索します。

    for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral

    次の例は、前に説明した 3 つのコマンドと出力を示しています。

    $ OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
    $ BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
    $ for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
    ephemeral0 is xvdb
    ephemeral1 is xvdc
    ephemeral2 is xvdd
    ephemeral3 is xvde
AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ