この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。イムチェジョンです。
EC2インスタンスを使うといつかEBSボリュームが足りなくなる時が来ると思います。
そんな時にはEBSボリュームを追加する必要があるでしょう。
なので、今回のブログではEC2インスタンスにEBSボリュームを追加してみました。
アジェンダ
- EC2インスタンスとEBSボリュームを作成
- EBSボリュームをEC2インスタンスにアタッチ
- まとめ
1. EC2インスタンスとEBSボリュームを作成
EC2インスタンス作成
まず、EC2インスタンスを作成します。
以下の設定で作成します。
Amazon マシンイメージ (AMI) : Amazon Linux 2 AMI
インスタンスタイプ : t2.micro
ボリューム : default(基本)
セキュリティグループ : SSH TCP 22 マイIP
キーペア : 既存キーペア
及び新しいキーペア
の中で選択
作成したEC2インスタンスのEBSボリュームが確認されます。
インスタンスでも確認してみるとEBSボリュームが一つアタッチされています。
ボリューム名をみるとManagement Consoleで確認したデバイス名と同じです。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
EBSボリュームを作成
次にEC2に追加する新しいEBSボリュームを作成しましょう。
以下の設定で作成しました。
ボリュームタイプ:汎用 SSD (gp2)
サイズ:5GB(任意)
アベイラビリティーゾーン:(EC2のアベイラビリティーゾーンと同じゾーン)
タグ:Name - ebs_new
作成されたのを確認できます。
2. EBSボリュームをEC2インスタンスにアタッチ
EC2インスタンスにEBSボリュームをアタッチ
次に作成したEBSボリュームをEC2インスタンスに追加します。
追加するEBSボリュームを選択してアクション
>ボリュームのアタッチ
の順にクリックします。
上で作成したインスタンスを選択します。
インスタンスで確認をしてみると二つのボリュームになりました。
インスタンスにSSHで接続して確認してもボリュームは二つになりました。
$ 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 5G 0 disk
新しいパーティション作成
アタッチしたEBSボリュームに新しいパーティション作成します。
$ fdisk /dev/xvdf
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier **********.
Command (m for help): [n]
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): [p]
Partition number (1-4, default 1): [1]
First sector (2048-10485759, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759):
Command (m for help): [w]
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
デバイスを確認してみるとパーティションが作成されました。
$ 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 5G 0 disk
└─xvdf1 202:81 0 5G 0 part
EBSボリュームにファイルシステム作成
現在、コンソール上ではEBSボリュームを追加されましたが、サーバ上にはEBSボリュームが追加されてないので、マウントする必要があります。
df -h
コマンドで確認してみると/dev/xvdf1
がありません。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 464K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 1.5G 6.6G 19% /
tmpfs 99M 0 99M 0% /run/user/1000
tmpfs 99M 0 99M 0% /run/user/0
そのため、EBSボリュームにファイルシステムを作成します。
$ mkfs.xfs /dev/xvdf1
確認してみるとファイルシステムがよく作成されました。
$ file -s /dev/xvdf1
/dev/xvdf1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
EBSボリュームのマウント
最後にマウントをしましょう。
$ mkdir ebs_data
$ mount /dev/xvdf1 /ebs_data
df -h
コマンドで確認してみると/dev/xvdf1
が成功的に追加されました。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 464K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 1.5G 6.6G 19% /
tmpfs 99M 0 99M 0% /run/user/1000
tmpfs 99M 0 99M 0% /run/user/0
/dev/xvdf1 4.8G 11M 4.6G 1% /ebs_data
これで新しいEBSボリュームを使えるようになりました。
3. まとめ
今回はEC2インスタンスに新しいEBSボリュームを作成し、アタッチしてみました。