EC2でEBSを使う

EC2でEBSを使ってみましょう。
EBSは外部のファイルサーバのような物で、ここに格納したデータは、EC2のインスタンスを落としても消えることはありません。更に、スナップショットを取ってS3にバックアップ出来るなど、データを確保したまま継続運用を行えます。またEBSは、複数のEC2インスタンスからアタッチしてマウントできるので、データの共有も行えます。

作成からアタッチまでの手順です。

1.EBS領域の作成
AWS Management Consoleの「ELASTIC BLOCK STORE」メニューの「Volumes」を選択。
そして「create volume」で必要なサイズを指定して作成します。
ただし、EC2のロケーションと同じ場所でないとアタッチ出来ないので、必ず同じロケーションを指定してください。

2.EC2へのアタッチ
ローカルマシンから以下のコマンドを打つと、アタッチされます。

# ec2-attach-volume -d /dev/sdc --region us-west-1 -i i-**** vol-****

westで使うときは、--region us-west-1の指定を忘れずに。eastがデフォルトなので、eastの場合は指定がいらないので、つい忘れてしまいますから。

i-****は接続先のEC2のインスタンスIDです。
vol-****はEBSのVolume IDです。

以下のコマンドで状態を確認してください。

# ec2-describe-volumes --region us-west-1

ステータスがattachedになっていれば完了です。

3.EC2から確認してみる
EC2にsshログインして、以下で認識されているか確認してください。

# ll /dev/sd*

先程の/dev/sdcが確認できたらOKです。

3.ファイルシステムの作成
あとは通常のLinuxの知識です。

# mkfs -t ext3 /dev/sdc
# mkdir /vol
# mount /dev/sdc /vol

もしMySQLとかのデータを本格的にこのボリュームで動かすなら、ext3よりもxfsとかの方がいいかもしれません。カーネルによるので、その辺りは調べてみても良いかもしれません。