【AWS】Opsworksで/var/swapfileが自動生成されてしまう問題を解決する【Chef】

awsって便利だよねー。
centos7 linuxのec2が一番好き。
理由は使い慣れてるから(笑)

AWSでの環境構築に慣れてくると
どんどん自動化、IaC(インフラストラクチャー・アズ・コード)したくなるよね。
Opsworks, Cloudformation様様だね。

今回はある程度、IaCを行っている人が出会う可能性のある問題。
Opsworksを使って環境構築をする際、swapファイルを作るのだが、別のスワップファイルが存在していてそれが1GBほど使っているのだ。

広告

Opsworksで/var/swapfileが自動生成されてしまう

メモリ状況を確認していたら、かなり逼迫していたからスワップファイルの使用状況を見てみるとあら不思議。

/var/swapfile

ってなものが1GBも使用していたとの連絡が入った。

どれどれとswapの状態を見てみると。。。

...何これ??笑

swapファイルは元々自分で設定していたのに(/swapの方)。
なぜ/var/swapfileなんてのが作られているんだ??

Opsworks Chef11.10に搭載された機能

おかしいと思って調べていたら, 出た出た。

重要

t1.micro インスタンスを更新する前に、各インスタンスに一時スワップファイル /var/swapfile があることを確認してください。Chef 0.9 スタックの t1.micro インスタンスにはスワップファイルがありません。Chef 11.4 および Chef 11.10 スタックでは、最近のバージョンのインスタンスエージェントによって、t1.micro インスタンスのスワップファイルが自動的に作成されます。ただし、この変更が導入されたのは数週間の期間であったため、2014 年 3 月 24 日頃より前に作成されたインスタンスに /var/swapfile が存在するかどうかを確認する必要があります。

スワップファイルがない t1.micro インスタンスでは、次の方法でスワップファイルを作成できます。
Chef 11.10 以降のスタックの場合、新しい t1.micro インスタンスを作成すると、スワップファイルが自動的に作成されます。

OpsworksでEc2をコントロールすると
自動的にswapfileを生成するみたい。。
自分はchef12を使っているので、自動生成の対象に成ります。

まじかよ!!
いらねぇww

自分でswapfile を作成している場合、
この機能は非常に有難くありません。笑

/var/swapfileを削除して、無効化する。

まずは、自動生成されたスワップファイルを無効化して削除します。

次に/etc/fstabを開いて編集しますお。
コメントアウトするよ。

とりあえず、これでいいけど、
どうせならchefを実行する際に自動的に削除、無効果したいね。

Chefのレシピに追記する。

CookBookに何書けばいいの??
はい。
fileとbashのブロックを呼びますよ。

 これを、該当するレシピ内に書き込めばオッケー。
簡単だね。



じゃあね〜〜〜。