EBSブートなAMIイメージで、インスタンスストレージを割り当てる
通常、EBS *1 からブートするAMIイメージでインスタンスを立ち上げると、インスタンスに割り当てられたストレージ(smallの場合150GB)はデバイスとしてアタッチされていません。
せっかくEBSがメインストレージなんだからそれを増やせばいいという話もありますが、僕のような貧乏性はもったいないな〜、あればなにか使えそうなのに〜と感じていました。
というわけで前置きはこのあたりにするとして、下記のようにインスタンスを立ち上げるとストレージを割り当てることができます。
$ ec2run ami-xxxxxxxx -b /dev/sdc=ephemeral0 -k user_key -g user_group
"ami-xxxxxxxx"はEBSブートなAMIイメージです。
ログオンして覗いてみます。
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 15481840 2212052 12483356 16% / none 874032 0 874032 0% /dev/shm $ mkdir /vol $ mount /dev/sdc /vol $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 15481840 2212056 12483352 16% / none 874032 0 874032 0% /dev/shm /dev/sdc 153899044 192072 145889348 1% /vol
ちゃんと150GBのストレージが現れました♪
(ただし、通常smallのルートデバイスとなる10GBの方は割り当てることはできませんでした。)
試していませんが、largeのように複数のストレージが割り当てることができる場合には下のように-bを複数指定できるようです。
$ ec2run ami-xxxxxxxx -b /dev/sdc=ephemeral0 -b /dev/sdd=ephemeral1 -k user_key -g user_group
必要? という話はおいといても適当なテンポラリとしては十分なサイズなので、なにか使い出があるのではないでしょうか。
あとEBSはI/Oリクエストに対しても課金されます。
つまりサーバダウン等で消えちゃってもいいデータをうまく追い出すことができれば、EBSの利用料金をちょっぴりお安くすることができるかもしれません。(検証はしていませんけど)
*1:ELASTIC BLOCK STORE