APIモニタリング

APIモニタリングとは何か、そしてエラーやレイテンシー、セキュリティ脆弱性などのAPI関連の問題を深刻化する前にいち早く発見し、迅速な対処につなげる方法について学びましょう。

Postmanが摩擦を軽減する様子。イラスト。

APIモニタリングとは?

APIモニタリングは、APIテレメトリデータの収集、可視化、アラート通知を通じて、APIリクエストが期待通りに処理されていることを確認するプロセスです。

APIは現代のアプリケーションにおいて重要なインフラストラクチャの構成要素であり、内部マイクロサービスを接続し、重要な利用者体験を実現し、サードパーティの利用者にデータや機能を公開します。したがって、APIモニタリングは、エラー、レイテンシー、セキュリティ脆弱性などのAPI関連の問題が、依存するサービス、パートナー、顧客に悪影響を与える前に発見するために重要な役割を果たします。APIテストは開発段階での迅速な反復をサポートすることを目的としているのに対し、APIモニタリングの主な目的は、本番環境における利用者向けの問題の平均解決時間(MTTR)を短縮することです。

ここでは、APIファーストの世界におけるAPIモニタリングの役割、APIモニタリングの最も一般的なユースケース、監視すべき主要なAPIパフォーマンスメトリクス、そしてPostmanが包括的なAPIモニタリング戦略の実装にどのように役立つかについて説明します。

なぜAPIファーストの世界でAPIモニタリングが重要なのか?

近年、多くの組織がモノリシックなアプリケーションを、クラウドベースのインフラ上で独立して管理できるマイクロサービスへと移行しています。これらのマイクロサービスは通常、内部APIを通じて相互に通信します。マイクロサービスベースのアプリケーションは、モノリシックなものに比べてスケーラビリティとコスト効率に優れていますが、一方でサービス間の依存関係が複雑さを生み出す要因にもなります。たとえば、あるマイクロサービスのAPIに対する一見小さな変更が、それに依存する他のマイクロサービスに予期しない影響を及ぼすことがあります。

内部マイクロサービスをつなぐ手段としてAPIを利用するだけでなく、一部の組織では、API自体をサードパーティ向けの課金可能な製品として提供する動きも見られます。この「API-as-a-Product」モデルにおいては、API提供者には可用性やパフォーマンス、セキュリティに関するサービスレベル契約(SLA)を維持する責任があり、ひとたび問題が発生すれば、顧客の信頼を損ね、契約解除(チャーン)につながるおそれがあります。

こうした業界全体の動きは、APIファースト開発モデルの普及とともに進んできました。このモデルでは、アプリケーションや統合機能を開発する前に、まずAPIの設計と実装を行います。このアプローチは、十分に設計・実装されていないAPIでは、依存するサービスの要件を満たせないという課題に対応する形で生まれました。APIモニタリングは、APIの品質を継続的に保つための体系的な手法を提供し、APIファーストアプローチにおける重要な柱のひとつとなっています。その結果として生まれるAPIは、堅牢で使いやすく、マイクロサービスベースのアーキテクチャやAPI-as-a-Productモデルに内在する課題にも柔軟に対応できます。


APIモニタリングの主なユースケースは何ですか?

組織ごとに事情は異なるため、それぞれのニーズに応じたAPIモニタリング戦略を構築する必要があります。とはいえ、多くのチームに共通する代表的なユースケースがいくつか存在します。

APIリクエストの健全性を継続的に確認する

APIモニタリングの主な目的は、APIへのリクエストが時間の経過とともに期待通りに動作し続けているかを確認することです。これは、1日に複数回コードをデプロイするアジャイル開発チームにとって、特に重要です。モニタリングによって、エラーやパフォーマンスの低下を即座に検知できるため、問題が利用者や顧客に影響を及ぼす前に修正を適用できます。

複数APIにまたがるワークフローを検証する

最も重要なワークフローの多くは、複数のリクエストが連鎖し、ときには複数のAPIをまたぐ形で構成されています。こうした複雑な処理に対応するには、効果的なAPIモニタリング戦略を通じて、各ステップを体系的に実行し、その結果を段階ごとに監視する必要があります。

サードパーティAPIの障害をすばやく検知する

チームが問題の原因を特定できない場合、その原因がサードパーティAPIにある可能性も考えられます。こうした場合に備えて、利用しているサードパーティのエンドポイントにモニターを設定しておくことで、自分たちの管理外の問題に時間を費やすのを避けることができます。

APIの脆弱性を継続的に監視する

安全性の低いAPIは、攻撃者にとって格好の侵入口となる可能性があるため、チームはAPIの脆弱性を継続的に監視することが重要です。そのためには、開発環境、CI/CDパイプライン、本番環境などでセキュリティチェックを適切に設定し、定期的に実行する必要があります。


APIを監視するために欠かせない主要な指標とは?

APIは、健全性やパフォーマンスに関するさまざまな指標(シグナル)を出力します。これらを正しく把握するためには、単にパフォーマンスデータの概要を確認できるだけでなく、リクエスト名やリージョン(地域)、環境などの観点でフィルタリングし、問題の影響範囲を特定できるモニタリングツールを選ぶことが重要です。ここでは、特に注視すべき主要なメトリクスを紹介します。

  • エラー:APIエラーにはさまざまな種類と原因がありますが、エラーの発生数や割合が急増した場合は、APIが広範囲にわたって正常に利用できない状態であることを示します。
  • レイテンシー:レイテンシーとは、リクエストがレスポンスを返すまでにかかる時間のことで、APIのパフォーマンスを示す主要な指標です。チームは、個々のリクエストだけでなく、ワークフロー全体のレイテンシーも継続的に監視する必要があります。特定のリクエストでレイテンシーが高くなっている場合、そのレスポンスが毎回同じ内容であれば、キャッシングの導入やデータベースクエリの最適化が効果的です。一方で、ワークフロー全体のレイテンシーが上がっているにもかかわらず、特定のリクエストに外れ値が見られない場合は、サーバーやデータベースインスタンスの再プロビジョニングを検討するとよいでしょう。
  • テスト結果:APIテストは、開発段階で作成・組み込まれますが、その後も本番環境でのモニタリングの一環として実行されることがあります。これらのテストは、APIの動作や処理が期待どおりであるかを検証します。テストの失敗が増加している場合は、最近のデプロイによって後方互換性が失われている可能性があります。

APIモニタリングのベストプラクティスとは?

APIモニタリング戦略は、本来サポートするビジネスのニーズに応じて柔軟にカスタマイズされる必要があります。ただし、以下のベストプラクティスを取り入れることで、どの組織でもAPIの高い可用性と安定したパフォーマンスを継続的に維持しやすくなります。

  • サポートインフラストラクチャを監視する:APIエンドポイントの健全性や可用性を監視することはもちろん重要ですが、APIに関連する問題の中には、テクノロジースタックの別の部分に原因がある場合もあります。たとえば、リソースが不足しているデータベースやネットワーク障害が原因で、レイテンシーやエラーが急増することがあります。そのため、APIそのものだけでなく、それを支えるインフラ全体も監視対象に含めることで、ユーザーに影響を及ぼす問題を素早く特定・対応できるようになります。
  • モニタリングデータから過去の傾向を読み取る:APIモニタリングのデータは、即時対応が必要な問題を特定するだけでなく、時間の経過とともに現れる傾向を把握するのにも役立ちます。こうした長期的なトレンドを読み取ることで、ビジネスリーダーはデータに基づいた意思決定を行いやすくなります。
  • アラートをコミュニケーションツールに自動通知する:モニターの状態を手動で確認しているようでは、APIモニタリング戦略は十分に機能しません。そのため、アラート機能やコミュニケーションツールとの連携を活用し、問題の兆候が見つかった際にチームへ自動通知される仕組みを整えておくことが重要です。
  • モニタリング戦略を定期的に見直す:ビジネスニーズやそれを支えるテクノロジーは常に進化しているため、モニタリング戦略も定期的に見直し、現状に即した形で維持・更新していくことが重要です。

APIモニタリングにPostmanが選ばれる理由

APIモニタリング戦略を導入する際には、直感的に使えて機能が充実しており、チームの既存ワークフローにも容易に統合できるツールを選ぶことが重要です。Postman APIプラットフォームを活用すれば、次のようなことが実現できます。

  • コレクションベースのモニターを作成する:Postmanでは、コレクションベースのモニターを使って、個々のリクエストやワークフロー全体の状態とパフォーマンスを継続的に監視できます。これらのモニターは、手動での実行に加え、スケジュールに基づいた定期実行やさまざまな地域で実行でき、カスタムリトライロジックもサポートしています。
  • APIモニタリングデータを他の可観測性ツールと連携する:Postmanは、DatadogNew Relicなどのサードパーティ製の可観測性ツールと統合できます。これにより、Postmanモニターのパフォーマンスデータを、システム全体のテレメトリーデータと関連付けて分析することが可能になります。また、これらの統合を活用すれば、APIモニタリングのデータをオンコール対応やインシデント対応のワークフローにも簡単に組み込むことができます。
  • 実行の失敗やエラーを自動通知で見逃さない:Postmanモニターは、リクエストの失敗時に自動でメール通知を送るよう設定できます。これにより、スケジュールされた実行で発生した問題も確実に把握でき、見逃す心配がありません。
  • フィルタリング可能なダッシュボードでパフォーマンスデータを視覚化する:Postmanでは、すべてのモニター実行の結果が組み込みのダッシュボードに表示され、パフォーマンスの傾向を一目で把握できます。このダッシュボードでは、個々のリクエスト、実行タイプ、結果、地域などの条件で絞り込みが可能なため、トラブルシューティングをより効率的に行えます。
  • 自動セキュリティチェックを実行する: Postman API Securityを使えば、API定義リクエストに含まれる一般的な脆弱性に対して、セキュリティチェックを実行できます。チェック項目はカスタマイズ可能で、CI/CDパイプラインにも容易に統合できます。

Get started with Postman

APIアイコンのまわりで踊るPostmanautたち。イラスト。
POST/CON 2024 Banner

イベントレポート:APIとAI開発者のための新時代

エージェンティックAI時代において、トップ開発者たちがいかにより賢く、迅速で、セキュアなAPIを構築しているかをご覧ください。ロサンゼルスでの2日間にわたるイノベーションから生まれた洞察、戦略、プロダクト発表をお届けします。

Photo of Postman CEO Abhinav Asthana on stage at POST/CON 25