AWS監視の要となる「Amazon CloudWatch」全体像を把握する

ナレッジ「AWS監視の要となる「Amazon CloudWatch」全体像を把握する」のイメージ画像

AWSでは、これまでオンプレミスで必要だった監視のかなりの部分をAWSに任せられるのが大きなメリットです。しかし、だからと言って監視がすべて不要になるわけではなく、AWS上で稼働するシステムの状態がどうなっているか、自社のAWS環境で負荷が高い部分、逆にリソースの無駄が多い部分がないかなどをモニタリングし、適切な環境を維持することは重要です。

こういったAWS環境の監視において中核を担うサービスが「Amazon CloudWatch」ですが、豊富な機能を持つ一方で、「どう使えばよいのかわからない」などハードルの高さを感じることも。今回は、Amazon CloudWatchの主要な機能を紹介し、まずはその全体像を把握できるように基礎から解説します。

Amazon CloudWatchとは

Amazon CloudWatchはAWSが提供する監視サービスで、AWSの各種クラウドリソースや、AWS環境で実行されるアプリケーションのパフォーマンスに関する数値などを収集します。収集した値はリアルタイムで可視化・監視でき、異常検知時の通知なども可能です。CPU使用率など一般的な項目が標準で用意されているほか、カスタマイズした項目にも対応し、自社の環境や用途にあわせて、柔軟な監視を実現できます。

Amazon CloudWatchでAWSリソースの利用状況を分析し、過不足がないよう調整することで、性能の改善だけでなく、利用料金の最適化にもつながります。

クラスメソッドのAWS総合支援サービスに関する資料を公開中!

入会金・月額無料なのに、利用料も割引される請求代行から、ご要望に応じて選べる運用保守やコンサルティング、マイグレーション(環境移行)など幅広いご支援まで、ビジネスのステージに合わせてご活用いただけます。

AWS総合支援サービス資料をダウンロードする

Amazon CloudWatch、3つのできること

複数の機能やサービスから構成されるAmazon CloudWatchはできることが様々ですが、大きく「収集」「モニタリング」「分析」の3つに分けることができます。

収集

ここでは、AWSリソースやサービス、またその上に構築したアプリケーションに関する「数値」や「ログ」を収集します。CPU使用率、ネットワークの転送量など主要な数値(パフォーマンスメトリック)はAWS側で自動収集されており、こういった標準のパフォーマンスメトリックは追加費用なしで利用できます。

また、OSからミドルウェア、アプリケーションまで、様々なログを収集することも可能で、これらのログは、システムエラー発生時の原因究明などで活躍。エラーを示すメトリクスで対象や発生時刻などを特定し、該当箇所のログを調査することで、エラーログから「メモリ不足」などの原因を効率的に特定できるようになります。

モニタリング

Amazon CloudWatchでもっとも重要な機能と言えるのがモニタリングで、収集した数値やログを監視し、通知(CloudWatchアラーム)や可視化(CloudWatchダッシュボード)などをおこないます。AWSマネジメントコンソールのAmazon EC2、Amazon RDSなど各サービスのページで、様々な数値をまとめたダッシュボードも簡単に確認できます。また、「CPU使用率が●%以上」「特定のエラーログが出力された」など対応が必要な状態を定義したアラームを設定することで、メールなどへの通知を実現できます。

しかし、すべての異常を数字などで定義できるとは限りませんし、複数の項目を組み合わせて異常かどうかを判断しなければならないケースもあります。そこで、頻繁に参照するメトリクスについてはカスタムダッシュボード(2ドル/月)を作成することで、リソース間の相関性を確認しやすくなります。例えば、リクエスト数とサーバの負荷など、相関関係のある情報をまとめて表示することで、「リクエスト数が増えたが、サーバーのCPU使用率が50%程度で安定しているため、問題ない」「リクエスト増加にともなってサーバーがオートスケールされ、対応できている」などがわかります。

ダッシュボード例

もちろん負荷の増加だけではなく、「リクエスト数に対して、サーバーのスペックが高すぎる(CPU使用率などが低い)」といった状況も把握でき、EC2インスタンスのスペックを下げるなど、現状の認識から適切な活用につながります。

分析

モニタリングでは収集した情報をそのまま確認できますが、さらにデータを加工し、分析をおこなうことも可能です。指定した期間の統計値を利用し、平均値・最大値・最小値・合計値に加え、パーセンタイル(データセットにおける値の相対的な位置)や、トリム平均(指定された2つの境界の間にある値の平均)などもサポートします。

CloudWatchダッシュボードでも、1つの項目で取得した数値の平均や最大値を求めることができますが、機械学習を利用した異常値検知や、複数のメトリクスに対して計算式を利用して処理(CloudWatch Metric Math)することも可能です。

また、ログを分析する際に利用するのが、CloudWatch Logs Insightです。これは、テキストログを対象に、エラーログの出力回数のカウント、エラーコード・エラーメッセージなど特定文字列を含むログの抽出、SQLクエリの実行などをおこなうもので、ここで取得した、件数・回数などの数値をCloudWatchのカスタムメトリクスとしてモニタリング対象にすることも可能です。これにより、「リクエスト数の増加にともなってエラーログの発生件数が増加している」などの分析も容易になります。もちろん、時間を条件にログを検索することもでき、システムでトラブルが発生した時間帯のログのみを抽出して調査することもできます。

モニタリングからさらに一歩進めて調査をおこなう際に、これらの機能を活用します。

AWSを使うなら、Amazon CloudWatchの利用を強く推奨

AWSを利用するなら、Amazon CloudWatchで必要な情報をしっかりチェックすることを強くお勧めします。Amazon CloudWatchは、いわば自動車の各種メーターや、近年装着率が高まっているドライブレコーダーに相当する必須機能と言えます。どれくらいの速度が出ているのか、ガソリンがどれくらい残っているのかなど、まったくわからないまま運転することはありません。AWS環境でなんらかのトラブルが発生した際も、Amazon CloudWatchの記録を調査することで、「いつ、どこで、なにが起きたか」を把握でき、切り分けやAWSサポートなどの支援を受ける際にも活用できます。

また日ごろから、AWS上で動作するシステムの状況についてAmazon CloudWatchで確認し、必要に応じて是正することで、より適切な利用を実現できます。料金についても、AWSは使った分だけ支払う従量課金ですから、利用状況を把握し、無駄なリソースをなくすことで、コスト最適化につながります。AWSを使いはじめたら、Amazon CloudWatchを利用し、確認する習慣をつけましょう。

クラスメソッドは、Amazon CloudWatchの運用もサポート

本コラムでは、Amazon CloudWatchの豊富な機能のうち、AWSリソースのメトリクスを対象とした監視・可視化に絞って紹介しました。可視化により現状を把握でき、必要に応じて調整することで、適切なAWS運用につながります。

使わない手はない……とはいえ、なにから監視し始めればよいのかわからないと悩む方も少なくありません。AWSでも、主要なサービスについて、最低限チェックすべき項目をまとめたダッシュボードを公開しており、こういったものを参考にスタートするのも1つの方法です。まずは実際に利用しながら、調整を繰り返すことで、自社にあったものを目指しましょう。

クラスメソッドのAWS総合支援「クラスメソッドメンバーズ」では、Amazon CloudWatchで記録された障害や異常な記録について不明な点がある場合、窓口にお問い合わせいただければサポート支援が可能です。また、「クラスメソッドメンバーズ プレミアサービス」のコンサルティングでは、負荷テストなどを通じ、監視すべき項目をまとめたダッシュボードやアラーム通知の作成支援も可能です。まずはご相談ください。

クラスメソッドメンバーズに関する資料を公開中!

クラスメソッドメンバーズは無償でご利用できる請求代行から、ご要望に応じて選べる運用保守やコンサルティング、マイグレーション(環境移行)など幅広いご支援まで、ビジネスのステージに合わせてご活用いただけます。

資料でわかること

  • クラスメソッドがどんな会社か
  • AWS総合支援サービスのサポート範囲
  • 過去の主な支援実績・事例
AWS総合支援サービス資料をダウンロードする

クラスメソッドは、AWSのサーバー監視・運用代行も引き受けています

システム運用に必要な定常作業や障害対応をまるごと対応します。監視/通知のみの安価なプランから、二次対応/運用代行を含むプランまで、ご要望に併せたご提供が可能です。まずはお気軽にお問い合わせください。

AWSサーバー監視・運用代行サービスを見る
アワード

資料請求
クラスメソッドのことが
よくわかる資料を紹介します
0120-991-668 平日9:30〜18:30 お問い合わせ