Amazon CloudWatch
1. サービス概要¶
Amazon CloudWatch は、AWS クラウド環境およびオンプレミス環境のリソースとアプリケーションを監視するためのサービスである。
ユーザーは、メトリクス、ログ、イベントを収集、分析し、システム全体のパフォーマンスや状態を把握できる。
CloudWatch は、監視、アラート、ログ管理を一元的に提供し、アプリケーションの可用性、パフォーマンス、セキュリティを向上させるのに役立つ。
主なユースケースとして、
- アプリケーションのパフォーマンス監視
- インフラストラクチャの監視
- ログ分析
- 異常検知
- アラート通知
- カスタムメトリクスの作成など
が挙げられる。
Amazon CloudWatch は、これらのユースケースに対応するための様々な機能と、AWS の他のサービスとの統合を提供する。
2. 主な特徴と機能¶
2.1 メトリクスの収集と監視¶
CloudWatch は、CPU 使用率、メモリ使用量、ディスク I/O、ネットワークトラフィックなど、様々な AWS リソースのメトリクスを自動的に収集する。
ユーザーは、これらのメトリクスを監視し、パフォーマンスの異常やトレンドを把握できる。
2.2 カスタムメトリクス¶
アプリケーション独自のメトリクスを CloudWatch に送信し、監視できる。
これにより、アプリケーション固有のパフォーマンス指標を追跡できる。
2.3 ログの収集と分析¶
CloudWatch Logs は、アプリケーションログ、システムログ、AWS サービスログなどを収集し、保存、分析する。
ユーザーは、ログデータを検索し、フィルターし、メトリクスとして可視化できる。
2.4 アラーム¶
メトリクスが設定されたしきい値を超えた場合に、アラームをトリガーできる。
アラームは、SNS 通知、Auto Scaling アクション、EC2 アクションなどの様々なアクションを実行できる。
2.5 ダッシュボード¶
メトリクスやログを可視化するカスタマイズ可能なダッシュボードを作成できる。
これにより、アプリケーションやインフラストラクチャの状況をリアルタイムで監視できる。
2.6 イベント¶
AWS リソースの状態変化をイベントとして検出し、それらのイベントに基づいて、Lambda 関数、SNS 通知などのアクションを実行できる。
これにより、イベント駆動型の自動化を構築できる。
2.7 統合性と拡張性¶
Amazon CloudWatch は、EC2, RDS, Lambda, API Gateway, CloudTrail など、様々な AWS の他のサービスと密接に統合されている。
また、API を利用して、監視データの取得や自動化を行うこともできる。
3. アーキテクチャおよび技術要素¶
- AWS リソースは、メトリクスとログを CloudWatch に送信。
- ユーザーは、CloudWatch コンソール、API、または SDK を通じて、メトリクスやログを監視。
- CloudWatch は、設定されたアラームに基づいて、自動的にアクションを実行。
- CloudWatch Events は、AWS リソースの状態変化を検出し、イベントに基づいたアクションをトリガー。
- 必要に応じて、ダッシュボードを作成し、メトリクスやログを可視化。
Amazon CloudWatch は、AWS のインフラ上に構築されており、高い可用性とスケーラビリティを提供する。
メトリクスやログの収集、監視、分析は AWS が行うため、ユーザーはインフラの管理を行う必要はない。
4. セキュリティと認証・認可¶
Amazon CloudWatch は、監視データのセキュリティを確保するために、以下の機能を提供します:
- IAM 統合: AWS Identity and Access Management (IAM) を利用して、CloudWatch へのアクセスを制御する。
- データ暗号化: メトリクスデータ、ログデータは転送中および保存時に暗号化される。
- VPC エンドポイント: VPC 内から CloudWatch にアクセスする際に、インターネットを経由せずにアクセスできる。
- アクセス制御: IAM ポリシーを通じて、ユーザーやグループごとに、CloudWatch の操作権限を詳細に制御できる。
- 監査ログ: CloudTrail を通じて、CloudWatch の利用状況を監査できる。
これらのセキュリティ対策により、監視データへの不正アクセスを防止し、機密情報を保護できる。
5. 料金形態¶
Amazon CloudWatch の料金は主に以下に基づきます:
- メトリクス: 収集されるメトリクス数に応じて課金。
- ログ: 保存されたログデータ量とデータ取り込み量に応じて課金。
- アラーム: 設定されたアラームの数に応じて課金。
- ダッシュボード: 作成されたダッシュボードの数と利用時間に応じて課金。
- イベント: CloudWatch Events の配信イベント数に応じて課金。
6. よくあるアーキテクチャ・設計パターン¶
Amazon CloudWatch は、様々な監視や運用管理に利用できる。
一般的なパターンは以下の通りです:
- アプリケーションのパフォーマンス監視: Web アプリケーション、API、マイクロサービスのレイテンシー、エラー率、スループットなどを監視。
- インフラストラクチャの監視: EC2 インスタンス、RDS データベース、ELB ロードバランサーなどの AWS リソースの CPU、メモリ、ディスク使用量などを監視。
- ログ分析: アプリケーションログ、システムログ、AWS サービスログを収集し、エラーやセキュリティイベントを分析。
- 異常検知: メトリクスの異常な変動を検出し、アラート通知。
- アラート通知: 設定したしきい値を超えた場合に、SNS 通知、メール通知などのアラートを送信。
- カスタムメトリクスの作成: アプリケーション固有のメトリクスを定義し、監視。
7. 設定・デプロイ手順(ハンズオン例)¶
- AWS マネジメントコンソールから Amazon CloudWatch を開き、メトリクスを表示。
- カスタムメトリクスを作成し、アプリケーションデータを送信。
- ロググループを作成し、アプリケーションログを送信。
- アラームを作成し、特定のメトリクスがしきい値を超えた場合に、SNS 通知を行う設定。
- ダッシュボードを作成し、メトリクスやログを可視化。
8. 試験で問われやすいポイント¶
8.1 メトリクスの収集と監視¶
- 対象: CPU 使用率、メモリ使用量、ディスク I/O、ネットワークトラフィックなど。
- 目的: パフォーマンスの異常やトレンドを把握。
- 試験対策: メトリクスの種類、監視方法が問われる。
8.2 カスタムメトリクス¶
- 機能: アプリケーション独自のメトリクスを CloudWatch に送信。
- 利用: アプリケーション固有のパフォーマンス指標を追跡。
- 試験対策: カスタムメトリクスの定義方法、利用方法が問われる。
8.3 ログの収集と分析¶
- 対象: アプリケーションログ、システムログ、AWS サービスログ。
- 利用: ログデータの検索、フィルター、メトリクス化。
- 試験対策: ログの収集方法、分析機能が問われる。
8.4 アラーム¶
- 機能: メトリクスがしきい値を超えた場合にトリガー。
- アクション: SNS 通知、Auto Scaling アクション、EC2 アクションなど。
- 試験対策: アラームのトリガー条件、アクション設定が問われる。
8.5 料金体系¶
- 課金対象: メトリクス数、ログデータ量、アラーム数、ダッシュボードの利用時間、イベント配信数。
- 最適化: 不要なメトリクスの削減、ログデータの管理がコスト削減に有効。
- 試験対策: 料金体系、課金対象が問われる。
8.6 類似・関連サービスとの比較¶
- AWS X-Ray: 分散アプリケーションのパフォーマンス分析サービス。CloudWatch はリソースの監視に特化。
- AWS CloudTrail: AWS API の操作ログを記録するサービス。CloudWatch はメトリクスとログの監視に特化。
8.7 試験で頻出となる具体的な問われ方と答え¶
- Q: Amazon CloudWatch は何を提供するサービスですか?
- A: AWS クラウド環境およびオンプレミス環境のリソースとアプリケーションを監視するためのサービスである。
- Q: Amazon CloudWatch で自動的に収集されるメトリクスの例を 3 つ挙げよ。
- A: CPU 使用率、メモリ使用量、ディスク I/O、ネットワークトラフィックなどである。
- Q: Amazon CloudWatch のアラームは何に使用しますか?
- A: メトリクスが設定されたしきい値を超えた場合にトリガーされ、SNS 通知などのアクションを実行できる。
- Q: Amazon CloudWatch のログを収集できる AWS サービスの例を 3 つ挙げよ。
- A: アプリケーションログ、システムログ、AWS サービスログなどを収集できる。
- Q: Amazon CloudWatch の料金はどのように計算されますか?
- A: 収集されるメトリクス数、ログデータ量、設定されたアラームの数、ダッシュボードの利用時間、イベント配信数などに基づいて計算される。