AWS EC2 Amazon Linuxのセキュリティパッケージの自動更新設定について

日々更新されるセキュリティパッケージを手動であてるのは大変ですよね。そこでyum-cronを試したので、簡単に設定手順をまとめます。

yum-cronとは

yum updateを自動で定期実行してくれる技術です。

yum-cronのインストール

sudo yum install yum-cron

これで簡単に導入できます。

yum-cronの設定

デフォルトの設定ファイルを念の為バックアップします。

sudo cp /etc/yum/yum-cron.conf /etc/yum/yum-cron.conf.backup

update_cmdの箇所でアップデート対象を選択できます。下記コマンドではセキュリティー関連のパッケージのみを対象に設定しています。

sudo sed -i "s/^update_cmd.*$/update_cmd = security/g" /etc/yum/yum-cron.conf
sudo sed -i "s/^apply_updates.*$/apply_updates = yes/g" /etc/yum/yum-cron.conf

# ↑少し頑張ってsedコマンドで正規表現に該当する行を書き換えていますが、普通にviでOKです!

デフォルトだとyum upgradeが実行されますが、既存のアプリ設定などに予期せぬ不具合が起きるケースもあるので、minimalやsecurityに設定するのが安全です。

yum-cronの起動と自動起動の設定

設定ファイルの修正が完了したら、yum-cronを起動します。ついでに、サーバーの起動時に、yum-cronも自動で起動するように設定します。

# 起動
sudo systemctl start yum-cron

# 自動起動の設定
sudo systemctl enable yum-cron

# ステータスの確認
systemctl status yum-cron

yum-cron設定方法の詳細

yum-cron.confの設定パラメータについてもう少し詳細にメモを残します。

update_messages

ダウンロードまたは適用可能なパッケージがあるときにメッセージを出すかどうかを決められます。

download_updates

利用できるパッケージがあった時にそれを自動でダウンロードするかどうかを決めます。

apply_updates

利用できるパッケージがあった時にそれを自動で適用するかどうかを決めます。前提条件として、download_updatesがyesになっている必要があります。

update_cmd

アップデート対象を選択します。

update_cmd 設定項目実行されるコマンド
defaultyum upgrade
securityyum –security upgrade
security-severity:Criticalyum –sec-severity=Critical upgrade
minimalyum –bugfix update-minimal
minimal-securityyum –security update-minimal
minimal-security-severity:Critical–sec-severity=Critical update-minimal

まとめ

最近はメンテナンスを嫌うエンジニアがLambdaやFirebaseに流れがちのようです。しかしサーバーレスのサービスもそのツール自体を管理する必要があり、自由度が犠牲になるデメリットを抱えています。

サーバーのメンテナンスは大変ですが、yum-cronのようなツールや自動化などをうまく行い、効率の良い運用ができたらなと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください