SSMエージェントの自動アップデート設定

記事タイトルとURLをコピーする

EC2インスタンスの運用には、AWS Systems Manager(以下、SSM)の活用が重要です。 SSMの動作には、EC2インスタンスのOS上で amazon-ssm-agent が起動している必要があります。

amazon-ssm-agentは頻繁にアップデートされているので、各インスタンスに手動で更新を適用するのは大変な手間です。 公式ドキュメントでは、自動更新が推奨されています。

docs.aws.amazon.com

ということで、やってみましょう。

設定前の状況

AWS Systems Manager > フリートマネージャー > マネージドインスタンス

f:id:swx-watanabe:20210825094929p:plain

インスタンスごとにSSMエージェントのバージョンが確認できます。 今回の例では、3.0.161.0と2.3.1319.0となっていました。

なお、今回の設定をすると、バージョン2系は3系にアップグレードされますが、基本的に下位互換性を持つため問題は発生しません。 気になる方は念のため、SSM エージェントバージョン 3.0 - AWS Systems Managerをご確認ください。

自動アップデート設定

AWS Systems Manager > フリートマネージャー > 設定

f:id:swx-watanabe:20210825100633p:plain

SSMエージェントの自動更新 をポチッとクリックすれば終わりです。

f:id:swx-watanabe:20210825100747p:plain

こんな画面になり、

f:id:swx-watanabe:20210825100818p:plain

少し待つと、成功となります。

f:id:swx-watanabe:20210825100943p:plain

フリートマネージャーで確認すると、全て最新バージョンの3.1.192.0に上がっていました。

設定は以上です。

仕組みを少し確認

f:id:swx-watanabe:20210825101237p:plain

詳細の表示 をクリックします。

f:id:swx-watanabe:20210825101537p:plain

ステートマネージャーの画面に遷移しました。 この設定で自動アップデートがされています。 例えば、スケジュール式:rate(14 days)となっているので、14日おきに更新のチェックがされます。

f:id:swx-watanabe:20210825101943p:plain

また、全てのインスタンスがターゲットとなっています。

すべてのインスタンスを選択する

このオプションを使用して、現在の AWS アカウント および AWS リージョン のすべてのインスタンスをターゲットにします。このリクエストを実行すると、システムは現在の AWS アカウント および AWS リージョン のすべてのインスタンスで関連付けの作成を試みます。システムは、最初に関連付けを作成すると、その関連付けを実行します。この最初の実行後、システムは指定されたスケジュールに従って関連付けを実行します。新しいインスタンスを作成すると、システムは自動的に関連付けを適用し、すぐに実行した後、スケジュールに従って実行します。 ステートマネージャーの関連付けのターゲットとレート制御について - AWS Systems Manager

結局のところ、以下の動作になります。

タイミング 動作
インスタンス作成時 即座にアップデート実行
その後 14日周期でアップデート実行

必要なケースは少ないと思いますが、ステートマネージャーの設定をカスタマイズすれば、動作変更はできそうです。

まとめ

f:id:swx-watanabe:20210729191141p:plain

SSMエージェントの自動更新は有効にしておきましょう。

渡辺 信秀(記事一覧)

2017年入社 / 地味な内容を丁寧に書きたい