オブザーバビリティ

アプリケーション、ユーザー、およびインフラストラクチャのインサイトを得て、パフォーマンスを向上させる

オブザーバビリティとは何?

「私のシステムは上か下か?」「私のエンドユーザーが体験するのは速いのか遅いのか?」「どのような KPI や SLA を設定すべきか、またそれらが満たされているかどうかをどのように確認するのか?」 クラウドのスピードとスケールで運用する場合、何も考えずに行動することはできません。これらのような運用上およびビジネス上の幅広い質問に答えられる必要があります。問題発生時には (理想的にはカスタマーエクスペリエンスを阻害する前に) その問題を発見し、迅速に対応し、可能な限り早く解決する必要があります。このようなインサイトを得るためには、観測可能なシステムが必要です。

モニタリングとオブザーバビリティ

「オブザーバビリティ」とは、システムで何が起こっているかをどれだけ理解できるかを示すもので、多くの場合、メトリクスやログ、トレースを収集するためにシステムをインストルメント化することで実現します。クラウドでは、システムが非常に複雑なため、オブザーバビリティを実現するのが難しい場合があります。データセンターでもクラウドでも、オペレーショナルエクセレンスを達成し、ビジネス目標を達成するためには、システムのパフォーマンスを把握する必要があります。オブザーバビリティソリューションは、アプリケーションやインフラストラクチャからデータを収集および分析することで、その内部状態を把握し、アプリケーションの可用性やパフォーマンスに関する問題のアラート、トラブルシューティング、解決を行い、エンドユーザーエクスペリエンスを向上させることができます。 

オブザーバビリティとモニタリングの違いは何ですか?

「モニタリング」という言葉は、オブザーバビリティとは異なるものとして定義されることがありますが、モニタリングは、トレースやログ記録など他のアクティビティと並んで、システムを観測可能にするアクティビティです。モニタリング、トレース、ログ記録を「オブザーバビリティの 3 本柱」と表現しているのをよく見かけます。 しかし、後述するプロファイラーや AI/Ops など、オブザーバビリティを実現するためのツールは他にもあります。

オブザーバビリティで何ができるのか?

オブザーバビリティにより、問題の検出、調査が可能になります。

検出

問題をタイムリーに検出すること (理想的にはエンドユーザーに影響を与える前に) は、オブザーバビリティの一番最初のステップです。検出は、パフォーマンスのしきい値が破られたときのアラーム、合成テスト、異常検出など、プロアクティブで多面的なものでなければなりません。一般的なパフォーマンスメトリクスは、平均検出時間 (MTTD) です。MTTD は、さまざまな活動やツールを使って改善することができます。


モニタリング

モニタリングツールは、パフォーマンスの統計を長期間にわたって記録し、使用パターンを特定することができます。モニタリングエージェントは、設定された間隔で特定のメトリクスを記録し、結果のデータを時系列形式で保存します。

アプリケーションパフォーマンスモニタリング

アプリケーションパフォーマンスモニタリング (APM、Application Performance Monitoring) は、ブラウザやモバイルデバイスからアプリケーションスタックの様々なレイヤーを経て、エンドツーエンドのカスタマーエクスペリエンスをモニタリングします。APM は、ブラウザやモバイルデバイスからのお客様の体験を測定およびモニタリングするフロントエンドモニタリングから始まります。APM の核心であるアプリケーションの発見、トレース、診断は、アプリケーションのどの部分がパフォーマンスの問題を引き起こしているかを特定し、その原因を迅速に突き止める能力です。

アラート

何か問題が発生したときには、タイムリーなアラートが必要です。しかし、あまりにも敏感な検出はアラーム疲れにつながるため、アラートの管理も重要です。

AI/Ops と異常検出

現在、新世代のツールが人工知能と機械学習の力をオブザーバビリティに発揮し、機械学習モデルを使ってアプリケーションの異常な動作を特定し、停電やサービスの中断を引き起こす前に重要な問題を表面化させるようになっています。

インフラストラクチャのモニタリング

インフラストラクチャモニタリングでは、インフラストラクチャスタックのメトリクスとログを相関させて、パフォーマンス問題の根本原因を理解し、解決することができます。

デジタルエクスペリエンスモニタリング

デジタルエクスペリエンスモニタリング (DEM) は、エンドユーザーのブラウザ、モバイルアプリケーション、音声対話などのアクティビティを収集することで、エンドユーザーのシステム利用時のエクスペリエンスを把握することができます。合成トランザクションとは、システムを操作する際のエンドユーザーの行動をエミュレートするスクリプトを作成することで、実際に負荷がかかっていない状態でもモニタリングやテストができるようにするものです。リアルユーザーモニタリング (RUM) は、ウェブサイトや API が世界中のさまざまな POP (Point of Presence) からリクエストを受信できるかどうかのモニタリングと、自動 A/B テストを組み合わせたものです。

プロファイリング

プロファイリングツールは、一定の間隔で測定値のサンプルを取得します。例えば、中央処理装置 (CPU) は、CPU 上のコードパスの時間間隔のサンプルを取ることで、一般的にプロファイリングされます。

テレメトリー

テレメトリーとは、(通常はモニタリングエージェントを介して) システムをインストルメント化し、そのシステムのパフォーマンスに関するデータを収集することです。テレメトリーが導入されると、システムはモニタリング可能なデータを生成し始めます。しかし、企業内の異なるチームが異なるツールを使用することがあります。そのため、企業のコードベースに含まれなければならないモニタリングエージェントが急増し、異なるツールや追加のツールを使用することになった場合には、インストルメント化をやり直さなければなりません。OpenTelemetry プロジェクトは、アプリケーションを 1 回だけインストルメント化し、相関するメトリクスとトレースを複数のモニタリングソリューションに送信することが可能です。

調査

調査は、運用イベントの中で最も時間のかかるフェーズです。物事がうまくいかないとき、何を修正するのが最も重要なのかを理解するのは難しいものです。複数のオブザーバビリティソースを併用することで、根本原因を理解するための迅速な調査が可能になりますが、これを効果的に行うためには、メトリクス、ログ、トレースのデータを相関させる必要があります。 


トレース

トレースは、クライアントからの HTTP リクエストなどのシステムイベントを記録します。分散型トレースでは、複数のサービス/アプリケーションにまたがるリクエストのパスや、各ステップでのレイテンシーなどのリクエストに関するメトリクスなど、イベントに関する詳細がキャプチャされます。

可視化ツール

オブザーバビリティは、特にクラウド規模では、膨大な量のデータを生成することがあり、人間がそれを解析するのは困難になります。可視化ツールは、観測データの相関関係を直感的なグラフィック表示にすることで、データを素早く理解するのに役立ちます。

オブザーバビリティはどのような場合に使用するのですか?

アプリケーションの健全性やパフォーマンスを理解し、カスタマーエクスペリエンスを向上させる

オブザーバビリティの主な目的は、システムのどこで何が起こっているか知ることです。これにより、エンドユーザーに最高のエクスペリエンスを確保することができます。問題を迅速に発見し、効率的に調査し、できるだけ早く修復して、ダウンタイムなどお客様への影響を最小限に抑えたいものです。一般的なメトリクスとして、平均復旧時間 (MTTR) があります。

デベロッパーの生産性を向上

従来のデバッグは、ログを分析したり、コードにブレイクポイントを設定したりするなど、面倒で反復的で、時間のかかるものでした。また、プロダクションアプリケーションや、マイクロサービスやサーバーレスのアーキテクチャを使用して構築されたアプリケーションでは、うまくスケールできません。分散アプリケーションのパフォーマンスを分析するために、デベロッパーは相関性のあるメトリクスとトレースを必要とし、あらゆるソースからのユーザーインパクトを特定したり、壊れたコードパスやコストのかかるコードパスをできるだけ早く見つけたりします。新しいオブザーバビリティツールをキットに追加したいときは常に、コードを再構築することなく、これらすべてを実現する必要があります。適切な一連のオブザーバビリティツールは、デベロッパーがより良いコーディングとテストを迅速に行うのに役立ちます。

運用上の有効性と効率性の向上

オブザーバビリティは、クラウドフリートのパフォーマンスを改善し、コストを削減するのに役立ちます。例えば、数千から数十万のインスタンスにおいて、アプリケーションが使用する CPU の量について、わずかな割合のパフォーマンス改善を行うだけで、数百万 USD ものコスト削減につながります。同様に、オブザーバビリティを利用して将来の容量のニーズを把握、予測することで、リザーブプライシングやスポットプライシングで得られるコスト削減効果を活用することができます。

AWS はどのようなオブザーバビリティソリューションを提供していますか?

AWS のサービス

AWS ネイティブのオブザーバビリティソリューションは、他の AWS のサービスを観察し、クラウド規模で運用し、エンタープライズレベルのセキュリティを提供するために、ゼロから開発されています。

AWS アプリケーションから運用データを自動的に取り込み、長年の Amazon.com と AWS の優れた運用によって知らされた機械学習モデルを使用して、異常なアプリケーションの動作を特定し、停止やサービスの中断を引き起こす前に重要な問題を明らかにします。

複数のアプリケーションやシステムにまたがる分散型トレースを実行し、システムのレイテンシーを発見し、改善の対象とすることができます。

AWS アプリケーションから運用データを自動的に取り込み、長年の Amazon.com と AWS の優れた運用によって知らされた機械学習モデルを使用して、異常なアプリケーションの動作を特定し、停止やサービスの中断を引き起こす前に重要な問題を明らかにします。

フレームグラフを使用して、アプリケーション内で最も CPU 負荷の高いコードパスを特定し、コードを最適化することで、パフォーマンスを向上させ、インフラストラクチャコストを削減します。

オープンソース

人気のオープンソースオブザーバビリティソフトウェアをベースにした、完全に互換性のあるサービスを提供しています。お客様は、すでに投資している使い慣れたツールを継続して使用しながら、スケーリングやセキュリティなどの未分化の重荷を回避することができます。

OpenTelemetry プロジェクトのセキュアで本番環境に対応した AWS サポートのディストリビューションです。アプリケーションを 1 回だけインストルメント化して、相関するメトリクスとトレースを複数の AWS やパートナーのモニタリングソリューションに送信できます。

コンテナ環境に最適化されたオープンソースのモニタリング、アラートソリューションとして人気の高い Prometheus をベースにした、これと互換性のあるマネージドモニタリングサービスです。Prometheus のクエリ言語 (PromQL) を使用して、コンテナ化されたワークロードのパフォーマンスをモニタリングします。

人気の高いオープンソースの分析プラットフォームである Grafana をベースにしたフルマネージドサービスです。メトリクスがどこに保存されているかに関わらず、クエリ、可視化、アラート、そして理解することができます。オブザーバビリティダッシュボードを作成、探索、共有します。

Amazon OpenSearch Service を使用すると、インタラクティブなログ分析、リアルタイムのアプリケーションモニタリング、ウェブサイト検索などを簡単に実行できます。OpenSearch は、Elasticsearch から派生したオープンソースの分散検索および分析スイートです。Amazon OpenSearch Service は、OpenSearch の最新バージョン、Elasticsearch の 19 バージョン (1.5〜7.10 バージョン) のサポート、および OpenSearch Dashboards と Kibana (1.5〜7.10 バージョン) を利用した視覚化機能を提供します。

お客様事例

Mapbox

Mapbox

Mapbox は、カスタマイズ可能な地図を提供する、オープンソースのマッピングプラットフォームです。毎月 3 億人以上のユーザーが、何らかの形で Mapbox にアクセスしています。Mapbox では、Amazon CloudWatch を使用して各種データソース (ネイティブな AWS メトリクス、カスタムメトリクス、ログなど) を取り込んでいます。また、Amazon CloudWatch を通じて主要なワークロードのモニタリングと可視化を行い、リソースの最適化を図っています。

「Mapbox では、社内のすべてのモニタリング、ログ記録、メトリクス、アラートといった処理を 1 つのツールの下に統合する手段を求めていました。CloudWatch のおかげで、サードパーティーシステムの設定、構成、学習といった業務負担が軽減されています。社内の各チームでは、複数の重要なワークロードに関するエラー率やステータスコードのモニタリングに、CloudWatch を幅広く活用しています。また、CloudWatch を使って Auto Scaling アクションを自動化することで、Amazon ECS クラスターを実行する Amazon EC2 インスタンスタイプのコスト最適化が可能となりました。CloudWatch Events は、使用状況や料金情報を各チームに提供することを可能にしてくれました。これにより、各チームでは、アカウントセキュリティの監査、コンプライアンスとセキュリティに関するユースケースでの AWS Lambda アクションのトリガー、クラウドを使用する社内リソースのスケジューリングが可能となっています。CloudWatch は新しいレベルの自動化を実現するサービスであり、社員一人一人の生産性を高めてくれています」

Mapbox、プラットフォームエンジニアリングマネージャー、Emily McAfee 氏

Pushpay

Pushpay

Pushpay は、コミュニティやつながり、相互信頼性を強化することによって、人と人を結び付けることが目的の企業です。世界規模での寄付受付やモバイルアプリケーションによる情報公開といった各種ソリューションを構築し、組織のコミュニティ拡大をサポートしています。

「Pushpay の現在のログ分析ソリューションは、オーバーヘッドの設定やメンテナンスが必要なうえ、保存要件もまちまちで莫大な運用費がかかります。このような理由から、開発環境とテスト環境の両方のログに対し、エンジニアリングチームがアクセスやクエリすることはできません。CloudWatch Logs Insights を使うことで、CloudWatch Logs 内のログにクエリすることが可能となり、業務の複雑さも軽減されています。クエリごとのデータ量に応じて支払う料金システムにより、自社ペースでの柔軟なスケールが可能であることに加え、社内エンジニアは、現行のソリューションで業務を行うための設定、統合、データの取り込みを待つことなくログを使用し、クエリできるようになりました。メトリクスやログを確認できるため、迅速なトラブルシューティングが可能になるというメリットもあります。アプリケーションのモニタリングやログ調査といった作業がすべて AWS コンソールから行えるため、Logs Insights は当社のエンジニアにとって効果的で安価なすばらしいソリューションとなっています」

Pushpay、サイト信頼性エンジニアリングディレクター、Peter Goodman 氏

SendGrid

SendGrid

クラウド E メールプロバイダーである SendGrid は、69,000 社を超える有料顧客のために、毎月 400 億通以上の E メールを送信しています。SendGrid では、システムの可視化や運用実態の把握、リソースの最適化のために、AWS への移行の初期段階から Amazon CloudWatch を導入しています。

「CloudWatch を使用すれば、Amazon EC2、Amazon Kinesis、Amazon DynamoDB、Amazon API Gateway などの AWS のサービスからはメトリクスを、AWS Lambda 関数からはログを取得できます。自社でスタックを管理したりサードパーティーの SaaS ベンダーに頼ったりすることなく、ネイティブな統合が実現できることに感謝しています。そのおかげで、アラート、Auto Scaling、容量計画を非常に迅速に開始することができました。主要なユースケースの迅速で簡単な処理を実現してくれた CloudWatch は、本当にすばらしいソリューションです」

SendGrid、アーキテクト II、Joshua Barratt 氏

オブザーバビリティをよりよく学ぶ

インタラクティブで体験的な One Observability Workshop を通じて、Amazon CloudWatchAWS X-Ray を実際に使用してみましょう。このワークショップでは、複雑なマイクロサービスアプリケーションをデプロイし、最新の環境内でのモニタリングとオブザーバビリティのセットアップを実践していきます。この体験により、ログ記録、メトリクス、コンテナとサーバーレスでのモニタリング、トレーシングテクニックなどに対する、明確な理解が得られます。

ワークショップを始める 
最新情報
日付 (新しい順)
  • 日付 (新しい順)
1
検索結果が見つかりませんでした。
ブログ
日付
  • 日付
1
ご指定の条件に一致するブログは見つかりませんでした。

AWS での、管理とガバナンスに関する他のユースケースを確認する

Page-Illo_AWS-Management-Governance_Open and Custom Resource Provisioning
プロビジョニングとオーケストレーション »

リソースを構築、プロビジョニング、共有します

Page-Illo_AWS-Management-Governance_Automated Configuration Compliance and Auditing
設定、コンプライアンス、監査 »

リソース設定を監査および修正します

Page-Illo_AWS-Management-Governance_Centralized and Automated Operations Management
一元的な運用管理 »

クラウドでの運用を管理します

Page-Illo_AWS-Management-Governance_Governance at Scale
エンタープライズのガバナンスとコントロール »

一元管理された、セキュアなマルチアカウント AWS 環境を確立します