AWS(Amazon Web Service)は、代表的なクラウドサービスのひとつです。AWSには、オブザーバビリティの機能をもつサービスがいくつか導入されています。しかし、クラウドネイティブのシステムのオブザーバビリティは、オンプレミスにはない複雑さが伴うため、どのようにモニタリングをすればよいか迷う人も多いのではないでしょうか。
ここでは、AWSにおけるオブザーバビリティのメリットと課題のほか、適したツールについて紹介します。
モニタリングの現状
Webサービスを安全かつ安定的に提供し続けるためには、システム全体の状態をモニタリングし、異常を素早く検知・対処することが不可欠です。
従来のモノリシックなシステムであれば、リソースの使用状況やログの分析によって、異常を検知し対処することも難しくはありませんでした。
しかし、AWSを含むクラウドネイティブの分散型システムでは、従来の監視手法が通用しなくなりつつあります。複数のマイクロサービスが複雑に関連したシステムであるため、調査対象が膨大になり、異常の発生原因を突き止めるまでに多くの手間と時間がかかってしまうのです。従来の監視手法のままでは、運用管理が複雑になるばかりです。そこで注目を集めているのが、オブザーバビリティという視点です。
オブザーバビリティとは?
オブザーバビリティとは「可観測性」と訳される言葉です。システム全体がどのような状態にあるかを常に観測し、必要な情報を収集する指標あるいは仕組みを指します。システム内の情報を関連づけて分析することで、異常が起こった際に迅速な原因の追求、解決が可能になります。
従来の監視手法では、例えば「CPUの使用率が90%を超えた」といった場合にアラートを出し、エンジニアが対処するといった手順を踏むことが一般的です。しかし、CPUの使用率がしきい値を超えていても、サービスが正常に提供されていれば何の問題もありません。逆に、CPUの使用率は正常範囲であっても、サービスが停止してしまっている事態のほうが深刻で、早急に対処する必要があります。このような状況を素早く検知し、対応できるのがオブザーバビリティです。
オブザーバビリティについては、こちらの記事「オブザーバビリティとは?監視との違い、必要性について解説」もご覧ください。
AWSにおけるオブザーバビリティ
AWSには、フルスタックのオブザーバビリティを実現できるサービスが用意されています。AWSのオブザーバビリティの中心となるのは、AWS X-RayとAmazon CloudWatchです。それぞれどのようなサービスなのかを確認しましょう。
AWS X-Ray:アプリケーションを分析してボトルネックを特定
AWS X-Rayは、アプリケーションが次々と処理していくリクエストを追跡し、それに関するデータを収集するサービスです。本番環境だけではなく、マイクロサービスによって構築されたアプリケーションにおいても、分析やデバッグができます。
AWS X-Rayを活用することで、ユーザーが体験するサービスレベルを可視化し、ボトルネックを特定してパフォーマンスの向上につなげられます。
Amazon CloudWatch:リソースとアプリケーションを監視
Amazon CloudWatchは、AWS上の各種リソースとアプリケーションの両方を監視・観測して、システムのパフォーマンスを可視化するサービスです。サービスを安定的に提供できているかどうかを常に把握できます。
事前にしきい値を設定しておくと、アラートを出すだけでなく、自動アクションを起動することも可能です。この機能により、パフォーマンスの状況に合わせてリソースの使用状況を最適化し、効率的な運用を実現します。
AWSにおけるオブザーバビリティのメリット
AWSにおけるオブザーバビリティにはどのようなメリットがあるのでしょうか。主なメリットを見ていきましょう。
アプリケーションの稼働状況を追跡できる
AWSのオブザーバビリティのメリットは、稼働しているシステムのどこで、何が起こっているのかを常に追跡できることです。またインフラからフロントエンドまでをカバーしているため、アプリケーションが正常に動き、ユーザーに適正なサービスを提供できているかどうかを、常時チェックできます。
問題があれば、原因を迅速に検出し対処することで、ユーザー体験の低下を抑え、安定したサービスレベルを維持できます。
チームのコラボレーションが促進される
AWSのオブザーバビリティによって、チームのコラボレーションが促進されることもメリットのひとつです。ITとビジネスが密接に結びついている現代では、アプリケーションの不具合はビジネス上の損失に直結します。サービス停止や長期の休止になれば、その損害は計り知れません。
システムに不具合が発生した際、トラブルの原因がどこにあるかを素早く把握することで、該当の担当者を中心にチーム内での連携がとりやすく、すみやかな復旧にあたれます。
また、エラー時に社内の関係者に警告を発するようにしておけば、全員が素早くトラブルに対応できます。ITチームとビジネスチームが協力し、ユーザーの利便性を回復するだけでなく、エクスペリエンスをさらに高めることができるでしょう。
運用コストの最適化ができる
AWSオブザーバビリティを活用すれば、運用コストを最適化できることがメリットです。クラウドネイティブのシステムは、オンプレミスと異なり、インフラのスペックアップ、スケールアップが容易にできます。AWSオブザーバビリティを使い、CPU使用率などのデータを収集し、それらをアプリケーションのスループットやレスポンスタイムなど、ユーザー体験を示すデータと組み合わせて活用することで、リソース不足によるユーザー体験の悪化といった、潜在的な機会損失のリスクにいち早く気づくことが可能です。このようにコストの無駄を最小限におさえて、余裕のあるインフラ環境を整備することができるほか、過剰なリソース割り当てになっている場合には、適正なスペックや容量に調整することで、結果的に運用コストを削減できる場合があります。
ユーザー満足度が向上する
インフラからアプリケーションまでの一連の仕組みが健全に保たれ、素早くスムーズに稼働すれば、ユーザーの満足度に直結します。ユーザーがサービスに満足し、「また利用したい」と感じれば、ビジネス成果の向上にもつながるでしょう。
同時に、異常を早期に検知し、素早く対処できれば、エンジニアはトラブル対応に追われる日々から脱却でき、本来の開発の仕事に集中できます。それにより、開発とデプロイのサイクルを早めることが可能です。
AWSにおけるオブザーバビリティの課題
AWSはオブザーバビリティの観点から、ユーザーの利便性とクラウドサービスの安全性を高めていますが、そこには課題もあります。多くのエンジニアが直面しやすいAWSにおけるオブザーバビリティの課題について解説します。
効率的な運用や活用が困難
AWSにおけるオブザーバビリティの課題は、効率的な運用や活用が難しいことです。AWSが用意しているツールは、個々の機能をブロック化されており、それをどのように組み合わせて使うかは、ユーザーの判断に委ねられています。そのため、十分な知識と経験がないと、効率的な組み合わせを見つけられず、満足のいく結果を得られない場合が少なくありません。
サーバー間の関係性の可視化が困難
AWSのオブザーバビリティは、サーバー間の関係性の可視化が困難な点も課題のひとつです。複数のAWS環境を運用している環境では、どこで何が起こっているのかがわかりにくく、スムーズな復旧対応につなげにくい傾向があります。
AWSのオブザーバビリティ強化には、New Relicがおすすめ
AWSでより強化したオブザーバビリティを求めるならば、New Relicがおすすめです。New Relicは、オブザーバビリティに必要な機能をすべてそろえたプラットフォームです。New Relicの主な機能を解説します。
真のオブザーバビリティを実現する「イベント」データ
一般的なオブザーバビリティはシステムで何が起こっているのかを明確にするために、メトリクス、ログ、トレースのデータを活用しますが、New Relicでは3つのデータに「イベント」を加え、4つのデータの収集、分析を行います。
メトリクス、ログ、トレースは、いわば「結果」を示すデータにすぎません。ここにイベントを加えることで、一連のプロセスのどこに障害の要因があるのかを突き止められます。
発生した異常を関連づけて表示できる
New Relicは、異常の内容だけでなく、関連するエンティティを一連の情報として表示できるため、迅速な原因究明と対処が可能です。例えば、アプリケーションで何らかのエラーが起こった場合、どの処理でどのような問題が起こっているのか、どこに要因があるのかを、関連づけて表示します。異常がどのホスト上で起こっているのか、どのログでエラーが観測されているかを、ひとつの画面で見ることができます。
ログを効率良く活用できる「Logs in Context(ログスインコンテキスト)」
New Relicの「Logs in Context(ログスインコンテキスト)」では、特定のトランザクションのログをサンプルとしてピックアップし、その処理に関連するログだけを表示できます。サポート対象のフレームワークであれば、エージェントを導入するだけで、トランザクションとログを紐づけて保存が可能です。
また、どこに問題があるのかを探すときも、ひとつの画面を起点として数クリックで根本的な原因までドリルダウンできるため、何度も別の画面に移動する必要がありません。
簡単な設定で、AWS上のメトリクスをリアルタイムに連携
New Relicなら、簡単な設定でAWS上のメトリクスをリアルタイムに連携ができます。ウィザードの案内にしたがって、AWSアカウントとの連携設定を行うと、Amazon CloudWatch上に記録されているメトリクスを、そのままNew Relicに取り込めます。AWS側に何らかのメトリクスが発生すると、それがリアルタイムでNew Relicに転送されてくる仕組みです。この情報にもとづいて、アラートを設定したり、ダッシュボードを作ったりすることができます。
ただし、AWSとNew Relicの両方にデータを保存する必要があるため、コストについてはあらかじめ検討しておく必要があるでしょう。
豊富なダッシュボードコレクション
New Relicには、豊富なダッシュボードコレクションがあります。システム全体から多くのデータを収集し有効活用するためには、必要とするデータをピックアップし、整理して、見やすく表示することが必要です。それをサポートしてくれるのが、ダッシュボードです。
New Relicのダッシュボードは、開発や運用の現場で活躍するエンジニア向けや、注文内容や収益を把握できるECサイトオーナー向けなど、ユースケースに合わせた豊富なダッシュボードコレクションが用意されています。ポジションに合ったダッシュボードを選べば、ミッションに関わりの深い項目を、常に把握することが可能です。また、ダッシュボード内に表示されるウィジェットは、自由に入れ換えができるので、テンプレートをベースに自分好みに細かく作り替えることも可能です。
New Relicを活用して万全のオブザーバビリティを実現しよう
クラウドコンピューティングへの移行が加速し、システムが複雑化するとともに、従来のシステム監視に取って代わるオブザーバビリティの重要性が高まっています。AWSにおいても、オブザーバビリティのサービスを提供していますが、効率的な運用や活用の難しさがバードルになることも少なくありません。そこで、New Relicを導入することで、AWSの課題を払拭し、万全なオブザーバビリティが実現可能です。New Relicなら、大規模で複雑なシステムであってもどこで何が起こっているのかを明確にし、トラブル発生の際には、その原因を素早く突き止めて対処することができます。サービスの安定供給とビジネスの拡大を目指すなら、New Relicを検討してみてはいかがでしょうか。
Next steps
- まだNew Relicをお使いではありませんか? New Relicでは、無料でお使いいただける無料サインアップをご用意しています。 無料プランは、毎月100GBの無料データ取込み、1名の無料フルプラットフォームユーザー、および無制限の無料ベーシックユーザーが含まれています。無料サインアップはこちらから
- New Relicについてのお問合せは、こちらからご連絡ください。
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.