6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS SAP勉強記】Auto Scaling終了時のログ消失を防ぐ!SSM×ライフサイクルフック連携を図解

Last updated at Posted at 2026-01-21

1. はじめに

背景

皆さんこんにちは、エンジニアの弘輝です。

現在、AWSソリューションアーキテクト プロフェッショナル(SAP)の取得に向けて勉強中なのですが、Systems Manager (SSM) 関連の問題を理解するのに時間がかかりました。😑

そこで今回は、自身の整理も兼ねて、SSMの概要理解と、実際に解けなかった「ログ救出アーキテクチャ」についてまとめてみます。

この記事の目的🫡

  • 頻出サービス「Systems Manager (SSM)」の概要を改めて復習する。
  • Auto Scaling終了時にログを退避させるアーキテクチャを理解する。

2. Systems Manager (SSM) の概要

Systems Manager とは?

AWS上のEC2やオンプレミスサーバーを、一元的に管理・自動化・可視化するためのAWSのサービス群です。

SSMを使うことで、サーバーを管理するために「SSHやRDPで一台ずつログインして作業をする」という手間をなくし、「ログインせずに、API経由で、安全かつ大量のサーバーを一括操作」できるようになります。

主な機能

Systems Managerには多くの機能がありますが、代表的なものは以下の通りです。

  • 一元管理と可視化

    • EC2インスタンスだけでなく、オンプレミスサーバーも含め、複数の環境のリソースをまとめて表示・管理できます。
  • 安全なリモートアクセス

    • Session Manager(セッションマネージャー) により、SSH/RDPを使わずにブラウザから安全にCLI操作が可能です。踏み台サーバーが不要になるため、アクセス管理と監査が容易になります。
  • 運用自動化

    • パッチマネージャーでOSパッチ適用を自動化したり、オートメーション機能で定型タスク(起動・停止など)を自動実行したりできます。
  • リモートコマンド実行

    • 管理対象のインスタンスに対して、スクリプト(シェルスクリプトやPowerShell)を一括実行する機能です。SSHでログインすることなく、ログ回収や設定変更などを安全に行えます。

3. ログ救出の全体アーキテクチャ

では本題に入りましょう、こちらが私が理解できなかったアーキテクチャです。😔
要件は「EC2インスタンスのスケールイン(縮小)が発生してから、インスタンスが実際に削除されるまでの間に、ログをS3へ退避させる」ことです。

全体の流れ(シーケンス図)

Frame 2.png

各ステップの解説

ライフサイクルフックで終了処理を保留

  • インスタンスが終了処理に入る際、Terminating:Wait 状態で一時停止させます。
  • これにより、完全な削除(Terminated)までの猶予時間が確保されます。

補足:ライフサイクルフックのデフォルトタイムアウトは 1 時間で、それを過ぎるとインスタンスが終了されます。

イベント検知とLambda起動

  • EventBridgeがAuto Scalingのスケールインイベントを検知し、ターゲットであるLambdaを起動します。
  • 具体的には「終了ライフサイクルフック」(EC2 Instance-terminate Lifecycle Action)のイベントを検知します。

LambdaがSystems Manager (SSM) で命令

  • LambdaがSSMの Run Command を実行。
  • 削除待ちのEC2に対して「ログをS3へ送れ」という命令(SSMドキュメント)を実行する。

ログのアップロード

  • EC2内の SSM Agent が命令を受け取り、スクリプトを実行してログファイルをS3へ退避(アップロード)させます。

処理完了とインスタンスの終了

  • ログのコピー完了後、Lambdaから CompleteLifecycleAction を実行して「準備OK」をAuto Scalingに伝えます。
  • これを受け取ったAuto Scalingは、インスタンスを正式に終了(削除)します。

4. ⚠️注意点

この構成を実現するために、絶対に忘れてはいけないSSMの必須条件があります。

1. SSM Agent のインストールと起動

OS内で「SSM Agent」が正しくインストールされ、起動(Running)している必要があります。
(※Amazon Linuxは標準でインストールされています。)

2. IAMロールの割り当て📄

対象のEC2インスタンスに、以下2点の権限を持つIAMロールがアタッチされている必要があります。

  • SSMへのアクセス権限
  • S3へのログアップロード権限

 
これを設定することで以下のようなことを防ぐことができます。

  • SSMのコンソールにインスタンスが表示されず(マネージドインスタンスとして認識されず)、Run Commandも実行できない。
  • S3へログを保存することができない。

5.まとめ

今回はSystems Manager (SSM)の概要と、実際に模擬試験で出題された構成の解説を行いました。

問題文を初めて読んだときは複雑で理解できませんでしたが、構成図に落とし込むことで全体像が見え、スッキリと理解できました。👏

今後もSAP試験対策の中で「難しい!」と感じた問題があれば、随時アウトプットしていきます。
ぜひまた読んでいただけると幸いです。

最後まで読んでいただき、ありがとうございました。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?