カテゴリ: AWS 更新日: 2026/02/19

AWSのCloudWatchメトリクス設定とカスタムメトリクス作成方法を初心者向けに完全解説

CloudWatchメトリクスの設定とカスタムメトリクスの作成方法
CloudWatchメトリクスの設定とカスタムメトリクスの作成方法

先生と生徒の会話形式で理解しよう

生徒

「AWSを使い始めたんですが、サーバーの状態をどうやって確認すればいいのか分かりません…」

先生

「AWSではCloudWatchという監視サービスを使うと、サーバーやシステムの状態を数字で確認できます。」

生徒

「数字で確認というのは、CPUの使用率とかですか?」

先生

「その通りです。そういった情報をメトリクスと呼びます。さらに、自分でメトリクスを作ることもできますよ。」

1. CloudWatchとは何かをやさしく理解しよう

1. CloudWatchとは何かをやさしく理解しよう
1. CloudWatchとは何かをやさしく理解しよう

AWS CloudWatch(クラウドウォッチ)は、AWSが公式に提供している監視とログ管理のサービスです。EC2やRDS、LambdaなどのAWSサービスが、今どれくらい動いているか、負荷がかかっていないかを自動で記録します。

パソコンで例えると、タスクマネージャーのような存在です。CPUの使用率やメモリの状態を、数字やグラフで確認できます。AWS 監視、AWS ログ、CloudWatch 入門といった検索キーワードでよく調べられています。

2. CloudWatchメトリクスとは?読み方と意味

2. CloudWatchメトリクスとは?読み方と意味
2. CloudWatchメトリクスとは?読み方と意味

メトリクス(Metric)は「測定値」という意味の言葉です。CloudWatchメトリクスは、AWS上のサービスの状態を数値で表したものです。

代表的なメトリクスには、EC2のCPU使用率、ディスクの読み書き回数、ネットワーク通信量などがあります。CloudWatch メトリクス 設定、AWS メトリクス とは、という検索でもよく使われます。

3. 標準メトリクスで何が監視できるのか

3. 標準メトリクスで何が監視できるのか
3. 標準メトリクスで何が監視できるのか

AWSでは、何もしなくても使える「標準メトリクス」が用意されています。EC2を起動しただけで、CPU使用率やネットワーク通信量が自動的にCloudWatchに送られます。

初心者の方は、まず標準メトリクスを見るだけでも十分です。サーバーが重くなっていないか、止まりそうになっていないかを早めに気づくことができます。

4. CloudWatchメトリクスの基本的な設定手順

4. CloudWatchメトリクスの基本的な設定手順
4. CloudWatchメトリクスの基本的な設定手順

CloudWatchメトリクスは、AWSマネジメントコンソールから確認できます。特別な設定をしなくても、EC2やRDSを使っていれば自動的にデータが集まります。

設定画面では、メトリクスを選んでグラフ表示ができます。期間を1時間、1日、1週間などに切り替えることで、過去の状態も確認できます。AWS CloudWatch 設定 方法というキーワードで検索されやすいポイントです。

5. カスタムメトリクスとは何か

5. カスタムメトリクスとは何か
5. カスタムメトリクスとは何か

カスタムメトリクスとは、自分で自由に作れるメトリクスです。標準メトリクスにない情報、たとえば「ログインしたユーザー数」や「バッチ処理の成功回数」などを数値として送信できます。

AWS カスタムメトリクス 作成、CloudWatch カスタムメトリクス 使い方、という検索でよく調べられています。

6. カスタムメトリクスの作成イメージ

6. カスタムメトリクスの作成イメージ
6. カスタムメトリクスの作成イメージ

カスタムメトリクスは、「数値をCloudWatchに送る」というイメージです。プログラムやコマンドから、「今は10です」「今回は1回成功しました」といった情報を送信します。

これにより、システムの動きを数字で見える化できます。難しそうに感じますが、やっていることは数値の記録だけです。

7. AWS CLIでカスタムメトリクスを送信する例

7. AWS CLIでカスタムメトリクスを送信する例
7. AWS CLIでカスタムメトリクスを送信する例

以下は、AWS CLIを使ってカスタムメトリクスを送信する簡単な例です。AWS CLIは、コマンドでAWSを操作するためのツールです。


aws cloudwatch put-metric-data --namespace "MyApp" --metric-name "LoginCount" --value 1

このコマンドは、「MyApp」という名前空間に「LoginCount」というメトリクスを1つ送信しています。CloudWatch カスタムメトリクス CLIというキーワード対策にもなります。

8. カスタムメトリクスを使うメリット

8. カスタムメトリクスを使うメリット
8. カスタムメトリクスを使うメリット

カスタムメトリクスを使うことで、システムの異常に早く気づけます。たとえば、普段よりエラー回数が増えたときにアラームを出すことも可能です。

AWS 監視 設計、CloudWatch 活用 方法、AWS 初心者 監視、といった検索ワードを意識しておくと理解が深まります。

9. 初心者がつまずきやすいポイント

9. 初心者がつまずきやすいポイント
9. 初心者がつまずきやすいポイント

初心者の方がよくつまずくのは、「どのメトリクスを見ればいいか分からない」という点です。最初はCPU使用率やエラー数など、分かりやすいものだけで問題ありません。

CloudWatchは難しそうに見えますが、「状態を数字で見る道具」と考えると理解しやすくなります。

まとめ

まとめ
まとめ

ここまでAWS CloudWatchの基本からメトリクスの種類、そしてカスタムメトリクスの活用方法まで詳しく解説してきました。AWS運用において「監視」は、単に障害を見つけるためだけのものではありません。システムの健康状態を常に可視化し、ユーザーに安定したサービスを提供し続けるための重要な土台です。

CloudWatchを使いこなすための3つのポイント

CloudWatchを効果的に運用するために、以下の3点を意識しておくと良いでしょう。これらはAWS監視設計における基本の考え方となります。

  • まずは標準メトリクスを理解する: EC2やRDSが標準で提供するCPU使用率やディスクI/Oなどをしっかり観察しましょう。これだけで多くのトラブルを未然に防ぐことができます。
  • アラーム機能を組み合わせる: メトリクスは眺めるだけでなく、しきい値を設定して自動通知(Amazon SNSなど)する仕組みを作ることが重要です。
  • カスタムメトリクスでビジネス指標を追う: サーバーの負荷だけでなく、アプリケーション独自のデータ(注文数やエラーレートなど)を数値化することで、より高度な運用が可能になります。

Pythonを使ったカスタムメトリクス送信のサンプル

CLIだけでなく、Pythonのライブラリである「boto3」を使用して、アプリケーション内部から直接メトリクスを送信する方法も非常に一般的です。例えば、特定の処理にかかった時間を計測して送信する場合は、以下のようなコードになります。


import boto3
import time

# CloudWatchクライアントの作成
cloudwatch = boto3.client('cloudwatch', region_name='ap-northeast-1')

def send_processing_time(value):
    """
    処理時間をカスタムメトリクスとして送信する関数
    """
    try:
        response = cloudwatch.put_metric_data(
            Namespace='CustomSystemMetrics',
            MetricData=[
                {
                    'MetricName': 'ProcessingTime',
                    'Dimensions': [
                        {
                            'Name': 'ServiceName',
                            'Value': 'OrderProcessor'
                        },
                    ],
                    'Unit': 'Seconds',
                    'Value': value
                },
            ]
        )
        print("Successfully sent metric to CloudWatch")
    except Exception as e:
        print(f"Error sending metric: {e}")

# ダミーの処理時間を計測して送信
start_time = time.time()
time.sleep(2)  # 何らかの処理を想定
end_time = time.time()

processing_duration = end_time - start_time
send_processing_time(processing_duration)

このようにプログラムから数値を送ることで、特定のプログラムが「何秒かかっているか」という履歴をCloudWatchのグラフ上で確認できるようになります。AWS監視自動化や運用効率化を目指すなら、ぜひ挑戦してみたい手法です。

AWS CLIでの設定確認コマンド

送信したメトリクスが正しく登録されているか確認したいときは、以下のコマンドを使って、現在利用可能なメトリクスの一覧を取得できます。


aws cloudwatch list-metrics --namespace "CustomSystemMetrics"
{
    "Metrics": [
        {
            "Namespace": "CustomSystemMetrics",
            "MetricName": "ProcessingTime",
            "Dimensions": [
                {
                    "Name": "ServiceName",
                    "Value": "OrderProcessor"
                }
            ]
        }
    ]
}

CloudWatchは非常に多機能ですが、最初から全てを使いこなそうとする必要はありません。まずは「今、何が起きているか」を可視化することから始め、徐々にカスタムメトリクスやダッシュボードの作成、自動復旧アクションの設定などへステップアップしていきましょう。クラウド運用の醍醐味は、こうしたデータを元に改善を繰り返していくことにあります。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!CloudWatchって、ただのログ置き場だと思っていましたが、システムの心拍数や体温を測る『健康診断』みたいなものなんですね。」

先生

「素晴らしい例えですね!まさにその通りです。健康な時の数値を知っているからこそ、異常が起きた時に『いつもと違う』と気づけるわけです。」

生徒

「カスタムメトリクスの送信も、Pythonのコードで見ると意外とシンプルで驚きました。これなら自分のアプリでも、エラー回数やユーザーの滞在時間とかを記録できそうです。」

先生

「そうですね。ただ、カスタムメトリクスは送信する数や頻度によって料金が発生するので、そこだけは注意が必要です。まずは本当に必要な数値に絞って記録を始めてみましょう。」

生徒

「なるほど、コスト管理もAWS運用の大事なスキルなんですね。まずはEC2の標準メトリクスを眺めるところから始めて、徐々に自分のアプリに監視コードを組み込んでみます!」

先生

「その意気です。データを可視化すると、今まで見えなかったシステムの癖が見えてきて面白いですよ。頑張ってくださいね!」

カテゴリの一覧へ
新着記事
New1
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
New2
Direct Connect(専用線接続)
AWS Direct Connectのルーティング設計(BGP設定の基本)を初心者向けにやさしく解説
New3
S3(オブジェクトストレージ)
AWS S3のデータ保護(オブジェクトロック・WORM設定)を初心者向けにやさしく解説
New4
ファイル・ディレクトリ構造
Linuxのディレクトリ構造を徹底解説!/bin・/sbin・/usrの違いと役割を初心者向けに解明
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
シェルとターミナル基礎
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
プロセス・ジョブ管理
LinuxのプロセスID(PID)とは?仕組みと管理方法を初心者向けに徹底解説
No.4
Java&Spring記事人気No4
AWS 基本
AWSのサービスのステータス確認方法(AWS Health Dashboard)
No.5
Java&Spring記事人気No5
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
ファイル・ディレクトリ構造
Linuxの/homeディレクトリとは?役割と構造を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
シェルとターミナル基礎
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.8
Java&Spring記事人気No8
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理