お世話になっております。水木です。
今回は、EBSボリュームをサイズアップする際の留意点についてまとめました。
経験者の方には馴染み深い内容かもしれませんが、AWSの実務経験が浅い方や初めて対応する方が、「コンソールでサイズを変えたのに容量が増えていない?」と戸惑いやすいポイントでもあるかなと思います。
自身の備忘録も兼ねて、全体像を整理しました。
結論:作業は「3ステップ」必要
EBSのサイズ拡張は、AWSコンソール上の操作だけでは完結しません。一般的に、以下の3段階の作業が必要です。
-
AWSコンソール / CLI:EBSボリューム自体のサイズ変更(物理領域の拡張)
-
OSレイヤー(パーティション):拡張された未使用領域をパーティションに反映
-
OSレイヤー(ファイルシステム):ファイルシステムを拡張し、実際に容量を使用可能にする
注意
※コンソールで「100GB → 200GB」に変更しただけでは、OS側ではまだ増加分を利用できません。
手順2・3を実施しないと、Disk Full状態は解消されないため注意が必要です。
対応手順
※本手順は LVMを使用していない構成 を前提としています。
LVM構成の場合は、pvresize や lvextend などの追加手順が必要になります。
⓪.事前準備(重要)
・万が一の事態に備えて、作業前にEBSスナップショットを取得することを推奨します。
①.AWSコンソール/CLI: EBSボリュームのサイズを変更(物理的な増量)
・現在のEBSボリュームサイズを確認(例:10GiB)

・ボリュームの変更を押下する

・サイズを 10GiB → 50GiB(任意サイズ) に変更

※ちなみに今回の作業とは関係ないですが、EBSボリュームのサイズを縮小することはできません

・ボリュームの変更を実行しますか?と聞かれるので「変更」を押下する

・ボリュームサイズが50GiB(任意サイズ)になっていることを確認

②.OSレイヤー (パーティション): パーティションの拡張
・SSHでログインし、以下を実行:
実行コマンド:lsblk

★パーティション番号は「pの後の数字」
例:nvme0n1p3 → パーティション番号は 3
※デバイス名はインスタンスタイプにより異なりますので適宜読み替えて下さい。
(例:/dev/xvda, /dev/nvme0n1 など)
・パーティションを拡張する。
実行コマンド:sudo growpart デバイス名[画像例:/dev/nvme0n1 3]

⇒CHANGED: と表示されれば成功。
・パーティションサイズ変更後に再度確認:
実行コマンド:lsblk

サイズが変更されていることを確認
③.OSレイヤー (ファイルシステム): ファイルシステムの拡張
・ファイルシステムの種類と現在のサイズの確認
sudo blkid デバイス名[画像例:/dev/nvme0n1p3]

⇒出力結果の TYPE="xxx" の部分を確認します。
※一般的には xfs(Amazon Linux / RHEL) または ext4(Ubuntu など) が多く利用されているようです。
ファイルシステム領域拡張前の容量確認
実行コマンド:df -Th

・ファイルシステム領域の拡張
※xfs の場合(Amazon Linux / RHEL で多い)
実行コマンド:sudo xfs_growfs /

data blocks changed と表示されれば成功。
※今回検証できてないですが、ext4 の場合は以下コマンドとなるようです。
実行コマンド:sudo resize2fs /dev/nvme0n1p3
・ファイルシステム領域拡張後の確認
実行コマンド:df -Th

🪟 おまけ:Windows Server の場合
最近のWindowsインスタンスではGUI操作のみで拡張可能なようです。
個人的に気になって検証してみたので追記してみます。
前提:EBS 30GiB → 50GiB へ拡張済み
手順
1.Windows + X ⇒「ディスクの管理」を選択
※ または diskmgmt.msc を実行

・ディスク管理のページを開き、現在の容量を確認

・ボリュームの拡張を選択

・ボリュームの拡張ウィザードの開始が表示されるため、「次へ」を押下する

・拡張サイズを決めて次へを押下する 今回の例では変更せずに実施

・以下画像の通りに出たら「完了」を押下する。

・再度ディスク管理のページを開き、容量が変更されていることを確認

まとめ
今回この記事を書いたきっかけは、EBSのサイズアップ依頼を受けた際に、
「コンソールの変更だけで完了」と思い込み、OSレイヤーの作業が漏れているケースを見かけたことでした。
私自身も、初めて対応した際に同じポイントで躓いた経験があります。
EBSのサイズ拡張は、
-
物理領域の拡張(AWS側)
-
パーティションの拡張(OS側)
-
ファイルシステムの拡張(OS側)
という3層構造で成り立っています。
「枠を広げたら、中の仕切りも広げ、最後に中身の容量を更新する」
この流れを理解しておくことで、作業ミスを防ぎ、安全かつ確実に容量拡張を行うことができます。
なお、この記事ほど詳細な操作は問われないものの、この考え方自体は
AWS認定 SysOpsアドミニストレーター – アソシエイト(SOA) などの試験でも触れられるポイントです。
EBSサイズ拡張を行う際は、ぜひこの「3ステップ構造」を意識して作業を進めてみてください。


