AWS-Systems-Manager

AWS Quick Setup(Patch Manager)のアップデート方法

はじめに

こんにちは。ディーネットの牛尾です。

AWS環境を運用していると、AWSから様々な通知が届きます。
今回は、Lambda関数のPythonランタイムアップデート通知を受け取りました。

しかし、このLambda関数はAWS Quick SetupのPatch Managerによって自動生成されたリソースです。
直接Lambda関数を更新すると、Quick Setupとの間で設定の不整合が発生する可能性があります。

そこで本記事では、Quick Setup自体をアップデートすることで、
関連するすべてのリソースを包括的に更新する方法をご紹介します。


Quick Setupとは?構成の説明

AWS Quick Setupは、AWSのベストプラクティスに基づいた設定を簡単に展開できるサービスです。
今回対象となるのは「Patch Manager」の構成で、以下のようなリソースが自動的に作成・管理されています。

主要なリソース構成

1. Patch Manager設定

  • Quick Setupで作成されたパッチ管理設定
  • 定期的なパッチ適用スケジュールを管理

2. Lambda関数(2つ)

baseline-overrides-XXXX-XXXXX

  • 役割:定時処理(1時間間隔)でPatch Manager用S3バケットを管理
  • 処理内容:SSMから最新のパッチベースライン情報を取得し、S3のbaseline_overrides.jsonを更新

delete-name-tags-XXXX-XXXXX

  • 役割:CloudFormationスタック削除時のクリーンアップ処理
  • 処理内容:Quick Setupで付与されたタグを削除

3. CloudFormationスタック

  • Quick Setupが内部的に使用するインフラ管理用スタック
  • 上記Lambda関数やその他のリソースを定義

Quick Setupのアップデート実施手順

それでは実際のアップデート手順を見ていきましょう。
まずはアップデート前のLambdaを確認。

アップデート前は[Python3.9]の状態です。

1. Quick Setup管理画面へアクセス

AWSマネジメントコンソールから、[Systems Manager] > [高速セットアップ] > [Quick Setup] へ移動します。

対象のPatch Manager設定を選択します。

2. 現在のバージョン確認

アップデート可能なバージョンがある場合、通知⚠が表示されます。

現在のバージョンは[2.0]です。

3. アップデートの実行

対象を選択し[アクション] > [アップグレード]をクリックします。



4. アップデート完了確認

アップデート中・・・

完了!


[2.6]にアップデートされました。

Lambda関数のランタイムバージョンも自動的に更新されていることを確認します。


アップデート後は[Python3.11]になりました。

CloudFormationスタックも正常に更新されていることを確認します。

進行中・・・

完了!

5. 動作確認

アップデート完了後、関連リソースが正常に動作していることを確認しましょう。
問題がなければ、Quick Setupのアップデート作業は完了です。

最終更新日が最新のものになっていればOKです。


重要な注意点

Quick Setupのアップデートを実施する際、いくつか注意すべきポイントがあります。

スタック内リソースの削除に注意

Quick Setupは内部的にCloudFormationスタックを使用しています。スタック内で管理されているリソース(Lambda関数、IAMロール、S3バケットなど)が手動で削除されていると、アップデートが失敗します。

アップデート失敗時の対処法

万が一アップデートに失敗した場合、以下の対応が必要になります

  1. 現在動作中のPatch Manager設定を確認

    • 既存の設定内容(スケジュール、対象インスタンス、パッチベースラインなど)をすべて記録
  2. 新規にPatch Managerを手動で作成

    • Quick Setupを使用せず、Systems Manager Patch Managerで同等の設定を再構築
    • または、問題のあるリソースを修復後、再度Quick Setupのアップデートを試行
  3. 動作確認

    • パッチ適用スケジュールが正常に動作するか確認
    • Lambda関数のログを確認

その他の注意事項

  • アップデート中は一時的にPatch Managerの機能が停止する可能性があります
  • 本番環境で実施する場合は、メンテナンス時間帯に実施することを推奨します
  • アップデート前に現在の設定内容をスクリーンショットなどで記録しておくことをお勧めします

念のため現在動いている環境のスクリーンショットを撮影しておき、パッチマネージャーをすぐに作成できるように切戻し手順を準備してました。(成功したので使わなかった)


まとめ

AWS Quick Setupで作成されたリソースは、Quick Setup自体をアップデートすることで一括管理できます。

今回のケースでは、Lambda関数のPythonランタイムアップデート通知をきっかけに、Quick Setupのアップデートを実施しました。
個別のリソースを直接編集するのではなく、Quick Setupを通じて更新することで、設定の一貫性を保ちながら安全にアップデートを完了できました。

ただし、スタック内のリソースが削除されている場合はアップデートが失敗するため、事前確認と失敗時の対処法を把握しておくことが重要です。

AWS Quick Setupを活用することで、運用管理の手間を削減しつつ、ベストプラクティスに沿った環境を維持できます。ぜひ参考にしてみてください。


返信を残す

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

CAPTCHA