EC2のストレージをオンラインで拡張する方法

EC2
スポンサーリンク

例えばEC2にてWordPressを運用していたとします。

日々の記事や記事で利用している画像ファイルなど、ストレージには様々なファイルが保存されます。
これらすべてのファイルを一定期間後に削除するなんてことができれば話は別ですが、そうはできません。
徐々にストレージ使用量はあがってきます。

ストレージ容量が逼迫してくると、無駄なファイルの削除で一時的な空き容量を確保するも、
どんどんファイルは蓄積され続けているので最終的にはストレージ容量の拡張が必要になります。

ということで、今回はEC2におけるストレージ容量の拡張についてご紹介させていただきます。

ストレージ拡張自体に料金はかかるのか?

まずはじめに、我々が一番気になるのはこの点ですよね。

EC2のストレージ拡張作業自体に別途手数料はかかるのか?という点。

結論から申し上げると、拡張作業自体に別途手数料はかかりません。

もちろん、ストレージ(EBS)自体の利用料は容量を拡張した分だけかかりますのでご注意くださいね。

ストレージ拡張にどの位時間がかかるのか?

あとで説明しますが、EC2を停止せずに行う方法であれば一瞬で終わります
作業時間を含めても、慣れている方であれば5〜10分程度で終わるでしょう。

一方、EC2を停止して行う方法(初心者の方はこちらがオススメ)は数分〜1時間以上かかってしまう場合がございます。

この時間の差はもともとEBSに入っているデータ量に関わってきます。
入っているデータ量が数GB程度でしたら5分前後ですが、数百GB〜1TB以上となってくると1,2時間以上となってしまいます。

ちなみにEBSに入っているデータによって時間数が変わりまして、追加容量の違いによる時間的な差異はありません。


★hidesanが試したストレージ容量追加実験!!
リージョン:バージニア北部
同じEBSを元に実験を行いました。

8GB→15GBへの容量追加
時間:約5分30秒

8GB→150GBへの容量追加
時間:約5分30秒

このとおり追加容量が変わっても時間的な差はありませんでした。


EC2インスタンスの停止は必要か?

停止は必須ではありません!

ただし前世代のインスタンスタイプの場合、停止が必要となる場合があるようです。
すべてのインスタンスタイプが停止不要で行えるわけではないことをご認識おきくださいませ。

また、停止せずに拡張する方法をとる場合、ストレージに負荷がかかっている時は避けましょう。

ちなみに、作業的な違いとしては・・・

停止をした場合、EC2マネジメントコンソール上だけで作業が完了します。
停止をしなかった場合、サーバーに入って多少のコマンドをたたく必要があります。

時間的な違いとしては・・・

停止をした場合、ボリューム変更に数分〜1,2時間かかります。
停止をしなかった場合、コマンド実行等が必要ですがボリューム変更自体は一瞬で終わります。

「EC2を停止してストレージ容量を追加する方法」と「EC2を停止しないで容量追加する方法」をそれぞれご紹介させていただきます。

注意!一度拡張したら6時間待たないと再拡張はできません!

ここでストレージ容量追加をする際の注意として、一度EBSの容量を拡張したら、同じEBSに対して再度容量拡張をするには6時間待たないといけません!

この通り6時間待たずに同じボリュームに対して再度容量追加しようとすると怒られます。
ストレージ容量を拡張する際は、拡張容量を間違えないように注意しましょう!

EC2を停止してストレージ容量追加する方法

※AWSコンソール上ですべて終わるので初心者の方にはこちらの方法がオススメです

(1)EC2マネジメントコンソールを開きます

(2)対象のEC2インスタンスを停止します

(3)対象のEC2の説明欄から”ルートデバイス”をメモっておきましょう
※これをしないと、後々インスタンスが起動できなくなってしまう事態に陥りますので絶対行ってください!

(4)ボリューム一覧から拡張対象となるボリュームを選択します

(5)[アクション]ー>[ボリュームのデタッチ]をクリックして、対象のボリュームを一度EC2から外します

(6)[アクション]ー>[ボリュームの変更]をクリックします

(7)サイズ欄へ拡張後の容量を入力して[変更]をクリックします

(8)状態が”available – completed (100%)”となったら拡張完了です!

(9)[アクション]ー>[ボリュームのアタッチ]をクリックします

(10)アタッチ先のインスタンスを選択します

(11)デバイス欄には、(3)にてメモしておいたルートデバイスを入力します
※ここで間違えるとインスタンスが起動できなくなりますのでご注意ください!

(12)[アタッチ]をクリックします

(13)対象のEC2インスタンスを起動します

EC2を停止しないでストレージ容量追加する方法

(1)EC2マネジメントコンソールを開きます

(2)ボリューム一覧から拡張対象となるボリュームを選択します

(3)[アクション]ー>[ボリュームの変更]をクリックします

(4)拡張後の容量を入力して[変更]をクリックします
※ここでの容量変更は一瞬で終わります。

(5)サーバーにログインし、次のコマンドを実行し、ファイルシステム情報を確認します

※以下のコマンドは”Amazon Linux 2″を対象としたコマンドとなります。

(6)次のコマンドを実行し、パーティションを拡張します

(7)サイドファイルシステム情報を確認すると、SIZEが増えているのが確認できます

はい。xvda1が30GBに増えました!
ですがまだファイルシステムには反映されておりません。

(8)次のコマンドでファイルシステムへ反映します

確認してみます。

きちんと拡張できていますね。

EC2を停止せずに行う方法の方が、トータルとしては早いし、サービスの停止時間も考慮しなくて良いのでメリットは大きいのですが、サーバーへログインしてコマンド実行するという初心者には少しハードルが高い作業が必要となります。

どちらが自分の今の状況に適した方法かを見極めて、ストレージ容量追加作業を実施しましょう!

ここまで読んでいただきありがとうございました!

スポンサーリンク
EC2
Tech Dive
タイトルとURLをコピーしました