EBS スナップショットの作成時間を確認する方法 【EventBridge + CloudWatch Logs】
はじめに
こんにちは、中村です!
本記事では、EBS スナップショットの作成から完了までの時間の確認方法について検証した内容を紹介します。
前提
スナップショット作成にかかる時間は、ボリュームサイズや実使用量の影響 [1] を受けることが想定されますが、
具体的な完了時間に関する内容は AWS ドキュメント [2] の 「性能指標についてのお問い合わせ」 に該当しており、実際の環境におけるバックアップ所要時間に影響する具体的な要素や目安は、ドキュメント [1] に記載の内容以上の公開情報はないということを理解する必要があります。
[1] 増分スナップショットの作成時間に非常に時間がかかる理由を理解する | AWS re:Post
スナップショットの作成時間は、以下の要因によって異なります。
・EBS ボリュームのサイズ。
・最後のスナップショット以降に変更された、ブロックの量 (デルタ)。
・EBS のボリュームでのワークロード。
・スナップショット作成中の EBS ボリュームでのアクティブな I/O。create 呼び出しの発行時にボリューム上で入出力操作が一致している場合には、スナップショットの優先順位は低くなります。
・帯域幅はバックエンドサーバーで共有されるため、スナップショットのタイミング。
・最後にスナップショットが作成されてからの時間。
[2] 技術的なお問い合わせに関するガイドライン | AWS サポート
性能指標についてのお問い合わせ
・AWS では各サービスの性能指標についてご案内しておりません(ドキュメントで公開されているものはこの限りではありません)。
・ 「性能」の多くは、お客様の環境やワークロードに依存します。一般的にご案内できる情報を AWS が持ち得ない点をご理解ください。
・お客様ご自身の環境で実際に測定していただくことが、適切な指標になりうると考えております。実測したい環境を容易に複製し、破棄できるのがクラウドのメリットです。ご活用ください。
方法
現時点では EBS スナップショットの作成にかかる時間をマネジメントコンソールや AWS CLI にて確認する方法は提供されていません。
そのため今回ご紹介する方法は、EventBridge にてスナップショット作成に関する API イベントを検知し、出力されたログイベントのフィールド "startTime""endTime" を確認することで、スナップショット作成から完了にかかった時間を把握するという内容です。
- EventBridge ルールの作成(CloudWatch Logs ロググループの作成)
- EBS スナップショット作成
- CloudWatch Logs に出力されたログイベントで時間計測
以下、実際に検証していきます。
1. EventBridge ルールの作成(CloudWatch Logs ロググループの作成)
Amazon EventBridge のコンソール画面にて、ルールの作成を行います。
・ステップ 1:ルールの詳細を定義
ルール名などの設定と、「ルールタイプ:イベントパターンを持つルール」を選択して次に進みます。
・ステップ 2:イベントパターンを構築
イベントパターンにてカスタムパターン(JSON エディタ)を選択し、JSON 形式でスナップショット作成のイベントを検知する内容を記載します。
今回の検証で使用したイベントパターンは以下のとおりです。
{
"source": ["aws.ec2"],
"detail-type": ["EBS Snapshot Notification"],
"detail": {
"event": ["createSnapshot", "createSnapshots"],
"result": ["succeeded"]
}
}
・ステップ 3:ターゲットを選択
今回の検証では、EventBridge イベントの配信先として CloudWatch Logs を使用するため、ターゲットタイプ:AWS サービスにて CloudWatch ロググループを選択し、新規のロググループを作成します。
※EventBridge ルール作成中に CloudWatch Logs ロググループを作成する場合、AWS 側で自動的にロググループのリソースポリシーの更新を行い、EventBridge からのロググループに対するアクセスが許可されるため、新たに IAM ロールを作成する等の操作は不要となります。
(AWS CLI から EventBridge ルールを作成する場合は適切な IAM ロールの作成が必要です。)
EventBridge ルールを使用する CloudWatch ロググループを作成する|AWS re:Post
EventBridge コンソールを使用してターゲットを設定すると、EventBridge サービスではロググループのリソースポリシーが自動的に更新され、サービスからのロググループに対するアクセスが許可されるようになります。
以上の設定内容にて EventBridge ルールを作成しました。
2. スナップショット作成
今回は既存の EBS ボリュームから手動でスナップショットを作成します。
3. CloudWatch Logs に出力されたログイベントで時間計測
2.スナップショット作成 にて作成したスナップショットのステータスが「完了済み」となっていることを確認したため、EventBridge ルール作成時に作成した CloudWatch Logs にスナップショット作成に関するイベントのログが送信されているかを確認します。
実際にログストリームが 1 つ作成されていました。
作成されたログストリームを選択すると、ログイベントにて検知したスナップショット作成に関する詳細が確認できます。
今回確認したい指標は "startTime" と "endTime" であるため、その項目を確認します。
"startTime": "2025-08-18T04:37:29.977Z",
"endTime": "2025-08-18T04:38:15.319Z",
⇩ JST(日本標準時)に変換
"startTime":2025年8月18日 13時37分29秒
"endTime":2025年8月18日 13時38分15秒
ログは UTC(協定世界時)で出力されているため、上記のとおり JST(日本標準時)に変換し計算したところ、スナップショットの作成完了まで約 45 秒かかっていたことを確認できました。
まとめ
本記事では、EventBridge と CloudWatch Logs を活用してスナップショットの作成時間を確認する方法をご紹介しました。
この方法がスナップショット作成時間の可視化において、少しでもお役に立てれば幸いです。
参考資料
- Amazon EBS 用 Amazon EventBridge イベント|Amazon EBS
- 増分スナップショットの作成時間に非常に時間がかかる理由を理解する | AWS re:Post
- 技術的なお問い合わせに関するガイドライン | AWS サポート
- EventBridge を使用して AWS サービスのイベントをCloudWatch Logs に保管してみた|DevelopersIO
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。