EBSの容量拡張の方法とは?容量の確認操作方法についても解説

公開日時:   更新日時:
EBSの容量拡張の方法とは?容量の確認操作方法についても解説

AWS EBSとは?


EBSは、AWSが提供するオンラインストレージサービスの一つで、主に仮想サーバサービスのEC2と組み合わせて使われます。

AWSには、EBSの他にも様々なストレージサービスがあるのですが、それぞれ特徴や向いている用途が違いますので、以下で簡単に比較してみます。

AWSのストレージサービス比較

ここでは、AWSが提供するオンラインストレージサービスの中でも特によく使われる、EBS、S3、EFSの3つのサービスについて、それぞれの特徴をご紹介します。

まず今回取り上げるEBS(Elastic Block Store)ですが、こちらはブロックストレージというタイプに分類されます。EC2に組み込んで使うことを前提に設計されており、高い可用性とセキュリティを誇ります。要求するパフォーマンスに応じて4タイプのボリュームから選べます。

続いてAWSにおける代表的なストレージサービスであるS3(Simple Storage Service)ですが、こちらはオブジェクトストレージというタイプに分類されます。EBSを上回る可用性・耐久性を誇り、大容量データのバックアップや静的コンテンツの配信などに向いています。

EFS(Elastic File System)は、ファイルストレージというタイプに分類されます。ファイルサーバとしての用途に適しており、コンテンツリポジトリの管理やユーザホームディレクトリに使われます。

EBSの詳細

EBSについて、もう少し詳しく見ていきましょう。

EBSが採用するブロックストレージというのは、データを「ブロック」という固定長単位で管理する方式で、直接接続ストレージに近い特徴を持っています。企業アプリケーションなどの低レイテンシが求められるストレージとして最適です。

このEBSは、AWSの仮想サーバEC2との組み合わせで使うのが基本です。外付けHDDをイメージして頂ければ分かりやすいでしょう。

EC2はそれ自体に、同じブロックストレージである「インスタンスストア」というストレージ領域を持っているのですが、こちらはEC2インスタンスと一蓮托生の関係にあり、インスタンスを停止するとデータが消えてしまうため、一時的な用途にしか使えません。

そこでEBSを使うことによって、永続的なデータ保存を実現し、データ消失を気にすることなくインスタンスの起動・停止が行えるのです。

EBSの容量について


EBSには、ディスクの種類別にSSDとHDDの2タイプがあり、更にそれぞれに汎用的なパフォーマンスのものと高スループット用のものから選べるようになっています。

最大容量は、どのボリュームタイプも16TiBと同じなのですが、最小容量は1GiBから500GiBとボリュームごとに異なっており、用途に応じたボリュームサイズを選択することになります。

EC2でサーバを運用していると、最初に設定した容量が枯渇してくることが珍しくありません。そこでストレージ容量の拡張が必要となるのですが、実は少し前までEBSの容量拡張は非常に大変な作業でした。

まずインスタンスを停止させ、スナップショットを作成、拡張した容量で新規EBSボリュームを作り直して、既存のEBSボリュームと差し替える、といった具合です。

これら一連の作業は、単純に時間もかかりますし、スナップショット取得のタイミングによっては、データの整合性が取れなくなるといった問題もありました。

しかし、数年前のアップデートにより、インスタンスを停止させることなく容量を追加できるようになりました。また、先ほどご紹介した4種類のボリュームタイプを相互に変更することも可能になっています。

容量の拡張


それでは、実際にEBSの容量を拡張してみましょう。

まず、SSH接続して以下のコマンドで現在の容量を確認します。

Amazon EC2 コンソールを開き、左メニューより[Elastic Block Store]配下の[ボリューム]を選択します。

対象のボリュームをチェックして、[アクション]より「ボリュームの変更」を選択します。遷移先の画面にボリュームの現在の設定が表示されるので、[サイズ]に必要なサイズを入力して[変更]をクリックします。同時にボリュームタイプの変更も可能です。

拡張が開始されると進捗状況が表示されるので、完了状態になるまで待ちます。所要時間は拡張するサイズによって変動しますが、数GiBの拡張でおよそ5分程度が目安です。

なお、拡張作業中はディスクパフォーマンスが低下しますので、ディスクI/Oが少ない時間帯を選んで作業しましょう。また、サイズの拡張はできても縮小はできないので、この点もご注意ください。

OSのファイルシステムの拡張

ここまでの手順でEBSのサイズ拡張は完了しましたが、併せてOSのファイルシステムを拡張する必要があります。以下、WindowsのケースとLinuxのケースに分けて解説します。

Windowsでファイルシステムを拡張する

Windowsのディスクサイズに、拡張したボリュームサイズを適用するには、Windowsディスクの管理ユーティリティを使用する方法と、 PowerShellを使用する方法があります。

まずは、ディスクの管理ユーティリティを使用する方法を説明します。なお、ロールバックが必要になった時に備えて、この時点でEBSボリュームのスナップショットを取得しておくことをお薦めします。

リモートデスクトップでWindowsインスタンスにログインし、実行ダイアログに「diskmgmt.msc」と入力すると、ディスクの管理ユーティリティが表示されます。

[ディスクの管理]メニューで、[操作]⇒[ディスクの再スキャン]の順にクリックすると、拡張したドライブが表示されるので、右クリックして「ボリュームの拡張(Extend Volume)」を選択します。

[ボリュームの拡張]ウィザードで[次へ]をクリックし、[Select the amount of space in MB]に拡張するサイズを入力します。通常は、すぐ上に表示されている[Maximum available space in MB(使用可能な最大領域)]を指定すれば問題ありません。

ファイルシステムの拡張ができたら、インスタンスを再起動し、再度「df -h」コマンドでサイズの拡張が確認できれば完了です。

続いて、PowerShellを使用する方法の説明です。リモートデスクトップでインスタンスにログインし、管理者としてPowerShellを実行します。

「Get-Partition」コマンドを実行するとディスクのパスが返されるので、拡張するパーティションのドライブ文字を控えます。

次のコマンドを実行し、パーティションを拡張します。[size]は、ディスクの管理ユーティリティのケースと違って「拡張後のサイズ」であることに注意してください。

Linuxでファイルシステムを拡張する

Linuxにおけるファイルシステム拡張の手順としては、拡張する必要があるパーティションがそのボリュームに存在するかを確認し、各ファイルシステム特有のコマンドで拡張後のサイズを適用するという流れになります。

インスタンスに接続したら、「lsblk」コマンドを実行して、インスタンスにアタッチされているブロックデバイスに関する情報を表示し、拡張対象のパーティションがそのボリュームに存在するかを確認します。

コマンド実行後、ボリュームとその配下のパーティションがツリー構造で表示されるので、パーティションの合計サイズがボリュームのサイズに満たない場合は、拡張対象のパーティションということになります。

ボリュームのパーティション拡張には、以下のコマンドを実行します。(デバイス名が「/dev/xvda」、パーティション番号が「1」の場合)

再度「lsblk」コマンドを実行して、パーティションが拡張されていれば完了です。

EBSを拡張してみよう


今回は、AWSのストレージサービスであるEBSのボリュームサイズを拡張する方法について解説しました。

記事の前半で、AWSが提供する様々なストレージサービスについて大まかにご紹介しましたが、その中でもEBSはAWSの代表的なサービスであるEC2との親和性が特に高いサービスです。

AWSで構築したシステムの運用が順調であればあるほど、スケールアップはどこかで必要になってきます。EBSの容量拡張の際は、是非この記事を参考にしてみてください。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags