😁

AWSの監視サービス群の全体像を理解する

に公開

はじめに

システムをAWS上で効果的に運用する上で、監視は欠かせない要素です。しかし、「監視」と一口に言っても、AWSには多種多様なサービスが存在し、それぞれ異なる役割を持っています。
本記事では、これらのサービスを「AWSサービスを監視対象としたサービス」と「システムを対象とした監視サービス」の二つに大別し、それぞれの役割と主要なサービスについて、具体的な活用例を交えながら解説していきます。

AWSサービスを監視対象としたサービス

AWSアカウントやインフラレベルでの変更、セキュリティイベントなどを監視するサービス群です。

  • AWS CloudTrail

    • AWSアカウント内のすべてのアクション(API呼び出し)を記録するサービスです。
      • 役割:
        • 誰が、いつ、何を、どこから操作したかの監査証跡を残す
        • セキュリティインシデント発生時の原因特定
        • コンプライアンス要件への対応
    • 主要な機能:
      • イベント履歴の確認
      • S3へのログ出力、CloudWatch Logsとの連携
      • 証跡(Trail)の設定
    • 活用例: 意図しないリソース削除の検知、不正アクセスの調査
  • AWS Config

    • AWSリソースの設定変更を記録・評価し、設定が望ましい状態から逸脱していないかを監視するサービスです。
    • 役割:
      • リソースの設定変更履歴のトラッキング
      • 設定のコンプライアンスチェック(AWS Config Rules)
      • 設定の自動修復(Systems Manager Automationとの連携)
    • 主要な機能:
      • リソースのタイムライン表示
      • コンプライアンスルールの作成と適用
      • ドリフト検出
    • 活用例: セキュリティグループの意図しない開放検知、S3バケットのパブリックアクセス設定監視
  • AWS Security Hub

    • AWSアカウント全体のセキュリティ状態を包括的に可視化し、セキュリティアラートを一元的に集約・管理するサービスです。
    • 役割:
      • 複数のAWSサービス(GuardDuty, Macie, Inspectorなど)からのセキュリティ findings の集約
      • 業界標準(CIS AWS Foundations Benchmarkなど)に沿った自動セキュリティチェック
      • セキュリティ状況のダッシュボード表示
    • 主要な機能:
      • セキュリティスコアの表示
      • findings の優先順位付けと管理
      • 自動修復アクションのトリガー
    • 活用例: 複数のセキュリティアラートをまとめて確認、全体的なセキュリティレベルの把握
  • Amazon GuardDuty

    • 悪意のあるアクティビティや不正な動作を継続的に監視し、脅威を検出するインテリジェントな脅威検出サービスです。
    • 役割:
      • 異常なAPIコール、ポートスキャン、不正アクセス試行などの検出
      • 機械学習と脅威インテリジェンスを活用した検出
    • 主要な機能:
      • 脅威の自動検出とアラート
      • VPC Flow Logs, CloudTrail イベント、DNSクエリログなどの分析
    • 活用例: 認証情報漏洩の兆候検知、EC2インスタンスでのマルウェア活動検知

システムを対象とした監視サービス

EC2インスタンス、Lambda、データベース、アプリケーションログなど、個々のシステムコンポーネントやアプリケーションのパフォーマンス、可用性、エラーなどを監視するサービス群です。

  • Amazon CloudWatch

    • AWSリソースやオンプレミスアプリケーションの監視、ログ記録、イベント処理を行う包括的なサービスです。
    • 役割:
      • メトリクス収集と可視化
      • ログの集中管理と分析
      • イベントに応じたアクションの自動化
  • CloudWatch Metrics

    • AWSリソースから数値データを収集し、グラフ化、アラーム設定を行います。
    • 役割:
      • CPU使用率、ネットワークI/O、ディスクI/O、データベース接続数などのパフォーマンス監視
    • 主要な機能:
      • 標準メトリクス(EC2, RDSなど)
      • カスタムメトリクス
      • ダッシュボード作成
      • アラーム設定と通知(SNS連携)
    • 活用例:
      • WebサーバーのCPU負荷上昇検知、DBのスループット監視
  • CloudWatch Logs

    • ログデータを集約、保存、検索、分析するサービスです。
    • 役割:
      • EC2、Lambda、VPC Flow Logsなど、多様なログの一元管理
      • ログイベントのフィルタリングと検索
      • メトリクスフィルターによる特定のログパターンからのメトリクス生成
    • 主要な機能:
      • ロググループ、ログストリーム
      • Logs Insightsによるログ分析
      • メトリクスフィルターとアラーム
    • 活用例: アプリケーションのエラーログ監視、特定のキーワードを含むログの検索
  • CloudWatch Events / EventBridge

    • AWSリソースの変更やカスタムイベントに応答してアクションを自動化するサービスです。EventBridgeはCloudWatch Eventsの拡張版です。
    • 役割:
      • cronのような定期実行スケジューリング
      • AWSサービスのイベント(EC2起動、S3オブジェクト作成など)に応じた処理
      • カスタムイベントの作成とルーティング
    • 主要な機能:
      • イベントパターン
      • ターゲット(Lambda、SNS、SQSなど)
    • 活用例: 特定のログが出力されたらLambda関数を起動、毎朝EC2インスタンスの起動状況をチェック
  • AWS X-Ray

    • 分散アプリケーションの要求をトレースし、パフォーマンスの問題やエラーを特定するサービスです。
    • 役割:
      • マイクロサービスアーキテクチャやサーバーレスアプリケーションのボトルネック特定
      • リクエストのライフサイクルの可視化
      • エラーやレイテンシの原因分析
    • 主要な機能:
      • サービスマップ
      • トレース詳細
      • セグメント、サブセグメント
    • 活用例: API GatewayからLambda、DynamoDBに至るまでの一連の処理のパフォーマンスボトルネック調査

まとめ

AWSの監視サービスは多岐にわたりますが、「AWSサービスを監視対象としたサービス」と「システムを対象とした監視サービス」という二つの視点で捉えることで整理できます。
これらのサービスを要件に応じて適切に組み合わせることで、多角的な監視体制を構築し、AWS環境におけるシステムの信頼性を保つこと可能となります。

Discussion