[新機能] Amazon Lightsailでストレージの追加が可能になりました

こんにちは、菊池です。

本日、Amazon Lightsailのアップデートにより、Lightsailインスタンスに追加ストレージを作成、アタッチ可能になりました。

これまで、Lightsailで利用可能なストレージは、インスタンスプランで決定されるデフォルトのストレージのみでした。そのため、ストレージが不足した場合にはインスタンスをスケールアップするしかなく、余計にコストが発生してしまいました。今回のアップデートにより、ストレージを柔軟に追加することが可能になります。

Lightsail ブロックストレージ

追加可能なストレージは以下のような仕様となっています。

  • Availability Zone内で複製することで障害から保護、99.99%の可用性を目標に設計
  • 低遅延のSSDストレージ
  • 最大16TBのストレージをインスタンスあたり15までアタッチ可能
  • ディスクおよびスナップショットは自動で暗号化
  • 月額 $ 0.10/GB

EBSの汎用SSD(GP2)に近い印象ですね。

作成してみる

実際にストレージを作成してみました。

コンソールから

Lighsailのコンソールから試してみます。

コンソールを開いたところ、言語選択が可能になっていました!せっかくなので、日本語表示で作業します。

ls-storage-001

ホーム画面から[ストレージ]を選択します。

ls-storage-002

[ディスクの作成]を選択します。

ls-storage-003

新しいディスクの作成画面になります。ディスクの場所(リージョン/AZ)と容量の選択です。

ls-storage-004

容量は、画面の選択肢から選ぶ他、[カスタム]から任意のサイズを指定可能です。サイズによってかかるコストも表示してくれます。

ls-storage-005

名前を指定して、[作成]します。

ls-storage-006

この段階では、まだ作成されただけでインスタンスにアタッチされていません。起動中のインスタンスを指定してアタッチします。

ls-storage-007

インスタンスとパスを指定可能です。

ls-storage-008

アタッチできました。

ls-storage-009

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

なお、作成したストレージはスナップショットの作成も可能です。

ls-storage-010

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/メモリは低スペックで問題ないけども大きなデータを扱いたい、というケースではうれしいアップデートではないでしょうか。