みなさんこんにちは。ネコが好きなマネージドサービス部の塩野です。
本番環境で少し古めのAWS Systems Managerのエージェントが問題なくアップデートできるかの検証のために、検証環境に古いバージョンのエージェントをインストールようとしたのですが、いい情報がなくて試行錯誤した記録をブログにしてみました。
今回の目的
古いバージョンのAWS Systems Managerエージェントをインストールして、システムに影響せずに更新できるかを確認する。
古いバージョンを適用するために試したこと
1.ネット検索
残念ながら、めぼしい情報は見当たりませんでした(TT)
基本的には最新版を適用するのが筋なので、そりゃそうだなぁと思います。
2.今流行りのChatGPTに聞いてみた
ふむふむ。URLが微妙におかしいものの、"latest" を適切なバージョン番号に置き換えることで対応できる可能性があると・・・
実際にできるか検証してみた
AWS Systems Manager エージェントの最新ファイルのダウンロードURLは下記を参照しました。
ダウンロードをするために参考したコマンドはこちら。若干コマンドは変更していますが、最新版のファイルをログインしているユーザーのデスクトップに保存するコマンドです。
(New-Object System.Net.WebClient).DownloadFile("https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe", [Environment]::GetFolderPath("Desktop") + "\AmazonSSMAgentSetup.exe");
対象ファイルの取得テスト
以下のコマンドを使用すると最新版のファイルが取得できますが、latestのところを指定バージョンにすることでダウンロードできる可能性があるとのことでしたので試してみました。
■ ダウンロードに使用したバージョン 2.3.1644.0 ■ ダウンロードに使用したコマンド (New-Object System.Net.WebClient).DownloadFile("https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/2.3.1644.0/windows_amd64/AmazonSSMAgentSetup.exe", [Environment]::GetFolderPath("Desktop") + "\AmazonSSMAgentSetup.exe");
結果
見た目は大丈夫そうな雰囲気です。それでは実際に削除してインストールして見ましょう。
古いバージョンに差し替え
もともとインストールされている最近のバージョンをコントロールパネルより削除します。
古いバージョンのエージェントをインストールします。
インストールは成功して古いバージョンのSystems Managerエージェントがインストールされました。
AWS マネジメントコンソールからもインベントリ情報が検知され、意図したバージョンのものが適用されていることが確認できました。
ここからが本題のバージョンアップ
それでは、こちらのインスタンスのSystems Managerエージェントをバージョンアップしてみましょう。 下記手動インストールの手順に沿って実施するなら、ファイルをダウンロードしてそのままインストールすればアップデートできそうです。
インストール
最新版のファイルがダウンロードできましたので、インストールしてみましょう。
インストール画面自体は、古いバージョンのものとパッと見変わらないように見えますが install ボタンを押してインストールして見ましょう。
特に問題なくインストールは完了しました。
インストール後の確認
インストールされているAWS Systems Managerエージェントのバージョンは最新版が適用されていることが確認できました。
特にエージェントの再起動はしなくても、AWS マネジメントコンソール上から最新版のバージョンが確認できました。
総括
基本的に機能を更新するためだけでなくセキュリティ対策のためのバージョンアップもありますので、本番環境でのバージョンダウンは実施しないでください。 とはいうものの、本番環境でバージョンを上げることによる影響を確認するために過去のバージョンをあえて適用して、影響がないことを確認することはあるかと思いますのでリスクを理解した上で必要に応じて実施頂ければと思います。
こちらの記事がどなたかの参考になれば幸いです。