AWS Hands-on for Beginners 監視編をやってみた【2026年版・テンプレート修正あり】
はじめに
こんにちは!クラスメソッドオペレーションズの目取眞です。
CLF・SAA・DVA を取得してきたものの、CLF 取得以降はハンズオンをおろそかにしていました。久しぶりに手を動かしてみようと思い、AWS Hands-on for Beginners 監視編 を実施しました。
本記事では CloudWatch の概要を整理したうえで、つまずきポイントと解決策を含めたハンズオンの手順をまとめます。AWS の監視をこれから学ぶ方の参考になれば幸いです。
このハンズオンで学べること
- CloudFormation で WordPress 環境(EC2 + ALB + RDS)を構築する
- CloudWatch でメトリクスを確認する(CPU 使用率、ディスク使用率など)
- CloudWatch Logs でアプリケーションのアクセスログ・エラーログを確認する
- CloudWatch Alarms でしきい値超過時に SNS 経由でメール通知する
- CloudWatch Dashboards で監視情報を一元管理する
- CloudWatch Logs Insights でログをクエリ検索する
CloudWatch とは
CloudWatch は、AWS リソースやアプリケーションの監視を担うサービスです。「何か異常が起きていないか」をリアルタイムで把握し、問題があれば通知するという役割を担います。
主な機能は以下の 4 つです。
- メトリクス:CPU 使用率やメモリ使用率などの数値データを時系列で収集・グラフ化する
- ログ:EC2 インスタンスや Lambda 関数などのログを一元収集・保管・検索する(CloudWatch Logs)
- アラーム:メトリクスがしきい値を超えたら SNS や Lambda で通知・自動対応する
- ダッシュボード:複数のメトリクスやログを 1 画面にまとめて可視化する
1 点注意が必要なのは、EC2 インスタンスのメモリ使用率やディスク使用率はデフォルトでは収集されないという点です。これらを監視したい場合は EC2 インスタンスに CloudWatch Agent をインストールする必要があります。今回のハンズオンでは CloudFormation がこの設定も自動で行ってくれます。
ハンズオン手順
Step 1: CloudFormation で WordPress 環境を構築
まずはハンズオンで提供されている YAML テンプレートを使ってスタックを作成します。デプロイタイムラインビューで各リソースの作成状況を Gantt チャート形式で確認できます。
つまずきポイント:テンプレートがそのままでは動かない
テンプレートは 2020 年収録当時のものなので、そのまま実行すると DBInstance が CREATE_FAILED になりロールバック します。

以下の 4 点を修正する必要があります。
| 変更点 | 旧設定 | 新設定 | 理由 |
|---|---|---|---|
| RDS インスタンスクラス | db.t2.micro |
db.t3.micro |
db.t2 は廃止済み(AWS 公式ドキュメント) |
| PHP インストール方法 | amazon-linux-extras install php7.2 |
amazon-linux-extras install php8.1 |
AL2 Extras の PHP 7.x はサポート終了(AWS 公式ドキュメント) |
| IAM ポリシー | AmazonEC2RoleforSSM |
AmazonSSMManagedInstanceCore |
旧ポリシーは非推奨予定(AWS 公式ドキュメント) |
| EC2 インスタンスタイプ | t2.micro |
t3.micro |
t3 は t2 の後継世代にあたり、同等以上の性能(AWS 公式ドキュメント) |
Step 2: CloudWatch でメトリクスを確認
CloudWatch コンソールの「メトリクス」を開くと、名前空間の一覧が表示されます。

- CWAgent(78 件):CloudWatch Agent が収集したカスタムメトリクス(ディスク使用率など)
- EC2(44 件):EC2 の標準メトリクス(CPU 使用率・ネットワークなど)
- RDS(96 件):RDS のメトリクス
- ApplicationELB(77 件):ALB のメトリクス
EC2 の CPU 使用率を選択してグラフを確認してみます。

CPU 使用率は 0.75〜1.21% 程度と非常に低いことがわかります。
Step 3: CloudWatch Alarms でメール通知を設定
ディスク使用率(disk_used_percent)が 90% を超えたらメール通知するアラームを作成します。

設定内容
- 名前空間:
CWAgent - メトリクス名:
disk_used_percent - path:
/ - InstanceType:
t3.micro - 条件: 5 分以内の 1 データポイントが >= 90 の場合
SNS サブスクリプションの確認
アラーム作成後、SNS トピックへの登録確認メールが届きます。

「Confirm subscription」リンクをクリックして購読を確定させましょう。

Step 4: CloudWatch Logs でアクセスログを確認
ロググループ wordpress_access_log を開くと、2 台の EC2 インスタンスそれぞれのログストリームが確認できます。

ログストリームの中身を見ると、ELB HealthChecker からのヘルスチェックリクエストや、実際の HTTP アクセスログが確認できます。

Step 5: CloudWatch Logs Insights でログを検索
CloudWatch Logs Insights 独自のクエリ言語(パイプ "|" でコマンドをつなぐ記法)を使ってログを検索できます。

基本クエリ(全ログを新しい順に表示)
fields @timestamp, @message
| sort @timestamp desc
| limit 10000
4xx のみ抽出するクエリ
parse '* - * [*] "* * *" * * * * *' as host, identity, dateTimeString, httpVerb, url, protocol, statusCode, bytes, referrer, userAgent
| filter statusCode like /4[0-9][0-9]/
このクエリで Apache のアクセスログをパースし、4xx 系のエラーリクエストのみ絞り込めます。
Step 6: CloudWatch Dashboard で一元管理
「WordPress-dashboard」を作成し、CPU 使用率グラフとアクセスログを 1 画面にまとめます。複数のメトリクスやログを 1 か所で確認できるため、障害発生時の初動調査や日次の定点観測に特に役立ちます。担当者が変わっても同じ画面を見ながら会話できるので、チームでの運用にも向いています。

今回は以下の 3 つのウィジェットを追加しました。
- メトリクスグラフ(CPU 使用率)
- テキスト(Markdown で説明文を追加)
- ログテーブル(wordpress_access_log)
まとめ
AWS Hands-on for Beginners 監視編を 2026 年版の修正を加えながら実施しました。
テンプレートのまま実行すると RDS のデプロイでエラーになるため、本記事の修正点を参考にしていただければスムーズに進められるはずです。
CloudWatch は「メトリクスを見る」「ログを集める」「アラームで通知する」という 3 つの役割を担う監視の要となるサービスです。
AWS は概念的な部分が多く、教材や問題集だけで勉強していると理解に苦労することも多いですが、ハンズオンをすると視覚的にイメージしやすくスッと入ってきます。資格取得後も定期的に手を動かすことの大切さを改めて感じました。








