大瀧隆太(430)9999件のシェア(ちょっぴり話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。前回のブログエントリーで、「EC2のswap領域は起動時にインスタンスストア上に作るといいよ!ただしインスタンスストア既定のファイルシステムはオススメできなくて、その辺ごにょごにょ実装してね☆」という、微妙にイケてないベストプラクティスを提言してみました。「なんだよ、簡単にできるんじゃないのかよっ!」とご立腹の方もいるかもしれません。作ってみたので、使い方と仕組みをご紹介します。AMIを近日中に動作確認、aptリポジトリの作り方がわかればUbuntu(debパッケージ)向けに対応していきたいです。(t1.microにはインスタンスストアが付かないので、swapファイルがルートボリュームに作成されます)複数ボリュームを設定する場合は、ephemeral0にswapファイルが作成されます。後述の設定ファイルで変更可能です。最短で実行するべきコマンドを以下にリストします。rebootそれぞれ解説していきます。ec2-swapパッケージを提供するyumリポジトリを公開しているので、リポジトリファイル(http://repo.classmethod.info/yum/x86_64/cm-repo-release-0.1.0-1.noarch.rpm)をrpmコマンドで追加します。これでec2-swapパッケージをyumコマンドサーチできるようになるので、インストールします。トランザクションの確認を実行しています。依存性解決を終了しました。rebootなどでLinuxを再起動すると、以降毎回インスタンスのメモリサイズに合わせた/media/ephemeral0/swap.imgファイルが作成、swaponされます。設定は、/etc/sysconfig/ec2-swapにあります。インスタンスストアやスワップファイル名は、お好みで変更しましょう。注意点OSのマウント設定(/etc/fstab)に、本swap設定は載りません。swapファイルの大きさに制限されます。インスタンスストアをext4にmkfsしたあとマウントするため、インスタンスストア既定のext3に依存するような処理はエラーになるかもしれません。*2m1.smallもしくはc1.mediumの場合は元々自動で付与されるインスタンスストアスワップボリュームも追加されるため、swapサイズの合計は900MBほど推奨よりも大きくなります。仕組み/etc/rc.d/init.d/ec2-swapファイルのstart処理に全部突っ込んでいる、シェルスクリプトのみの極めてシンプルな実装です。cloud-initがマウントする前(起動順20)に、インスタンスストアをext4でmkfsしています。GitHubまとめパッケージであれば、swap導入の敷居をぐっと下げられるのではないでしょうか。apatheia.info脚注デバイス名はサービス実行時に動的に取得するため、/dev/sdb以外でも構いません。↩ext4はext3の上位互換のため、問題になることはほとんど無いと思いますが。4,303,395ゲストブロガーです。株式会社ソラコムでソリューションアーキテクトやってます。クラウドの自動化やIoT周りについての記事を書きます。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。