amazon-ssm-agent アップデート方法
Amazon SSM Agent を手動で最新版に更新する方法
標準リポジトリで配布されている
amazon‑ssm‑agent
は、たまに 2~3 世代遅れています。
「最新版を即日入れたい」「脆弱性対応で急ぐ」という場合は RPM を直接拾ってインストール→Agent 再起動 が最短ルートです。
SSM Agent ってそもそも何?
AWS Systems Manager(SSM)の各種機能 ―― Session Manager、Run Command、Patch Manager、Inventory など ―― を EC2 やオンプレサーバー側で受け付けるデーモンが SSM Agent です。
公式に提供されている OSS で、起動中のプロセス名は amazon-ssm-agent
。Linux 版は systemd サービスとして常駐しています。
用途 | ざっくり役割 |
---|---|
リモートシェル(Session Manager) | SSH 不要で AWS コンソールからシェル接続 |
Run Command/State Manager | 一斉コマンド実行、設定ドリフト修正 |
Patch Manager | OS パッチ自動適用 |
Inventory/Compliance | ソフトウェア資産情報の収集 |
何が問題か?
Amazon Linux 2023 や Rocky Linux 9 など、標準 DNF/YUM リポジトリでは最新版がすぐには流通しません。
脆弱性修正や新機能が必要でも、
sudo dnf update -y amazon-ssm-agent --releasever=2023.7.20250414
といった「いつもの手順」では古いビルドが降ってくるケースが少なくありません。
そこで “直接インストール” 作戦
最新 RPM は リージョンごとの S3 バケット に常に置かれています。
例:us-east-2
の場合
# 1) 最新 RPM を直接取得して更新
sudo yum update -y https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/latest/linux_amd64/amazon-ssm-agent.rpm
# 2) Agent を再起動
sudo systemctl restart amazon-ssm-agent
# 3) バージョン確認
amazon-ssm-agent -version
# → SSM Agent version: 3.3.2299.0 (2025-04-21 時点)
スクリプト化(リージョン自動判定)
#!/usr/bin/env bash
set -euo pipefail
REGION=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
ARCH="linux_amd64"
URL="https://s3.${REGION}.amazonaws.com/amazon-ssm-${REGION}/latest/${ARCH}/amazon-ssm-agent.rpm"
echo "[INFO] Installing $URL"
sudo yum update -y "$URL"
sudo systemctl restart amazon-ssm-agent
amazon-ssm-agent -version
ポイント
instance‑identity
メタデータでリージョンを自動取得yum update
一発で依存関係も解決- 再起動しないと新バージョンが読まれないので忘れずに
systemctl restart
ディストリ別メモ
ディストリ | 標準パッケージ名 | 注意点 |
---|---|---|
Amazon Linux 2023 | amazon-ssm-agent が Core リポジトリにあるが更新は遅め |
dnf で除外しておくと意図せずダウングレードされない |
Rocky Linux 9 | Extras が無いので常に手動更新が安全 | yum versionlock add amazon-ssm-agent 推奨 |
Ubuntu 22.04 | snap 版もあるが RPM のほうが早く更新される |
dpkg -i で導入可能(deb ファイルは同S3にあり) |
ロールバックしたいとき
RPM は /var/cache/yum/$basearch/…
にキャッシュされるので、旧ビルドを指定してインストールし直すだけで戻せます。Agent の構成ファイルは /etc/amazon/ssm/
に残るため設定は引き継がれます。
トラブルシューティング
症状 | よくある原因 | 対処 |
---|---|---|
Exec format error |
ARM 環境に x86_64 RPM を入れた | linux_arm64 ディレクトリを指定 |
403 Forbidden |
PrivateLink 経由で S3 直アクセスを遮断 | VPC エンドポイントまたはプロキシ経由に変更 |
Status: inactive (dead) |
再起動忘れ、あるいは systemd の RestartSec が短い | sudo systemctl restart amazon-ssm-agent 再実行 |
まとめ
- SSM Agent は AWS 運用の生命線。脆弱性情報が出たら即日アップデートが理想。
- 標準リポジトリは“ややのんびり” → S3 から RPM 直取りが最短。
systemctl restart
を忘れると旧バイナリが常駐したままなので要注意。- バージョン固定したいなら
yum versionlock
/dnf mark
で自動ダウングレードを防ぐ。
これで 「最新版が無い!どうしよう……」問題 は解決です。
安全・快適な SSM ライフを! 🛠️