はじめに
実際のページリクエストを CloudWatch Logs で追跡し、成功と存在しないページを区別します。
先に前段のポートフォリオラボを完了してください。この環境は必要な前段機能と独自のリソースを提供します。以前のインスタンス、ファイル、認証情報ではなく知識を引き継ぎます。
認定試験との関連
| 認定 | タスク | 練習内容 |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.8 | ログでアプリケーションを観察する。 |
ラボの概要

成功リクエストを記録する
このステップでは、 ログは起きた出来事の記録です。ロググループは関連記録、ストリームはこのインスタンスの記録をまとめます。最初は演習グループが空です。
フォルダーへ移動します。
cd /home/labex/project
LOG_GROUP を読み、表示します。
source website.env
echo "$LOG_GROUP"
サイトを開いてからログを読みます。
aws logs filter-log-events --log-group-name "$LOG_GROUP"
実際の /website status=200 を確認します。200 はそのリクエストの成功です。timestamp は Unix epoch からのミリ秒、request_id は 1 リクエストの識別子です。値は環境によって異なります。
存在しないページを調べる
このステップでは、 AWS View の missing-page リンクを開きます。404 はそのパスがないという意味で、サーバー停止ではありません。
精確な status=404 の短語でログを絞ります。外側の単一引用符は内側の二重引用符を保持します。
aws logs filter-log-events --log-group-name "$LOG_GROUP" --filter-pattern '"status=404"'
メインページを開き直してから全ログを読みます。
aws logs filter-log-events --log-group-name "$LOG_GROUP"
/missing status=404 と、新しい /website status=200 を比較します。過去の 404 は消えません。

演習ログとサーバーを削除する
このステップでは、 参照ログや保存素材は残します。
インスタンス ID を表示します。
echo "$INSTANCE_ID"
指定したサーバーを終了します。
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
最終状態を待ちます。
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
指定した演習グループだけを削除します。
aws logs delete-log-group --log-group-name "$LOG_GROUP"
自分のグループは消え、参照イベント、バケット、ロールとネットワークが残ります。
まとめ
パス、HTTP 状態と request_id を対応付け、履歴を保ちながら成功したページを確認しました。
公式ドキュメント: CloudWatch Logs concepts, filter pattern syntax.



