【AWSメモ―】EC2インスタンスで利用しているEBSボリュームの特定


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

背景

Nitro System に基づいたEC2に複数のEBSボリュームをアタッチした際、ブロックデバイスの命名ルールが異なり、デバイスのレスポンス順でデバイスノートを作成しているため、AWSコンソール上のデバイス名より直接EC2上のブロックデバイスと紐づけることできない。

EBS では、シングルルート I/O 仮想化 (SR-IOV) を使用して、NVMe 規格を使用して Nitro ベースのインスタンスにボリュームをアタッチします。これらのデバイスは、オペレーティングシステムの標準 NVMe ドライバーに依存しています。これらのドライバーは、通常、インスタンスの起動時に PCI バスをスキャンしてアタッチされたデバイスを検出し、デバイスがブロックデバイスマッピングでどのように指定されているかではなく、デバイスが応答する順序に基づいてデバイスノードを作成します。

file
file

Nitro System

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/instance-types.html#ec2-nitro-instances

試したこと

下記ドキュメントにてEBSの特定方法が記載されているが、必要なモジュールのインストールが必要かつ、作業対象EC2はインターネット接続ができないため、断念した。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#identify-nvme-ebs-device

解決

ネット上に探し回していましたが、結局上記ドキュメントの隅にある記載で解決した。

NVMe EBS ボリュームには、EBS ボリューム ID がデバイス ID のシリアル番号として設定されています。シリアル番号を一覧表示するには、lsblk -o +SERIAL コマンドを使用します。

ボリュームIDが分ければ、特定ができますね。

file

※Windows用コマンド
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/nvme-ebs-volumes.html#identify-nvme-ebs-device

上記に記載されたebsnvme-id.exeコマンドをそのまま使えなかったが、パスが通っていなかっただけのようで、C:\ProgramData\Amazon\Tools\ebsnvme-id.exeフルパス指定で同じくボリュームIDを確認することができました。

Last modified: 2024-02-05

Author