API管理のベストプラクティスとソリューション

F5の高速で安全かつスケーラブルなAPIゲートウェイおよび管理ソリューションにより、開発者が主導権を維持できます



APIは、クラウドネイティブおよびコンテナ化されたアプリケーション開発の基盤となる構成要素です。APIによって運用チーム間の連携が可能になるため、アプリケーション開発の市場投入までの時間を短縮し、競合他社を上回るユーザーエクスペリエンスの提供に役立ちます。一方、APIの利用により、アプリケーションの構造は分散化しています。その結果、APIの設計、公開、管理が難しくなり、複雑でリスクを伴う管理上の課題が生じています。自動化された高性能なトラフィック制御とポリシー制御がなければ、APIの増加と複雑化によって、開発者のアジリティが低下します。

F5は、シンプルかつ高速でスケーラブルなアーキテクチャにより、あらゆるデータセンターやクラウドにわたってAPIを安全に管理するための包括的なソリューションを提供します。APIのデプロイと管理を自動化し、API固有の脅威から保護することで、市場投入までの時間短縮を支援します。F5は、クラウドネイティブなAPI管理、高性能なAPIゲートウェイ、セキュリティ制御を1つのソリューションで提供し、ツールの乱立とアーキテクチャの複雑さを軽減します。

“F5は、クラウドネイティブなAPI管理、高性能なAPIゲートウェイ、セキュリティ制御を1つのソリューションで提供し、ツールの乱立とアーキテクチャの複雑さを軽減します。”



主なメリット

API中心のセキュリティ

APIゲートウェイでは実現できない、一般的および高度なAPI固有の脆弱性に対する保護

統合型APIデリバリーソリューション

セキュリティとゲートウェイの統合による運用効率の向上

クラウドネイティブなマイクロサービスAPIアーキテクチャ

エッジプロキシ、Kubernetes、Ingressゲートウェイ、サーバーレスなど、ほぼあらゆるデプロイ設計やアーキテクチャにシームレスに統合

DevOps/AppDevに対応

DevOpsチームと同等のアジリティを備えたセキュリティ、自動化、構成管理により、コストを削減しながら市場投入までの時間を短縮

エンタープライズAPI管理の課題を理解する

アプリケーション開発は急速に進み、絶え間ないイノベーションによって、私たちのやり取りのあり方も変化し続けています。分散コンテナ環境は複雑であるため、スピードを重視するあまり、API管理や、セキュリティおよびインフラストラクチャに関する制御の適用に抵抗が生じることがあります。さらに、マイクロサービス間のデータ交換でAPIの利用が増えるにつれ、APIは機密データの漏えいにつながりかねない潜在的な脆弱性となりつつあります。そのため、すべてのAPIエンドポイントに対して、少なくとも一定水準の標準化されたリスク管理、構成管理、ポリシー適用が必要です。しかし、API公開の自動化によって、従来のユーザーによる操作や監視が不要になるため、APIの価値を高めているのと同じ傾向が、APIの脆弱性も高めています。


ほとんどのAPIゲートウェイには、大規模な管理に必要な制御機能が不足しています

APIゲートウェイは通常、プラットフォームやマイクロサービスクラスターへのAPIの公開を管理するように設計されています。導入の主な理由は使いやすさと自動化です。これは、プラットフォームに依存しない状態を維持しながら、アプリケーションポートフォリオの拡大に伴う顧客トラフィックの需要に対応できるよう、API間の接続を拡張することが難しいためです。APIの設定ミスやセキュリティ上の不備が、特に注目を集めたAPIデータ侵害の原因となっているのは、このためです。

DevOpsは、増え続ける自動化パイプラインを担っており、各パイプラインでは開発者やアプリケーションの要件を満たすために異なるツールが必要です。このような状況では、APIトラフィックパターンや管理インスタンスが分断され、さらにオブザーバビリティソリューションも分断されているため、複雑さが増します。残念ながら、開発チームやDevOpsチームは、リリースのセキュリティではなく、リリース頻度で評価されることが今なお一般的です。

その結果、企業におけるAPIの増加を大規模に管理できなくなり、不正なAPI利用による新たな予期せぬリスクや脅威への露出が生じます。これは、OWASP API Security Top 10でも特に一般的な脅威の1つとされています。

APIでは、大規模なトラフィックを管理する際にパフォーマンス上の問題も発生します。アプリケーションの初期導入時には、50~100ミリ秒のトランザクション遅延は許容できる場合があります。しかし、顧客の需要に応じて拡張する数百、数千ものマイクロサービス全体で遅延が生じると、それが積み重なり、アプリケーションチェーン全体の速度が低下します。その結果、パフォーマンスが悪化し、顧客の期待に応えられなくなります。

企業のアプリケーションポートフォリオ全体で、初期開発から本番環境へのデプロイに至るまで、APIエンドポイントへのアクセス、構成、セキュリティを自動化することで、DevOpsチームはパフォーマンスと潜在的な脆弱性に大規模に対処できるようになり、その他の自動化パイプラインの課題に注力できます。


マイクロサービスAPI環境における制御の不整合

クラウドネイティブアプリケーションは、設計上、分散化と非集中化が進んでおり、数百から数千ものAPIベースのエンドポイントに依存し、数百万件のトランザクションがトラフィックの大半を占めています。 F5 Labsの最新調査  によると、APIセキュリティインシデントの件数は年々増加しており、過去2年間で最も多かったAPIインシデントの原因は、ツールの乱立によって生じることが多い、セキュリティ成熟度の低さに関連しています。

複数の開発チームが、複数のプラットフォームにまたがる分散アプリケーションの各部分を担当すると、API管理が複雑になり、アプリケーションのセキュリティやパフォーマンスが低下します。デプロイの失敗、パフォーマンスの低下、機密性の高いトラフィックへの悪意あるアクセスなどの問題が発生する可能性があり、原因の特定はもちろん、修正も困難です。この複雑さを大規模に軽減することで、リスクを低減し、ビジネス目標に合わせて最適化された一貫性のある設定、パフォーマンス、セキュリティポリシーを適用できます。DevOpsチームに標準化されたツールセットを提供し、APIの開発・管理プロセスに適切な制御を自動的に組み込めるようにすることで、ビジネスの成長に合わせてアプリケーションを拡張できます。

“ESGのクラウドネイティブアプリケーションに関する調査では、回答者の3分の1以上が、クラウドネイティブアプリケーションですでに直面している、または今後直面すると予想される最大の課題の1つとして、セキュリティを挙げています。アプリケーションの規模が拡大すると、APIの非互換性、パフォーマンス、オブザーバビリティの不足もすぐに課題となります。”


ソリューション

企業は、従来のAPIを維持・進化させながら、同時にクラウドネイティブなマイクロサービスアーキテクチャを使用して新しいAPIを開発する必要があります。これらは、ベアメタルのプライベートシステム、クラウド、またはマルチクラウドのトランジットソリューションを通じて提供できます。APIは多様なユーザーエクスペリエンスの提供に使用され、それぞれで異なる開発、公開、セキュリティ制御が必要になる可能性があるため、分類が困難です。F5 NGINXソリューションの柔軟性により、さまざまなユースケースやアーキテクチャパターンに対応し、あらゆる開発チームの要件を満たすことができます。

API管理のベストプラクティスを示す図
図1:F5は、API管理、高性能なAPIゲートウェイ、高度なセキュリティ制御を単一のソリューションで提供できる唯一のベンダーです。


API管理と公開の一般的なユースケース

以下に示すいずれのソリューションでも、F5 NGINX Management Suiteは、APIの公開、認証と認可の設定、F5 NGINX Plusが提供するAPIゲートウェイを使用したデータパスの構築など、API管理機能に使用されます。セキュリティ制御は、データおよびAPI配信プラットフォームのセキュリティ要件に基づいて実装されます。

  1. 規制の厳しいビジネス向けAPI

    機密情報や規制対象情報をやり取りするビジネスAPIでは、追加の規制や業界要件への準拠を可能にするため、管理、レポート、セキュリティ制御が必要になる場合があります。たとえば、保護対象の医療情報や機密性の高い金融情報を提供するアプリケーションは、業界固有の基準を満たす必要があります。この種のAPIを管理および保護するうえで、ポリシーの適用、監査可能なロールベースのアクセス制御、分析、大規模なペイロード検査が重要な仕組みとなります。

    業界をリードする高度なWebアプリケーションファイアウォール(WAF)テクノロジーをアプリケーションインターフェースに導入し、F5 NGINX Plus API GatewayおよびF5 NGINX App Protect WAFと組み合わせることで、ミッションクリティカルな可用性とパフォーマンスを支える、境界、API、マイクロサービスに対する優れた保護を実現します。

  2. マルチクラウド分散API

    世界中のユーザーにサービスを提供するモバイルアプリには、低レイテンシーのAPIレスポンスを実現するため、地理的に分散したバックエンドが必要です。ほかのアプリケーションサービスでも、パフォーマンス向上のためにトランザクション負荷の高いワークロードを利用者やデータの近くに移し、分散させる必要がある場合があります。レスポンスタイムを最適化するには、複数の拠点からAPIエンドポイントを提供できるようオーケストレーションし、ユーザーにサービスを提供する分散プラットフォームが必要です。

    F5 NGINX Plusは、プラットフォームに依存しないAPIゲートウェイ、負荷分散、セキュリティの各機能を提供します。F5 NGINX Management Suite API Connectivity Managerモジュールとともに導入することで、DevOpsチームとAppDevチームは、高パフォーマンスで自動化されたセキュアなAPI公開を大規模に実現できます。

    分散環境に高度なマルチクラウド接続を提供するため、F5 Distributed Cloudマルチクラウドネットワーキングソリューションは、NetOps向けのネットワークインフラストラクチャに関する課題をアプリケーションのデプロイから切り離します。DevOpsチームは、IPアドレスの重複や複雑なルーティング設定を気にすることなく、開発にすぐ使えるインフラストラクチャを迅速に提供することに集中できます。マルチクラウドの課題を解決するため、F5 Distributed Cloud ServicesとNGINXデプロイのユースケースをぜひお試しください。

  3. KubernetesにおけるAPIワークロード

    F5 NGINX Ingress Controllerは、Kubernetesのマイクロサービス向けに、ロードバランサー、キャッシュ、APIゲートウェイ、WAFの機能を一体化して提供します。常時無料のF5 NGINX Service Meshと組み合わせることで、DevOpsチームがAPIの開発とデプロイを管理できます。NGINX Plus向けNGINX Ingress Controllerは、NGINX App Protectと完全に統合された導入しやすい単一構成により、本番環境向けアプリケーションのコストと複雑さを軽減します。NGINX Service Meshは、ワークロードのEast-Westトラフィックの可視化とmTLSベースのセキュリティを実現するために使用されます。

    NGINX Ingress Controller for NGINX Plusは、NGINX Service Meshと統合され、本番環境向けのセキュリティ、機能、拡張性を備えた統合データプレーンを実現します。軽量で、クラスター内のレイヤー7アプリケーショントラフィック管理に特化したNGINX Service Meshは、既存環境に影響を与えず、他のテクノロジースタックが複雑さに煩わされることなく、本来の性能を発揮できるようにします。


“アプリケーションインターフェース向けの業界最先端の高度なWebアプリケーションファイアウォール(WAF)テクノロジーを、F5 NGINX Plus API GatewayおよびF5 NGINX App Protectと組み合わせることで、ミッションクリティカルな可用性とパフォーマンスを支える優れた境界、API、マイクロサービス保護を実現します。”


まとめ

F5のソリューションは、プラットフォームや自動化アーキテクチャを問わず、APIとそのホスティングに使用するインフラストラクチャの配信、管理、セキュリティ確保を実現します。DevOpsとの統合によるAPIの公開とパフォーマンスの可視化に加え、ボットや一般的なAPIエクスプロイト、高度なAPIエクスプロイトに対する強力な保護を提供します。これらのソリューションを組み合わせることで、どこにデプロイする場合でもアプリケーションのポータビリティを確保し、ワークロードをお客さまのより近くに配置するという目標の達成を支援します。

開発チームと運用チームが、クラウドホスティングかオンプレミスかを問わず、業務に適した環境を自由に選択できるようにします。さらに、変化に合わせて移行できるアーキテクチャのポータビリティにより、現在のビジネスを支えるために必要な俊敏性と、将来のビジネスにも対応できる柔軟性を実現します。


主な特長

APIの定義と公開—直感的なインターフェースでAPIを定義
  • ベースパスとバックエンドサービスを定義
  • APIを適切なバックエンドサービスにルーティング
  • APIのバージョンを管理
  • OpenAPI標準に準拠したAPIをインポート
  • 本番環境やステージング環境など、1つ以上の環境にAPIを公開
  • APIゲートウェイを構成
  • セキュリティポリシーを設定
  • マイクロサービスアーキテクチャにデプロイして実行

リアルタイムの監視とアラートで、APIパフォーマンスに関する重要なインサイトを獲得
  • レイテンシーや応答時間などの主要指標を示すグラフ
  • 1秒あたりのリクエスト数、アクティブな接続数、帯域幅使用量など、ゲートウェイ固有のメトリクス
  • 事前定義されたしきい値に基づく、CPU使用率、4xx/5xxエラー、ヘルスチェックの失敗など、100を超えるメトリクスに関するアラート
  • REST APIを使用して、任意の監視ツールと簡単に連携

ダッシュボード—APIゲートウェイを迅速に監視し、トラブルシューティング
  • APIゲートウェイ全体のメトリクスを集約する概要ダッシュボード
  • リクエストの成功と応答の適時性を測定するアプリケーション健全性スコア
  • 環境固有のメトリクスを監視できるカスタマイズ可能なダッシュボード
レート制限—レート制限を設定してDDoS攻撃を緩和し、アプリケーションを保護
  • クライアント、コンシューマー、リソースごとに最大リクエストレートを指定
  • APIエンドポイントを保護し、API利用者向けのSLAを確保
  • 複数のレート制限ポリシーを定義

認証と認可
  • JSON Web Token(JWT)を検証
  • コンシューマー向けAPIキーの作成と管理
  • 外部システムからAPIキーをインポート
  • API利用者と共有
  • APIクライアントのグループにポリシーを適用