1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS と GCP の監視・運用サービスを比較してみた(CloudWatch / Cloud Monitoring ほか)

GCP×AWS 比較シリーズ第10弾(最終回)。今回は 監視・運用(オブザーバビリティ) を俯瞰する。

AWS は CloudWatch がメトリクス・ログ・アラートを一手に担う のに対し、GCP は Cloud Operations(旧 Stackdriver) という傘の下に Monitoring / Logging / Trace… と機能が分かれている。この構成差を軸に整理する。


1. 全体マップ(用語対応)

役割 AWS GCP(Cloud Operations)
メトリクス・監視 CloudWatch(Metrics / Alarms) Cloud Monitoring
ログ収集・検索 CloudWatch Logs Cloud Logging
分散トレース X-Ray Cloud Trace
エラー集約 (CloudWatch + 自前) Error Reporting
プロファイリング CodeGuru Profiler Cloud Profiler
監査ログ(操作履歴) CloudTrail Cloud Audit Logs
構成変更の追跡 AWS Config Asset Inventory(資産/変更履歴)
ダッシュボード CloudWatch Dashboards Monitoring Dashboards
アラート通知 CloudWatch Alarms + SNS Alerting Policy + 通知チャネル
稼働監視(外形) CloudWatch Synthetics Uptime Checks

構成差:AWS は CloudWatch にメトリクス+ログ+アラートが集約。GCP は Monitoring(メトリクス・アラート)と Logging(ログ)が別サービスとして明確に分かれている。


2. メトリクス・監視:CloudWatch ↔ Cloud Monitoring

観点 AWS CloudWatch GCP Cloud Monitoring
標準メトリクス 各サービスが自動送信 各サービスが自動送信
カスタムメトリクス PutMetricData カスタム指標 / OpenTelemetry
アラート Alarm(しきい値)→ SNS Alerting Policy → 通知チャネル
通知先 SNS(メール/Lambda/SQS等) Email / Slack / PagerDuty / Pub/Sub / Webhook
ダッシュボード CloudWatch Dashboards Monitoring Dashboards
外形監視 Synthetics Uptime Checks
横断監視 クロスアカウント可 Metrics Scope(複数プロジェクトを1か所で監視)

GCP は複数プロジェクトを Metrics Scope で束ねて1ダッシュボードで見られる。マルチプロジェクト構成([階層編]参照)と相性が良い。

# GCP:稼働監視(Uptime Check)やアラートは主にコンソール/IaCで作る。
# 通知チャネルの一覧確認など
gcloud alpha monitoring channels list
gcloud monitoring dashboards list

3. ログ:CloudWatch Logs ↔ Cloud Logging

観点 AWS CloudWatch Logs GCP Cloud Logging
収集 ロググループ / ログストリーム ログバケット(_Default / _Required)
クエリ Logs Insights(独自構文) Logging クエリ言語(フィルタ式)
自動収集 エージェント / Lambdaは自動 GCP内サービスは自動でLoggingに集約
転送(連携) サブスクリプションフィルタ → Kinesis等 ログシンク(Sink) → GCS / BigQuery / Pub/Sub
長期分析 S3エクスポート → Athena BigQueryへSinkして直接SQL分析
保持期間 ロググループ単位 バケット単位

GCP の強みは ログシンク:ログをそのまま BigQuery に流して SQL 分析したり、GCS に長期保管したり、Pub/Sub で外部連携したりがルール1つで組める。AWS の「サブスクリプションフィルタ→Kinesis→…」より素直。

# GCP:ログを読む(gcloud logging read)
gcloud logging read 'resource.type="cloud_run_revision" severity>=ERROR' \
  --limit=20 --format=json

# ログをBigQueryへ流すSinkを作成
gcloud logging sinks create my-sink \
  bigquery.googleapis.com/projects/MY_PROJECT/datasets/logs_dataset \
  --log-filter='severity>=WARNING'
# AWS:Logs Insights でクエリ
aws logs start-query \
  --log-group-name /aws/lambda/my-fn \
  --start-time ... --end-time ... \
  --query-string 'fields @timestamp, @message | filter @message like /ERROR/'

4. 監査ログ:CloudTrail ↔ Cloud Audit Logs

「誰が・いつ・何のAPIを叩いたか」の記録。セキュリティ/コンプラの要。

観点 AWS CloudTrail GCP Cloud Audit Logs
何を記録 API操作履歴 API操作履歴
種別 管理イベント / データイベント 管理アクティビティ / データアクセス / システムイベント / ポリシー拒否
デフォルト 管理イベントは記録 管理アクティビティは常時ON(無効化不可)
データアクセス 明示的に有効化(課金) 明示的に有効化(量が多く課金対象)
保存先 S3 + CloudTrail Lake Cloud Logging(=Loggingの一部として扱う)

大きな違い:GCP の監査ログは Cloud Logging の中にある(別サービスではない)。だから前述の Sink で BigQuery に流して監査分析、がそのまま使える。
共通点:データアクセスログは量・コストが大きいので、必要なリソースだけ有効化するのが定石。


5. トレース・プロファイル・エラー

役割 AWS GCP
分散トレース X-Ray Cloud Trace
エラー集約・通知 (自前 / DevOps Guru) Error Reporting(例外を自動グルーピング)
CPU/メモリ profiling CodeGuru Profiler Cloud Profiler
計測の標準 OpenTelemetry対応 OpenTelemetry(推奨経路)

どちらも OpenTelemetry で計装するのが今の標準。アプリ側を OTel で書いておけば、バックエンドを X-Ray / Cloud Trace どちらにも向けやすい(マルチクラウド移行性◎)。


6. 構成・資産の管理

役割 AWS GCP
構成変更の追跡 AWS Config(リソース構成の履歴・ルール準拠) Cloud Asset Inventory(資産の一覧・変更履歴・エクスポート)
準拠ルール Config Rules 組織ポリシー([IAM編]参照)/ Security Health Analytics
IaC CloudFormation / CDK Deployment Manager / (実務はTerraform主流)

実務では GCP・AWS とも Terraform で書くことが多い。GCP純正の Deployment Manager より Terraform が一般的。


7. 監視設計の基本フロー(共通)

  1. メトリクスでしきい値監視 → アラート → Slack/PagerDuty等へ通知
  2. ログを集約 → Sink/Export で BigQuery/S3 に流して長期分析
  3. トレースで遅延・ボトルネックを特定
  4. 監査ログでセキュリティ・コンプラ対応

8. まとめ

役割 AWS GCP 覚え方
メトリクス/アラート CloudWatch Cloud Monitoring GCPはMetrics Scopeで複数PJ横断
ログ CloudWatch Logs Cloud Logging SinkでBigQuery直結分析が強い
監査 CloudTrail Cloud Audit Logs GCPはLoggingの一部・管理ログは常時ON
トレース X-Ray Cloud Trace どちらもOpenTelemetry
エラー集約 (自前) Error Reporting GCPは標準で例外グルーピング
構成管理 AWS Config Asset Inventory IaCは両方Terraformが主流

3行まとめ

  1. AWS は CloudWatch にメトリクス+ログ+アラートが集約、GCP は Monitoring と Logging が別サービス。
  2. GCP の ログシンク → BigQuery 直結分析 と 監査ログがLoggingの一部 が効きどころ。
  3. トレースは両方 OpenTelemetry が標準。計装をOTelで書けばマルチクラウド移行性が上がる。

シリーズ一覧(完)

これで GCP×AWS 比較シリーズは全10記事。

  1. [GCP のリソース階層を AWS と比較する(Organization / Folder / Project 編)]
  2. [GCP と AWS で比較する IAM とポリシー継承の仕組み]
  3. [GCP CLI を AWS CLI と比較する(gcloud / gsutil / bq 編)]
  4. [GCP の API 管理サービスを AWS API Gateway と比較する]
  5. [Cloud Run と AWS Fargate を比較する(コンテナ実行基盤編)]
  6. [AWS と GCP の主要コンピューティングサービスを比較してみた]
  7. [AWS と GCP の主要ストレージサービスを比較してみた]
  8. [AWS と GCP の主要データベースサービスを比較してみた]
  9. [AWS と GCP の主要ネットワークサービスを比較してみた]
  10. [AWS と GCP の監視・運用サービスを比較してみた](本記事)
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?