AMI取得時の再起動発生をログから確認する方法
こんにちは。
EC2インスタンスのAMI取得を再起動付きで実行した時に、「本当に再起動されたのか…?」と怪しんで調べた事を書いてみます。
普段AMI取得はコンソールにて行っていたのですが、CLIで実行した際に思った挙動と違いましたのでその辺りも含んでいます。
■思ったものと違った部分
ここで見ていたCloudTrailのイベント名は「CreateImage」です。
当初、イベントログで何かしら「reboot」とか入るだろうと思っていました。
コンソール操作からの再起動付きAMI取得では「noReboot」というパラメータが入っているので確認できるものの、CLI実施での取得では再起動に関するパラメータが見つけられませんでした。
また「RebootInstances」とか別のイベントも残ってなさそう。
■コンソールとCLIでのAMI取得時のCloudTrailイベントログの違い
AMI取得をコンソールとCLIで行った際、CloudTrailイベントログには以下のような違いが記録されました。
(全文は見せづらいので違いで説明します↓)
項目 | コンソールからの操作 | CLIからの操作 |
---|---|---|
ソースIPアドレス | クライアントのIPアドレス | CloudShellのIPアドレス |
ユーザーエージェント | ブラウザ情報Mozilla/5.0 (Windows ...) |
AWS CLI情報aws-cli/2.2.... |
特有のリクエストパラメータ | noReboot: false blockDeviceMapping の詳細情報 |
description パラメータ |
アクセスキーID | 一時的なアクセスキー | 別の一時的なアクセスキー |
操作の識別 | ブラウザのユーザーエージェント | CloudShell環境情報 |
共通点
- どちらも
eventName: "CreateImage"
という同じAPI呼び出し - どちらも
sessionCredentialFromConsole: "true"
が含まれている
コンソールとCLIの操作ログの主な違いは、操作元の環境情報(IPアドレス、ユーザーエージェント)と指定されるパラメータの詳細です。
コンソールではUI上で選択した設定が明示的にログに記録され、CLIでは指定したパラメータのみが記録されるようです。
■CLIでAMIを取得する時のコマンドについて
ちなみにAMI取得時に--no-reboot
オプションを指定しなければ、インスタンスは自動的に再起動されます。
# 再起動を伴うAMI取得のコマンド例
aws ec2 create-image \
--instance-id i-xxxxxxxxxxxxxxxxx \
--name "MyImage" \
--description "My server backup"
一方、以下のように--no-reboot
を指定すると、再起動されません。
# 再起動を伴わないAMI取得のコマンド例
aws ec2 create-image \
--instance-id i-xxxxxxxxxxxxxxxxx \
--name "MyImage" \
--description "My server backup" \
--no-reboot
再起動しない方がオプションというわけですね。
■再起動(事後)の確認方法
前述の通り、コンソール側でAMI取得を行なった場合は、イベント「CreateImage」に「noReboot」というパラメータが入ります。
「(例)noReboot: false」
しかし、CLI経由では確認できないので2つの確認方法があると思います。
1.OS内部のログから判断する
一番直接的な方法ではありますが…。
実際にCLI経由でAMI取得を実行したインスタンス内部ログを確認すると、確実に再起動されています。
[ec2-user@ip-xx-xx-xx-xx ~]$ last reboot
reboot system boot 6.1.xxxxxx Sun Mar 30 12:44 still running
reboot system boot 6.1.xxxxxx Sun Mar 30 12:34 - 12:43 (00:08)
reboot system boot 6.1.xxxxxx Sun Mar 30 12:18 - 12:34 (00:15)
wtmp begins Sun Mar 30 12:18:24 2025
2.CloudTrailのログに残ってない事が逆に証跡(?)
これは確認したといって良いのか分かりませんが、reboot無しはオプションなので、ログがない事が証拠とも言えるでしょう(?)
なので結論的には、OS内部のログから判断した方が分かりやすそうです。
CLIの使用頻度が少なかった自分としては、CLI実行では指定したパラメータのみが記録されるという点は学びでした。
以上です!
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。