Amazon EC2編~microインスタンスのSWAP領域について~

つい先日、AWSよりEC2リザーブドインスタンスの料金を最大27%値下げすると発表されました。
これによってコストも削減され、さらにEC2が手軽に利用できるようになりますね!

今回はそんなAmazon EC2に関することで、microインスタンスのSWAP領域についてお話したいと思います。

■SWAP領域とは?

システムの動作中に容量が不足しメモリを使い切りそうになってしまった場合、メモリから内容の一部を取り出して一時的に退避させるためのHDD上の領域になり、容量を有効活用しよう!という手段です。
Linuxでは、専用の領域としてパーティション作成時に確保します。

なお、EC2のmicroインスタンスには標準ではSWAP領域がありません。
SWAP領域が必要な場合は、設定をおこなう必要があるので、その設定方法を以下に記述しておきます。

①ddコマンドで適当なサイズのファイルを作成します。
コマンドオプションの「of」にファイルのパスを指定して「bs」に基準となる容量の単位を指定して「count」にbsの量を指定します。
②「mkswap」コマンドで、ファイルをSWAPフォーマットに変更します。
③「swapon」コマンドでSWAPファイルをシステムのSWAP領域として有効にします。
④「swapon -s」コマンドで確認すると、SWAPが組み込まれたことが分かります。

20130315_04_01.png

また、以下のように「top」コマンドで確認をしてもSWAP領域が使われていることが分かるかと思います。

20130315_04_02.png

最後に「/etc/fstab」ファイルの最終行にSWAP設定を追加します。その際は、キーボードの「Insert」キーで設定を開始します。
これで設定は完了です!

なお、設定を追加したらキーボードの「Esc」キー:を押して、「wq」コマンドを入力し設定を保存しましょう!

ただ、SWAPを利用する際には十分、注意が必要です。
SWAP領域を作成するとEBSのI/Oリクエストが頻繁におこなわれ、その都度、課金がおこなわれます。
そのため、SWAPを利用する際は一時的な利用をおすすめします。
長時間の利用をしなければならないといった場合は、一つ上のスペックのインスタンスタイプを使ってスワップしないメモリ容量を確保するようにしましょう。

なお、SWAPを無効にしたい場合は「swapoff -a」コマンドを実行すれば可能です。

いかがだったでしょうか?
SWAP領域はデメリットをしっかり確認しておけば、十分、活用することは可能です。
是非、EC2上でデータを運用する際の参考にしてください!

次回は、「Amazon EC2編~スポットインスタンスを使ってみよう!~」と題して、Amazon EC2のスポットインスタンスについてお話しますのでお楽しみに!

この記事を書いた人

aws-recipe-user