AWS
EC2
ebs

既存EC2インスタンスにEBSボリュームを追加(アタッチ)する

More than 1 year has passed since last update.


概要

既に構築済みのEC2インスタンスに新しくEBSボリュームを追加してEC2で使用できるようにします。


EBSとは

Elastic Block Storeの略

EC2への仮想外付けストレージサービス

・サイズは1GB単位で~1TBまで

・サイズ/期間/IOで課金される

詳しくは下記を参照してください

[AWSマイスターシリーズ] Elastic Block Store(EBS)



作業イメージ図

名称未設定-1.png


作業手順


EBSボリュームを作成する

1.AWS ManagementConsoleの「Services」から「EC2」を選択します。

2.左側のナビゲーションから「ELASTIC BLOCK STORE」の「Volumes」を開いて「Create Volumes」をクリックして作成ダイアログを開きます。

EC2_Management_Console.png

3.必要な項目を入力して、「Create」をクリックしてEBSを作成する

EC2_Management_Console.png

項目名
説明

VolumeType
通常は「standard」を選択。I/O性能を設定したい場合は「Provisioned IOPS」を選択。

Size
ボリュームサイズ(ストレージサイズ)を入力します。

IOPS
「Provisioned IOPS」を選択した場合のI/O性能を設定します。

Availability Zone
EBSを作成するゾーンを設定します。注意:ゾーンは追加したいEC2インスタンスと同じゾーンを指定しましょう

Snapshot
EBS作成時に元になるSnapshotを指定する場合に使用します。Snapshotの内容を使いたいけど、Snapshotとは異なるボリュームサイズにしたい時等に使用します。

4.作成したEBSが一覧に追加され、「State」が「available」になったらEBS作成完了です。

EC2_Management_Console.png


既存のEC2に作成したEBSを追加する

1.EBS一覧から追加したいEBSにチェックを入れて、「Actions」メニューまたは右クリックメニューで「Attach Volume」を選択します

EC2_Management_Console.png

2.必要な項目を入力して、「Attach」をクリックしてEC2にEBSを追加します。

EC2_Management_Console.png

項目名
説明

VolumeType
選択したEBSボリューム

Instance
EBSを追加したいEC2インスタンスを指定する。追加可能なEC2リストから選択するだけです。

Device
EC2内でのデバイス名を指定します。通常はInstanceを選択した時点で最適なデバイス名が自動で設定されます。手動で設定ももちろん可能です。

3.EBS一覧で正常に追加できたか確認する。

EC2_Management_Console.png


EBSボリュームをEC2にマウントする

追加したEBSをEC2で使用できるようにマウントします。

1.EC2へSSH接続する。



操作するEC2のOSはUbuntuですが、基本的にAmazon Linuxでも同様の操作になります。

ubuntuだと/dev/sdgは/dev/xvdgになっている。

2.現在のマウント状態を確認する(/dev/sdgはまだマウントされていない)

$ df -h

Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 8.0G 11G 43% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 816M 8.0K 816M 1% /dev
tmpfs 166M 200K 166M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 827M 0 827M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdf 20G 2.0G 17G 11% /data

3.EBSボリュームをフォーマットし、/data2にマウントします。

$ sudo su -

# mkfs -t ext4 /dev/xvdg
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=



Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

# mkdir /data2
# mount /dev/xvdg /data2
# exit

4.正常にマウントできているか確認する

$ df -h

Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 8.0G 11G 43% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 816M 8.0K 816M 1% /dev
tmpfs 166M 200K 166M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 827M 0 827M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdf 20G 2.0G 17G 11% /data
/dev/xvdg 99G 60M 94G 1% /data2

5.書き込みが正常にできるか確認する

# mkdir -p /data2/test/file/to/ 

# echo "this is text file" > /data2/test/file/to/test.txt
# cat /data2/test/file/to/test.txt
this is text file


自動マウントを設定する

このままだとEC2インスタンスをSTOP等をした際に、マウントが外れてしまうので、自動マウントするように設定しておく。

意外と忘れがち。

以下を/etc/fstabの末尾に追加する。

1.自動マウントの設定をする

/dev/xvdg /data2 ext4 defaults 1 1

2.(可能なら)自動マウントできているか確認する

EC2をAWS ConsoleからStop -> Startをして自動マウントできているか確認する