2014年4月27日

EC2 インスタンスのスワップ

c1.medium と m1.small インスタンスでは、デフォルトで 900 MB のスワップボリュームが用意されます。このボリュームはインスタンスストレージのなので、EBS のように I/O リクエストの料金を気にする必要もなく、また、インスタンスストレージとして使用できる領域とは別に用意されています。便利ですね。

インスタンスストアスワップボリューム
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreSwapVolumes


上記ドキュメント中にもありますが、「/dev/xvda3」などで使えるようです。Amazon Linux ではデフォルトで有効でしたが、RHEL では手動で設定する必要がありました。

t1.micro インスタンスにはメモリが 0.615 GB しかありませんが、インスタンスストレージも使えず、上記のスワップ領域もありません。でも、EBS をスワップに設定したら、スワップ使いまくるときに I/O 料金が恐ろしいことになりそうです。EBS の料金表を見ると、今日の時点では東京リージョンの EBS の I/O 料金は「$0.080 /100 万 I/O リクエスト」となっています。でも 100 万 I/O リクエストがどんなものか想像つかないですが、Google 先生に聞くといろいろ失敗談があります。。。

こちらにあるように「基本的には、スワップインやスワップアウトが頻繁に発生しないだけの実メモリーを搭載することが望ましいといえます。」ということで、スワップが必要になるくらいなら、m1.small に上げることを検討したほうがよさそうです。

でも、t1.micro でいろいろ事足りるシステムって意外とありそうなのですが、実際どうなのでしょう。。。?

0 コメント:

コメントを投稿