AWS EC2 -ストレージを増やす-
EC2で作業しようと思ったらストレージが足りなくなったので増やします。
最初の作成時に容量を指定できるのですが、作り直すのが面倒な場合は以下のように対応します。
目次
EC2のストレージチェック
EC2にsshログインして、df
コマンドで現状のストレージを確認します。
df -h Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G 0% /dev tmpfs 1.6G 8.6M 1.6G 1% /run /dev/xvda1 7.7G 4.2G 3.6G 55% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 1.6G 0 1.6G 0% /run/user/100
ストレージが足りなくなってきているようだったら早めにボリュームを拡張しましょう。
Amazon EBS (Elastic Block Store)
EC2にマウントできるディスクサービスです。
EC2のOSや各種データはEBSに保存されています。
通常のコンピュータで言う所のHDDやSSDみたいな存在です。
普段EC2を利用するとき意識しませんが、今回のようにストレージを増やしたい場合はこちらをいじる必要があります。
方法1: アタッチしたまま増やす
現行のEC2ではEBSをアタッチしたままストレージを増やすことができます。
ストレージを増やしたいEC2インスタンスを選択します。
ルートデバイスをクリックするとEBS IDが表示されるので、リンクからEBSのページに飛びます。
対象のボリュームが選択された状態になっているのでボリュームの変更を行います。
変更画面が表示されるのでサイズを変更しましょう。
方法2: デタッチして増やす
古いインスタンスなどは方法1が使えない場合があります。
その場合は一度デタッチしてから増やす必要があります。
スナップショットの作成
EBSはスナップショットを作成することでその時点での状態を保存できます。
逆にスナップショットから新しくEBSボリュームを再現することもできます。
作成されたスナップショットはS3に保存されます。
まずはインスタンスを停止させます。
対象のインスタンスを選択した状態で「説明」を確認します。
ルートデバイスをクリックするとアタッチされているEBSのIDが表示されます。
IDをクリックするとEBSのページに飛びます。
ルートデバイスのパス(ここでは/dev/sda1)はメモしておきましょう。
クリックしたIDのEBSが表示されます。
アクションから「スナップショットの作成」を行います。
作成したスナップショットのIDをメモしておきます。
スナップショットから新しいEBSを作成
再びEBSの画面から、次は「ボリュームの作成」を行います。
設定画面が開かれるので、任意のサイズ、AZなどを選択します。
スナップショットIDに先ほど作成したスナップショットのIDを入力します。
作成したEBSをEC2へアタッチ
アタッチはUbuntuでは/dev/sda1
でした。
インスタンスを一度起動します。
確認
起動し終わったらSSH接続してdf
コマンドを使ってみます。
Elastic IPを設定していない場合はIPアドレスが変わるので注意です。
df -h Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G 0% /dev tmpfs 1.6G 8.6M 1.6G 1% /run /dev/xvda1 25G 3.5G 21G 15% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 1.6G 0 1.6G 0% /run/user/1000
増えました!