🔍

AWSにおけるモニタリング

2024/07/23に公開

はじめに

本記事では、AWSが提供する主要なモニタリングサービスについてまとめています。

AWSのモニタリングについて

モニタリングが必要な理由

コンプライアンスやセキュリティが保たれた状態を維持するためには、オンプレミスシステムと同様にシステムやAWSの設定などを常時モニタリング(監視)し、問題を早期に発見・解決することが重要です。
モニタリングを怠ると、以下のような重大な問題が発生する可能性があります。

  • サーバーダウン
    業務停止に気づかず、重大な機会損失が発生する可能性
  • ストレージ容量不足
    データ書き込みができなくなるなどの障害
  • セキュリティ上の不備
    情報漏洩の可能性があり、重大な事案に発展する恐れ

等々。

また、第三者による監査が必要なシステムでは、適切な運用が行われているかを確認するため、さまざまなログや利用状況の記録の提出を求められます。そのためにも、モニタリングは必要不可欠となっています。

AWSのモニタリング

AWSのモニタリングは、オンプレミス環境とは異なる特徴があります。


AWSは、これらのモニタリングニーズに対応するために、次のような主要なサービスを提供しています。

AWSが提供する主なモニタリングサービス

Amazon CloudWatch


Amazon CloudWatchは、AWS上に構築した仮想マシンやデータベースなどのリソースや、AWSで実行されているアプリケーションをリアルタイムで監視するサービスです。

Amazon Cloud Watchのさまざまな機能についてみていきましょう。

1. 標準メトリクス (Amazon CloudWatch)

ClaudWatchは、AWSの各サービスが標準で提供するデータを標準メトリクスとして収集します。
このデータは最大15ヶ月間保存され、マネジメントコンソールを使用して、時系列グラフや最新データなど、さまざまな形式で閲覧できます。

2. カスタムメトリクス (Amazon CloudWatch)

標準メトリクスで計測できない情報については、カスタムメトリクスとして収集することができます。
このカスタムメトリクスの収集を行うものとして、CloudWatchエージェントが提供されています。
CloudWatchエージェントは、Amazon EC2やオンプレミスサーバーから詳細なメトリクスとログを収集し、CloudWatchにAPI経由でデータの書き込みを行います。

3. ログの収集 (Amazon CloudWatch)

Amazon Cloud Watchでは、ログデータを収集、保存、アクセス、分析するための機能として、Amazon CloudWatch Logsが提供されています。
ログの収集は、カスタムメトリクスと同様にCloudWatchエージェントがおこないます。

CloudWatch Logsを利用することで、ログを一元的に管理できるようになります。
通常のアプリケーションでは、ログはサーバー内に保存されるため、サーバー障害が発生した場合にログを確認できなくなるリスクがあります。
しかし、Amazon CloudWatch Logsを使用すれば、ログがAWSのマネージドサービス上に保存されるため、サーバー障害が発生しても重要なログデータへのアクセスが失われることはありません。

4. ログの検索 (Amazon CloudWatch)

Amazon CloudWatch Logsが収集したログに対しては、CloudWatch Logs Insightsで専用のクエリを用いて検索・分析を行うことができます。

5. ログの活用 (Amazon CloudWatch)

CloudWatch Logsでは、メトリクスフィルターを使用して、ログデータから特定の文字列やパターンを抽出し、カスタムメトリクスを作成することができます。
これにより、ログデータをリアルタイムで監視し、特定のイベントが発生した回数をカウントするなどの用途に利用することが可能です。

6. アラームとアクション (Amazon CloudWatch)

Amazon CloudWatch Logsのアラームは、ログデータやメトリクスに基づいて特定の条件が満たされた場合に通知やアクションを実行する機能です。
アラームからは主に次のアクションを実行することができます。

  • 通知の送信
    Amazon SNS (Simple Notification Service) を使用して、メールやSMSで通知を送信
  • EC2インスタンスの操作
    EC2インスタンスの再起動、停止、または終了を自動的に実行
  • Auto Scalingアクション
    Auto Scalingグループのインスタンス数の増減
  • Systems Managerアクション
    検知した以上をインシデントとしてAWS Systems Managerに登録
  • AWS Lambda関数の起動
    指定したAWS Lambda関数を自動的に実行

7. CloudWatch ダッシュボード (Amazon CloudWatch)

CloudWatch ダッシュボードは、AWS環境の様々な情報を一元的に表示する機能です。
メトリクス、アラームの状態、CloudWatch Logsで収集されたログデータなど、複数の情報源からのデータを単一の画面上に統合して表示することができます。

※引用: Amazon AWS Documentation 「Amazon CloudWatch ダッシュボード」https://docs.aws.amazon.com/ja_jp/parallelcluster/latest/ug/cloudwatch-dashboard-v3.html (参照2024-07-23)

ダッシュボードは高度にカスタマイズ可能で、初期状態では何も表示されません。
ユーザーは必要な情報をウィジェットとして追加し、自身のニーズに合わせたモニタリング環境を構築できます。

Amazon CloudWatchの機能まとめについては以上です。
残りの主軸なモニタリングサービスについてもみていきましょう。

AWS Config


AWS Configは、AWSリソース(EC2インスタンス、S3バケット、IAMロールなど)の設定変更を監視・記録し、セキュリティやコンプライアンスを評価するためのサービスです。
主な特徴は以下の通りです。

  • 評価ルール
    • AWS Configでは「Config Rules」と呼ばれる評価ルールの設定
    • セキュリティポリシーやコンプライアンス要件に基づいた評価
  • 修復アクション
    • 評価ルールに違反した場合、自動的に修復アクションを実行
      → これにより、非準拠のリソース設定を自動的に修正し、コンプライアンスを維持することが可能
  • タイムライン
    • AWS Configは、リソースの設定変更を時系列で記録する。タイムラインを利用することで、以下のことが可能に
      • 特定の時点でのリソースの設定状態を確認できる
      • 設定変更の履歴を追跡できる
      • 変更がいつ、誰によって行われたかを特定
      • 問題が発生した際に、どの設定変更が原因かを特定しやすくなる

これらの機能を組み合わせることで、AWS Configは継続的なコンプライアンス監視と自動修復を実現し、AWSリソースの設定を効率的に管理することができます。
(例えば、セキュリティグループの設定変更を追跡し、不適切な変更があった場合に自動的に修正するといった運用が可能になります。)

AWS CloudTrail


AWS CloudTrailは、AWSに対する操作(APIの実行)を記録するサービスです。
主な特徴は以下の通りです。

  • AWS CloudTrailの主な機能
    • AWSに対する操作(API実行)を記録するサービス
    • 幅広い操作を記録
      • マネジメントコンソールでの操作
      • コマンドラインでの操作
      • リソースが呼び出したAPI
      • アプリケーションや外部サービスが呼び出したAPI
  • 記録の範囲
    • 対応しているAWSサービスの操作を全て記録
  • ログの保持期間と特性
    • 最大90日間保持
      ※証跡を作成することで、Cloud Watch LogsやAmazon S3のストレージにログを保存できるため、90日より前のログを保持できる
    • ルートユーザー(管理者)でも削除不可なので、監査用ログとして利用可能

AWS License Manager


AWS License Managerは、保有するソフトウェア・ライセンスとその使用状況を一元的に管理するサービスです。
ライセンスルールを設定し、ライセンスの使用を自動的に制御することで、過剰購入やコンプライアンス違反のリスクを低減することができます。

まとめ

AWSクラウド環境においても、効果的なモニタリングは安全性と効率性を確保する上で必要不可欠です。
本記事で紹介した主要なモニタリングサービスを適切に活用することで、セキュリティリスクの軽減、コンプライアンスの維持、運用効率の向上が可能となります。

最後までお読みいただき、ありがとうございました。

Discussion