はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧はこちら。
この記事ではAmazon CloudWatch Agent、Alarm、Syntheticsに関連する内容を超詳細にまとめています。
具体的には以下流れで説明します。
- Amazon CloudWatch Agentとは
- Amazon CloudWatch Alarmとは
- Amazon CloudWatch Syntheticsとは
AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。
この記事を読んでほしい人
- Amazon CloudWatch Agent、Alarm、Syntheticsがどういうサービスか説明できるようになりたい人
- Amazon CloudWatch Agent、Alarm、Syntheticsを採用するときのベストプラクティスを説明できるようになりたい人
- AWS Certified DevOps Engineer Professionalを目指している人
Amazon CloudWatch Agentとは
Amazon CloudWatch Agentは、複数のデータソースからメトリクス、ログ、カスタムデータを収集し、CloudWatchに送信するエージェントです。
EC2インスタンスやオンプレミスサーバーのWindowsおよびLinuxで使用可能です。
また、CloudWatchAgentではプラグインが用意されており、例えばのprocstat プラグインでプロセスメトリクスを収集することが可能になります。
Amazon CloudWatch Alarmとは
Amazon CloudWatch Alarmは、特定のメトリクスに対して定義した条件が満たされるとアクションをトリガーし、通知を生成するサービスです。
Amazon CloudWatch Alarmで閾値の設定を設定し、閾値を超えた際にアクションのトリガーをすることが可能になります。
Amazon CloudWatch Alarmを活用することで、自動スケーリングや運用監視、コスト管理など、さまざまなシナリオで活用されます。
具体的にはEC2が障害を起こした時のリブートやリカバリのトリガーやAuto Scalingのアクションのトリガーとして用いることができます。
また、複合アラームを用いると複数の条件にマッチしたときのみアラームを上げることができます。
これによって、CPU使用率だけではなくIOPSも閾値を超えたらアラームを上げるなど高度な監視が可能になります。
Amazon CloudWatch Syntheticsとは
Amazon CloudWatch Syntheticsは、エンドユーザーの視点からアプリケーションの可用性とレイテンシーをモニタリングするためのサービスです。
APIやURL、ウェブサイトを監視するためのスクリプトを定義し、シナリオテストを定期的に実行してアプリケーションの健全性を確認します。
監視をするためにはCanaryを設定する必要があり、設定に使えるのはNode.jsとPythonです。
ちなみに、Canary BlueprintというアプリケーションのエンドユーザーエクスペリエンスをモニタリングするためのCanaryの設定を効率的に行うための設計テンプレートがAWSで準備されています。
そのため、Canary Blueprintを用いるとCanaryの定義が比較的容易に行えます。
まとめ
この記事ではAmazon CloudWatch Agent、Alarm、Syntheticsに関連する内容を超詳細にまとめました。
- Amazon CloudWatch Agentとは
- Amazon CloudWatch Alarmとは
- Amazon CloudWatch Syntheticsとは
次回はAmazon Athenaを超詳細解説します。