AWS の EC2 には EBS (Elastic Block Store) と呼ばれる永続的なストレージボリュームがあります。
インスタンスを生成した時に自動的に付与される「インスタンスストレージ」は対照的に、エフェメラルな揮発性のボリュームなので、ログなど永続的に残しておきたい場合は EBS が使えます。
アタッチ
手順概略
- EC2コンソールで
Create Volume
する - 作成したボリュームをインスタンスにアタッチする
- アタッチしたボリュームを使えるようにする
-
automount
の設定をする
手順詳細
1. EC2 コンソールで Create Volume
する
1-1. EC2 のコンソール画面を開きます。
1-2. 左メニューの中から「ELASTIC BLOCK STORE > Volumes」をクリックします。
1-3. 上部にある Create Volume
ボタンを押します。
1-4. タイプや作成するボリュームのサイズ、AZなどを選択します。
※「Magnetic」は所謂HDDです。こちらを選択すると何故かメニューには「standard」と表示されます。
※ Availability Zone は、アタッチしたいインスタンスと同じ AZ にしてください。
1-5. 「Create」を押して完了。
2. 作成したボリュームをインスタンスにアタッチする
2-1. 作成したボリュームを右クリックします(or クリックして選択した状態で、画面上部の「Action」を押します)
2-2. アタッチしたいインスタンスを入力します。
2-3. マウント位置を入力します。自動で /dev/xvdf
当たりが入る気がします。
3. アタッチしたボリュームを使えるようにする
アタッチしただけでは使えないので、使えるようにします。
以下のコマンドは Ubuntu 用です。
3-1. ボリュームをアタッチしたインスタンスにログインします
3-2. アタッチしたボリュームをフォーマットします。今回は ext4
を使います。
# mkfs -t ext4 /dev/xvdf
3-3. ボリュームをマウントします。
# mkdir /ebs
# mount /dev/xvdf /ebs
これでもう使えるようになります。簡単ですね。
# df -h
/dev/xvda1 on / type ext4 (rw)
...(中略)...
/dev/xvdb on /mnt type ext3 (rw)
/dev/xvdf on /ebs type ext4 (rw)
4. automount
の設定をする
あとはインスタンスを再起動した時にマウントが解除されないように、automount
の設定をします。
# echo "/dev/xvdf /ebs ext4 defaults 1 1" >> /etc/fstab
そして
# mount -a
コマンドを実行し、ちゃんとマウントされている事を確認。
デタッチ
手順概略
上記の逆をします。
-
automount
の設定を解除 - ボリュームのマウントを解除
- EC2コンソールで ボリュームをインスタンスからデタッチ
- EC2コンソールで
Delete Volume
する
手順詳細
1. automount
の設定を解除
該当マウントの設定を削除してください。
2. ボリュームのマウントを解除
マウントを解除します。
# umount /ebs
もしまだ使っていた場合はエラーが出ます。
# umount /ebs
umount: /ebs: device is busy
その場合は、使用しているプロセスを探します。
# fuser -muv /ebs
そのプロセスを終了するか kill
します。既存システムに影響が出ないようにご配慮ください。
プロセス終了後、再度 umount
でOK.
※参考
http://d.hatena.ne.jp/knaka20blue/20100712/1278903653
3. EC2コンソールで ボリュームをインスタンスからデタッチ
4. EC2コンソールで Delete Volume
する
あとは画面でポチポチするだけです。
ボリューム右クリックメニュー(or 画面上部の「Action」)から、「Detatch Volume」します。
外れたのを確認したら、同メニューから「Delete Volume」して完了。