[新機能] Amazon Lightsailでストレージの追加が可能になりました
こんにちは、菊池です。
本日、Amazon Lightsailのアップデートにより、Lightsailインスタンスに追加ストレージを作成、アタッチ可能になりました。
- Introducing additional block storage for Amazon Lightsail
- Lightsail block storage | Amaozn Lightsail
これまで、Lightsailで利用可能なストレージは、インスタンスプランで決定されるデフォルトのストレージのみでした。そのため、ストレージが不足した場合にはインスタンスをスケールアップするしかなく、余計にコストが発生してしまいました。今回のアップデートにより、ストレージを柔軟に追加することが可能になります。
Lightsail ブロックストレージ
追加可能なストレージは以下のような仕様となっています。
- Availability Zone内で複製することで障害から保護、99.99%の可用性を目標に設計
- 低遅延のSSDストレージ
- 最大16TBのストレージをインスタンスあたり15までアタッチ可能
- ディスクおよびスナップショットは自動で暗号化
- 月額 $ 0.10/GB
EBSの汎用SSD(GP2)に近い印象ですね。
作成してみる
実際にストレージを作成してみました。
コンソールから
Lighsailのコンソールから試してみます。
コンソールを開いたところ、言語選択が可能になっていました!せっかくなので、日本語表示で作業します。
ホーム画面から[ストレージ]を選択します。
[ディスクの作成]を選択します。
新しいディスクの作成画面になります。ディスクの場所(リージョン/AZ)と容量の選択です。
容量は、画面の選択肢から選ぶ他、[カスタム]から任意のサイズを指定可能です。サイズによってかかるコストも表示してくれます。
名前を指定して、[作成]します。
この段階では、まだ作成されただけでインスタンスにアタッチされていません。起動中のインスタンスを指定してアタッチします。
インスタンスとパスを指定可能です。
アタッチできました。
OSから利用するためには、ファイルシステムの作成とマウントが必要です。インスタンスに接続して作業します。今回はAmazon Linuxのイメージで作業します。
デバイスが認識されているか確認します。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 20G 0 part / xvdf 202:80 0 16G 0 disk
ファイルシステムを作成しましょう。ext4を指定しています。
$ sudo mkfs -t ext4 /dev/xvdf mke2fs 1.42.12 (29-Aug-2014) Creating filesystem with 4194304 4k blocks and 1048576 inodes Filesystem UUID: 966eace7-9938-46ad-be08-5228cfca8935 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inde tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
マウントポイントを作成します。
$ sudo mkdir /data
マウントして、ストレージが利用可能になりました。
$ sudo mount /dev/xvdf /data $ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 236M 60K 236M 1% /dev tmpfs 245M 0 245M 0% /dev/shm /dev/xvda1 20G 1019M 19G 6% / /dev/xvdf 16G 44M 15G 1% /data
このままでは、再起動時にマウントが外れてしまいますので、/etc/fstab
に追記します。
$ cat /etc/fstab # LABEL=/ / ext4 defaults,noatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/xvdf /data ext4 defaults,nofail 0 2
なお、作成したストレージはスナップショットの作成も可能です。
AWS CLIで実行する
続いて、AWS CLIでもやってみます。AWS CLIを最新バージョンにアップデートして試しましょう。
create-diskでストレージを作成します。オプションで名前とAZ、容量を指定します。
$ aws lightsail create-disk --disk-name Disk-Test-100 --availability-zone ap-northeast-1a --size-in-gb 100 { "operations": [ { "status": "Started", "resourceType": "Disk", "isTerminal": false, "statusChangedAt": 1510730670.932, "location": { "availabilityZone": "ap-northeast-1a", "regionName": "ap-northeast-1" }, "operationType": "CreateDisk", "resourceName": "Disk-Test-100", "id": "994a82c6-9755-47be-8c58-xxxxxxxxxxxx", "createdAt": 1510730670.582 } ] }
get-disk
で作成したディスクを確認できます。今回は100GBで作成しましたが、"iops": 300
というパラメータが見えますね。
$ aws lightsail get-disk --disk-name Disk-Test-100 { "disk": { "name": "Disk-Test-100", "sizeInGb": 100, "resourceType": "Disk", "supportCode": "xxxxxxxxxxxx/vol-xxxxxxxxxxxxxxxx", "attachmentState": "detached", "state": "available", "iops": 300, "arn": "arn:aws:lightsail:ap-northeast-1:xxxxxxxxxxxx:Disk/392d041d-50e5-448b-ada7-51b2f4b2f89a", "isAttached": false, "isSystemDisk": false, "createdAt": 1510730670.582, "location": { "availabilityZone": "ap-northeast-1a", "regionName": "ap-northeast-1" } } }
インスタンスにattach-disk
でアタッチします。
$ aws lightsail attach-disk --disk-name Disk-Test-100 --instance-name Amazon_Linux-512MB-Tokyo-1 --disk-path /dev/xvdg { "operations": [ { "status": "Started", "resourceType": "Disk", "isTerminal": false, "operationDetails": "Amazon_Linux-512MB-Tokyo-1", "statusChangedAt": 1510732770.554, "location": { "availabilityZone": "ap-northeast-1a", "regionName": "ap-northeast-1" }, "operationType": "AttachDisk", "resourceName": "Disk-Test-100", "id": "7279beb0-4f1a-4d45-8e2d-xxxxxxxxxxxx", "createdAt": 1510732770.554 }, { "status": "Started", "resourceType": "Instance", "isTerminal": false, "operationDetails": "Disk-Test-100", "statusChangedAt": 1510732770.559, "location": { "availabilityZone": "ap-northeast-1a", "regionName": "ap-northeast-1" }, "operationType": "AttachDisk", "resourceName": "Amazon_Linux-512MB-Tokyo-1", "id": "934bc8ec-1887-4c7f-b9ea-xxxxxxxxxxxx", "createdAt": 1510732770.559 } ] }
再度、get-disk
をみると、アタッチできていることが確認できます。
$ aws lightsail get-disk --disk-name Disk-Test-100 { "disk": { "name": "Disk-Test-100", "sizeInGb": 100, "resourceType": "Disk", "supportCode": "xxxxxxxxxxxx/vol-xxxxxxxxxxxxxxxx", "attachmentState": "attached", "attachedTo": "Amazon_Linux-512MB-Tokyo-1", "state": "in-use", "iops": 300, "arn": "arn:aws:lightsail:ap-northeast-1:xxxxxxxxxxxx:Disk/392d041d-50e5-448b-ada7-xxxxxxxxxxxx", "isAttached": true, "path": "/dev/xvdg", "isSystemDisk": false, "createdAt": 1510730670.582, "location": { "availabilityZone": "ap-northeast-1a", "regionName": "ap-northeast-1" } } }
まとめ
以上です。
シンプルさが最大の特徴であるAmazon Lightsailですが、ストレージに対しては柔軟な拡張が可能になりました。CPU/メモリは低スペックで問題ないけども大きなデータを扱いたい、というケースではうれしいアップデートではないでしょうか。