既に構築済みのEC2インスタンスに新しくEBSボリュームを追加してEC2で使用できるようにします。
EBSとは
Elastic Block Storeの略
EC2への仮想外付けストレージサービス
・サイズは1GB単位で~1TBまで
・サイズ/期間/IOで課金される詳しくは下記を参照してください
[AWSマイスターシリーズ] Elastic Block Store(EBS)
EBS란 Elastic Block Store의 약자로 일종의 하드디스크라고 생각하면 된다. EBS의 특징은 아래와 같다.
EBS로 생성한 (말하자면) 디스크 하나 하나를 볼륨이라고 부른다.
EBS를 생성하고 이것은 인스턴스에 붙이는 방법에 대해서 알아보자.
사이드 바에서 ELASTIC BLOCK STORE 하위의 Volumes를 선택한다.

상단의 Create Volume를 클릭한다.

EBS 설정화면에 설정 값을 입력한다.

생성한 EBS를 EC2 인스턴스에 붙이기 위해서는 EBS 볼륨에 마우스 커서를 올려놓고 오른쪽 클릭을 한다. 이때 볼륨의 상태(State)가 Avaliable인 것만 EBS 인스턴스에 붙일 수 있다. in-use는 이미 사용중이라는 의미다. 또 볼륨과 인스턴스는 같은 가용성 존에 위치하고 있어야 한다. 아래는 Attach Volume를 선택한 결과다.

콘솔의 사이드 바에서 인스턴스를 선택해서 인스턴스 리스트 화면으로 이동한다. EBS를 붙인 인스턴스를 선택하면 인스턴스에 대한 디테일에 방금 추가한 볼륨의 이름이 아래와 같이 있는지 확인한다.

터미널을 이용해서 인스턴스에 접속한다. 인스턴스에 접근하는 방법은 이전 수업 '인스턴스 생성'을 참고 한다.
터미널에서 아래와 같이 입력한다. sdf는 위에서 확인한 Block Devices의 이름으로 변경해야 한다.
1 | sudo mkfs.ext4 /dev/sdf |
아래와 같은 결과가 출력된다면 리눅스 커널에서 디바이스의 이름을 xvdf~xvdp로 변경했기 때문일 수 있다. 이런 경우 이름을 직접 찾아야 한다.

아래와 같이 명령을 입력한다.
1 | df; |

필자의 인스턴스는 위와 같이 출력된다. 붉은 색으로 강조한 표시는 /dev/xvda1이 이미 사용중이라는 뜻이다. 그럼 xvd로 시작하는 디바이스 중에 최근에 추가된 것이 우리가 찾고 있는 디바이스라고 추론 할 수 있을 것이다. 아래와 같이 입력한다.
1 | ls -al /dev/xvd* |

추가 된 디바이스의 이름이 /dev/xvdf 라는 것을 알아냈다. 이제 포멧을 다시 시도해보자.
1 | sudo mkfs.ext4 /dev/xvdf |

마운트한 볼륨을 추가할 디렉토리를 생성한다. files라는 이름을 사용하고 싶다면 아래와 같이 한다.
1 | sudo mkdir /files; |
/files 디렉토리에 볼륨을 마운트하자.
1 | sudo mount /dev/xvdf /files; |
df 명령을 입력해서 아래와 같이 디바이스가 추가된 것을 확인한다.

장치를 제거한다. (마운트를 해제한다)
1 | sudo umount /dev/xvdf; |
EBS 볼륨 목록에서 해당 볼륨을 선택하고 Detach Volume를 선택한다.

이 과정을 반복하면 EBS 볼륨을 다른 EC2 인스턴스에 붙일 수 있다.
既に構築済みのEC2インスタンスに新しくEBSボリュームを追加してEC2で使用できるようにします。
EBSとは
Elastic Block Storeの略
EC2への仮想外付けストレージサービス
・サイズは1GB単位で~1TBまで
・サイズ/期間/IOで課金される詳しくは下記を参照してください
[AWSマイスターシリーズ] Elastic Block Store(EBS)
1.AWS ManagementConsoleの「Services」から「EC2」を選択します。
2.左側のナビゲーションから「ELASTIC BLOCK STORE」の「Volumes」を開いて「Create Volumes」をクリックして作成ダイアログを開きます。
3.必要な項目を入力して、「Create」をクリックしてEBSを作成する
| 項目名 | 説明 |
|---|---|
| VolumeType | 通常は「standard」を選択。I/O性能を設定したい場合は「Provisioned IOPS」を選択。 |
| Size | ボリュームサイズ(ストレージサイズ)を入力します。 |
| IOPS | 「Provisioned IOPS」を選択した場合のI/O性能を設定します。 |
| Availability Zone | EBSを作成するゾーンを設定します。注意:ゾーンは追加したいEC2インスタンスと同じゾーンを指定しましょう |
| Snapshot | EBS作成時に元になるSnapshotを指定する場合に使用します。Snapshotの内容を使いたいけど、Snapshotとは異なるボリュームサイズにしたい時等に使用します。 |
追加した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をして自動マウントできているか確認する