【AWS 初心者向け】Lambda を使って CloudWatch メトリクスの見方を確認してみる

【AWS 初心者向け】Lambda を使って CloudWatch メトリクスの見方を確認してみる

CloudWatch でグラフを表示してみたものの、「この数値は何を表しているの?」「どの統計を見ればいいの?」と迷ったことはありませんか?この記事では、Lambda 関数を実際に動かしながら、CloudWatch メトリクスの基本的な見方を初心者向けに解説します。
2026.10.20

はじめに

こんにちは。クラスメソッドオペレーションズの藤瀨です。

この記事では、基本的な Amazon CloudWatch メトリクスの見方を Lambda 関数のテストを使って確認していきます。

CloudWatch は、AWS リソースやアプリケーションの状態を監視するためのサービスです。
メトリクスやログを通じて稼働状況を確認でき、AWS 環境を運用するうえで欠かせないサービスの一つと言えるでしょう。

しかし、CloudWatch でグラフを表示してみたものの、「この数値は何を表しているのか」「どの統計を見ればよいのか」と迷ってしまうことがありました。

この記事では、Lambda を実際に動かしながら、CloudWatch メトリクスの見方を整理します。操作方法だけでなく、表示されている数値をどう読み取るかに注目して確認していきます。
また、参考リンク集として主要な AWS サービスのメトリクス一覧が掲載された公式ドキュメントもまとめていますので、あわせてご活用ください。

対象読者

  • AWS を学び始め、監視の基本を知りたい方
  • CloudWatch で初めてメトリクスを確認する方
  • グラフは表示できるものの、統計や期間の意味を整理したい方

今回確認すること

今回は、次の 2 つの Lambda メトリクスを使用します。

メトリクス 確認できること 今回使用する統計
Invocations 関数コードが実行された回数 合計
Duration 関数コードがイベントを処理した時間 平均・最大

Invocations には、正常終了した実行だけでなく、関数エラーになった実行も含まれます。
Duration の単位はミリ秒で、コールドスタート時の初期化時間は含まれません。[1]

検証では、短い処理と長い処理をそれぞれ複数回実行します。その結果を使って、次の点を確認します。

  1. 実行回数を見るために、どの統計を選ぶか
  2. 同じ実行結果でも、平均と最大でどう見え方が変わるか
  3. 集計する期間を変更すると、数値がどう変わるか

検証用の Lambda 関数を準備する

今回は、指定した時間だけ待機して終了する Lambda 関数を使用します。待機時間を変えることで、処理時間の短い実行と長い実行を作り、CloudWatch 上で集計結果を比較します。

テストイベントで、短い処理の待機時間を 100 ms に、長い処理の待機時間を 1,500 ms に設定しています。
関数の設定、コード、テストイベントの詳細は、以下にまとめています。

検証用 Lambda 関数の設定・コード・テストイベント

関数の設定

項目 設定
関数名 cloudwatch-handson
ランタイム Python 3.14
メモリ 128 MB
タイムアウト 10 秒
実行方法 Lambda コンソールのテストイベント

コード

lambda_function.py に以下のコードを配置し、デプロイします。

import time

def lambda_handler(event, context):
    sleep_ms = int(event.get("sleep_ms", 100))

    if not 0 <= sleep_ms <= 2000:
        raise ValueError("sleep_ms must be between 0 and 2000")

    time.sleep(sleep_ms / 1000)

    return {"sleep_ms": sleep_ms}

テストイベント

短い処理用のイベントです。

{
  "sleep_ms": 100
}

長い処理用のイベントです。

{
  "sleep_ms": 1500
}

テストイベントを実行する

Lambda コンソールの「テスト」タブから、短い処理用と長い処理用のイベントをそれぞれ複数回実行しました。

以下では、この実行結果を使って、統計や期間による数値の違いを確認していきます。

CloudWatch で対象のメトリクスを表示する

CloudWatch コンソールで「メトリクス」→「すべてのメトリクス」を開きます。

続いて、名前空間 AWS/Lambda で「関数名別」を選び、FunctionName が cloudwatch-handson の Invocations を選択します。

なお、「関数名別」では、その関数のすべてのバージョンとエイリアスを集約したメトリクスを確認できます。

AWS/Lambda の「関数名別」から cloudwatch-handson の Invocations を選択する画面

ここで、対象を選ぶための用語を簡単に整理します。

項目 意味 今回の例
名前空間 メトリクスを分類するまとまり AWS/Lambda
メトリクス名 何を測定した値なのか Invocations
ディメンション メトリクスを識別する名前と値の組み合わせ FunctionName=cloudwatch-handson

CloudWatch のメトリクスは、名前空間・メトリクス名・ディメンションの組み合わせで識別されます。[2]

グラフを読む前に、どの対象の、何の値を選んだかを確認します。

実行回数を見る:Invocations

統計を変えて表示を比較する

まずは、統計による違いを確認するために、Invocations を次の設定で表示します。

項目 設定
統計 平均
期間 5 分
表示する時間範囲 テストを実行した時刻を含む範囲

統計は、グラフ下の「グラフ化したメトリクス」タブで変更できます。

Invocations を平均・期間 5 分で表示したグラフ

Invocations は、関数コードが実行されると 1 として記録されます。そのため、集計区間に複数回の実行が含まれていても、統計が 平均 であれば 1 になります。
ここで表示されているのは実行回数の合計ではなく、集計期間内の値の平均です。

「5 回実行したからグラフも 5 になる」とは限らず、選んだ統計によって表示される数値が変わります。

次に、同じメトリクスの統計を 合計 に変更します。期間は 5 分のままにします。
合計 は、集計期間内に含まれる値の合計です。Lambda の実行回数を確認する場合、AWS 公式ドキュメントでも 合計 を使用するよう案内されています。[1:1]

平均 を選択すると、データがある各データポイントでは 1 と表示されていましたが、合計 に変更することで、各 5 分間の集計区間における実行回数を読み取ることができました。

Invocations を合計・期間 5 分で表示したグラフ

処理時間を見る:Duration

次に、先ほどと同じ流れで Duration を選択し、確認してみます。
このグラフでは Invocations を非表示にし、Duration だけを表示して、処理時間に注目します。

同じメトリクスを複製する

平均 と 最大 を同じグラフで比較するために、以下の手順で選択した Duration を複製します。[3]

  1. 「グラフ化したメトリクス」タブを開く
  2. Duration の行の「アクション」欄で「複製」アイコン(以下の画像の赤枠)を選ぶ
  3. 1 行目の統計を 平均 にする
  4. 2 行目の統計を 最大 にする
  5. 両方の期間を 5 分にそろえる

Duration を複製し、平均と最大を期間 5 分で比較したグラフ

今回のように、短い処理・長い処理を短期間で複数回実行した場合、処理時間にばらつきがあるため、平均値と最大値は異なる値になります。
全体の処理時間の傾向を知りたいときは平均値を、その区間で最も時間がかかった処理を知りたいときは最大値を確認するというように、用途に応じて統計を使い分けたり、同時に表示して比較したりすることができます。[4]

期間を変更して、集計結果を比較する

ここまで、期間を 5 分にしてグラフを確認してきました。
期間は、グラフ上の 1 つのデータポイントを計算するための集計時間幅です。各データポイントは、その瞬間の値ではなく、対応する集計区間に含まれるサンプルを集計した結果を表します。
例えば、平均 の期間が 5 分なら、その 5 分間に含まれるサンプルの平均が表示されます。

Duration の両系列の期間を 1 分に変更してみると、以下のようになりました。

Duration の平均と最大の期間を 1 分に変更したグラフ

期間を 5 分に設定したときのグラフと比べてみると、グラフの形が全く異なることがわかります。
期間が 5 分の場合と 1 分の場合で、22:05 と表示されているデータポイントを比較すると、Maximum(最大値)は一致していますが、Average(平均値)は異なります。

期間 平均 最大
期間 5 分 約 702 ms 約 1,503 ms
期間 1 分 約 1,503 ms 約 1,503 ms

このように、期間を変更するとデータポイントに含まれる実行の範囲が変わり、グラフの形や、各データポイントの値が変わります。

おわりに

今回は、Lambda を実行しながら、CloudWatch メトリクスの統計と期間による違いを確認しました。

  • 実行回数は、Invocations の 合計 で確認する
  • 処理時間は、Duration の 平均 と 最大 を比較する
  • 期間を変更すると、一つのデータポイントに含まれる実行の範囲が変わる

メトリクスを見るときに確認したい項目

まとめとして、今回扱った CloudWatch メトリクスの項目を整理します。

確認する項目 確認したいこと
名前空間 どのサービスなどのメトリクスか
メトリクス名 何を測定した値か
ディメンション どの対象のメトリクスか
単位 回数なのか、ミリ秒なのかなど
統計 合計・平均・最大など、どう集計したか
期間 どの時間幅で集計したか

特に意識したいのは、メトリクス名が同じでも、集計方法が違えば数値の意味も変わるという点です。
グラフを表示するだけでなく、「どの対象の、何の値を、どの時間幅で、どう集計しているか」まで確認することを、今後メトリクスを見る際の習慣にしていきたいと思います。

参考リンク:主要サービスのメトリクス一覧

今回は Lambda を例に確認しましたが、参考情報として、他の主要サービスのメトリクス一覧が掲載されている公式ドキュメントを以下にまとめます(2026 年 10 月 19 日時点)。

サービス メトリクス一覧の公式ドキュメント
Amazon EC2 インスタンスに対して利用可能な CloudWatch メトリクス
Amazon RDS Amazon RDS の Amazon CloudWatch メトリクス
AWS Lambda Lambda 関数のメトリクスのタイプ
Amazon ECS Amazon ECS CloudWatch メトリクス
Application Load Balancer(ALB) Application Load Balancer の CloudWatch メトリクス
Amazon S3 メトリクスとディメンション

上記以外のサービスを含め、CloudWatch メトリクスを発行する AWS のサービスから、各サービスのメトリクスについてのドキュメントを確認することができます。

この記事がどなたかの参考になれば幸いです。
最後までお読みいただきありがとうございました!

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、 IT・AI をフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイトをぜひご覧ください。
※2026 年 1 月 アノテーション㈱から社名変更しました。

脚注
  1. Lambda のメトリクスの種類 ↩︎ ↩︎

  2. Amazon CloudWatch の概念 ↩︎

  3. メトリクスのグラフ化 ↩︎

  4. CloudWatch の統計の定義 ↩︎

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事