メインコンテンツへ移動
運用監視初級CLF-C02SAA-C03

CloudWatch サーバーレス運用監視構成

CloudFront、API Gateway、Lambda、DynamoDBをCloudWatch LogsとMetricsで確認する、MVP向けの運用監視構成です。

公開日: 2026-06-08/更新日: 2026-06-21
#CloudWatch#Logs#Metrics#Budgets#運用監視

構成図

CloudWatch サーバーレス運用監視構成の構成図

使用AWSサービス

サービス名をクリックすると、用語詳細ページで復習できます。

概要

この構成は、S3 + CloudFrontで公開した静的サイトと、API Gateway + Lambda + DynamoDBの問い合わせAPIを運用監視するための基本構成です。

個人開発のMVPでは、大規模な監視基盤を最初から作る必要はありません。しかし、最低限「サイトが表示できるか」「APIが失敗していないか」「Lambdaログにエラーがないか」「課金が増えていないか」は確認できる状態にします。

このプロジェクトでは、CloudWatch Logs、CloudWatch Metrics、AWS Budgets、GitHub Actionsログを中心に監視します。

構成図

flowchart TD
    User[ユーザー]
    CF[Amazon CloudFront]
    S3[(Amazon S3)]
    APIGW[API Gateway]
    Lambda[AWS Lambda]
    DDB[(DynamoDB)]
    CWLogs[CloudWatch Logs]
    CWMetrics[CloudWatch Metrics]
    Budget[AWS Budgets]
    GH[GitHub Actions]
    Dev[開発者]

User --> CF
CF --> S3
User --> APIGW
APIGW --> Lambda
Lambda --> DDB
Lambda --> CWLogs
CF --> CWMetrics
APIGW --> CWMetrics
Lambda --> CWMetrics
DDB --> CWMetrics
Budget -->|メール通知| Dev
GH -->|CI/CD結果| Dev
Dev --> CWLogs
Dev --> CWMetrics
```

この構成で実現できること

項目内容
サイト監視CloudFrontの4xx、5xx、リクエスト数を確認できる
API監視API Gatewayの4xx、5xx、Latencyを確認できる
Lambda監視Invocations、Errors、Duration、Throttlesを確認できる
DB監視DynamoDBの書き込み、スロットリング、ItemCountを確認できる
ログ調査CloudWatch LogsでLambdaの処理結果を確認できる
課金監視AWS Budgetsで想定外の課金増加に気づける
デプロイ監視GitHub ActionsログでCI/CD失敗を確認できる

使用AWSサービス

サービス役割
Amazon CloudWatch LogsLambdaログの保存と確認
Amazon CloudWatch MetricsCloudFront、API Gateway、Lambda、DynamoDBのメトリクス確認
AWS Budgets月額費用と予測超過の通知
Amazon CloudFront静的サイト配信の入口
API Gateway問い合わせAPIの入口
AWS Lambda問い合わせ保存処理
Amazon DynamoDB問い合わせデータ保存
GitHub ActionsCI/CD実行結果の確認

通信フロー

  1. ユーザーがCloudFront経由でサイトへアクセスする
  2. CloudFrontメトリクスにリクエスト数やエラー率が記録される
  3. ユーザーが問い合わせフォームを送信する
  4. API GatewayがLambdaを呼び出す
  5. LambdaがDynamoDBへ問い合わせデータを保存する
  6. LambdaがCloudWatch Logsへ最小限のログを出力する
  7. CloudWatch MetricsでAPI、Lambda、DynamoDBの状態を確認する
  8. AWS Budgetsが費用超過をメール通知する
  9. GitHub Actionsでデプロイ失敗を確認する

設計ポイント

可用性

MVP段階ではCloudWatch Alarmを大量に作るのではなく、重要箇所を手動確認できる状態にします。

アクセスが増えたら、Lambda Errors、API Gateway 5xx、CloudFront 5xxにCloudWatch Alarmを追加します。

セキュリティ

CloudWatch Logsにメールアドレス全文や問い合わせ本文全文を出力しません。

ログには、requestIdstatuserrorCodevalidationErrorFields のような調査に必要な情報だけを出します。

コスト

CloudWatch Logsは保存期間を設定します。

MVPではログを無期限保存にしません。例えば7日または14日に設定し、ログ肥大化による課金を避けます。

CloudWatch DashboardやSyntheticsは便利ですが、MVPでは必須にしません。

パフォーマンス

Lambda DurationやAPI Gateway Latencyを見ることで、問い合わせAPIの遅延を検知できます。

DynamoDBのスロットリングが出ている場合は、アクセス急増や設計ミスを疑います。

SAA試験で問われるポイント

  • 運用監視にはCloudWatch LogsとCloudWatch Metricsを使う
  • LambdaのErrors、Duration、Throttlesは重要な確認対象になる
  • API Gatewayの4xxと5xxは原因が異なる
  • DynamoDBのスロットリングはキャパシティやアクセスパターンを見直すサインになる
  • 課金事故対策としてAWS Budgetsを設定する
  • ログに個人情報や秘密情報を出さない設計が必要になる

この構成の注意点

  • CloudWatch Logsを無期限保存にしない
  • 問い合わせ本文やメールアドレス全文をログ出力しない
  • メトリクスを見るだけでは原因までは分からないため、ログと直近デプロイを合わせて確認する
  • 4xxはユーザー入力ミスやCORS設定、5xxはLambdaやDynamoDB側の問題を疑う
  • Budgets通知が来たら、Cost Explorerでサービス別費用を確認する

関連用語

関連比較

まとめ

CloudWatchを中心にした運用監視構成は、AWS上で公開したポートフォリオを安全に運用するための最低ラインです。

SAAでは「ログ」「メトリクス」「アラーム」「課金監視」を分けて理解する必要があります。このプロジェクトでは、まずCloudWatch Logs、CloudWatch Metrics、AWS Budgetsを使って小さく運用監視を始めます。

他のAWS構成図も確認する

SAA対策では、AWSサービスを単体ではなく構成パターンとして理解することが重要です。

構成図一覧へ戻る

関連構成図