AWS EBSをEC2インスタンスにアタッチして、Linuxから利用できるようにする
EBSボリュームを作成して既存のEC2インスタンスにアタッチして、Linuxから利用する方法をまとめました。
EC2インスタンスの作成
適当にスポットインスタンスを作成します。
以下の記事を参照してください。
tmnj.hatenablog.com
EBSボリュームの作成
EC2ダッシュボードで"ELASTIC BLOCK STORAGE" -> "ボリューム"を選択します。
ボリュームの作成ボタンをクリックします。
今回は、汎用SSD(GP2)で8GBほど作成します。同一のアベイラビリティゾーンのインスタンスにしかアタッチできませんので、アベイラビリティゾーンはアタッチしたいインスタンスと同じものを指定してください。
なお、EBSは別途料金がかかりますので注意してください。ボリュームタイプの説明と料金は以下に定義されています。
料金 - Amazon Elastic Block Store(EBS) | AWS
以下のようにボリュームが作成されます。Nameは後から追記できます。"available"となっているのが新しく追加したボリュームです。
EBSボリュームをEC2インスタンスにアタッチする
まず、対象のEC2インスタンスにログインしてlsblkコマンドを利用して現在のデバイスの状態を出力してみます。
[ec2-user@ip-xx-xx-xx-xx ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part /
作成したボリュームを右クリックして、ボリュームのアタッチを選択します。
既存のインスタンスを選択して"アタッチ"ボタンをクリックします。
再度、lsblkコマンドを利用してデバイスの状態を出力してみます。xvdfが追加されていることが解ります。
[ec2-user@ip-xx-xx-xx-xx2 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 8G 0 disk
LinuxでEBSボリュームを使用できるようにする
以下のURLの手順で実行します。
Amazon EBS ボリュームを使用できるようにする - Amazon Elastic Compute Cloud
今回対象となるデバイスは上記の出力から/dev/xvdfとなります。以下のコマンドを実行します。
[ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data
dataと出ると、ファイルシステムが存在していない状態です。次にファイルシステムをこのデバイスに作成します。
以下のコマンドを実行して出力を確認します。
[ec2-user@ip-xx-xx-xx-xx ~]$ sudo mkfs -t ext4 /dev/xvdf mke2fs 1.42.12 (29-Aug-2014) Creating filesystem with 2097152 4k blocks and 524288 inodes Filesystem UUID: 805da6f8-b81c-40ef-969c-910763183294 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
再度、/dev/xvdfを確認するとファイルシステムが作成されていることが解ります。
[ec2-user@ip-xx-xx-xx-xx ~]$ sudo file -s /dev/xvdf /dev/xvdf: Linux rev 1.0 ext4 filesystem data, UUID=805da6f8-b81c-40ef-969c-9107 63183294 (extents) (large files) (huge files)
ファイルシステムができたので、マウントポイントにマウントします。今回は/dataにマウントしてみます。
まず、ディレクトリを作成します。
$ sudo mkdir /data
マウントポイントにマウントします。
$ sudo mount /dev/xvdf /data
システムブート時にEBSボリュームをマウントする
/etc/fstabファイルに以下のエントリを追記します。
/dev/xvdf /data ext4 defaults,nofail 0 2