IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
その機能には、クライアントからのリクエストのルーティングと変換、レスポンスの集約、セキュリティー・ポリシーの適用、分析ツールや監視ツールとの統合などが含まれます。
アプリケーション・プログラミング・インターフェース(API)とは、ソフトウェアアプリケーション間でデータ、機能、および性能を交換できるようにする一連のルールまたはプロトコルのことです。APIを使用すると、企業はそれぞれにカスタム統合を構築することなく、社内サービスとサードパーティー・サービスの両方を使用できるようになります。Postmanの2025年のState of the APIレポートによると、8割以上の企業がAPIファースト戦略をある程度採用しており、25%は完全にAPIファーストと考えています。
APIゲートウェイは、APIのやりとりを合理化し、クライアント・アプリケーションが(それぞれのサービスのAPIを通じて)さまざまなサービスにアクセスできるようにすることで、最新のIT環境で重要な役割を果たします。さまざまなプログラミング言語で開発されたサービス、さまざまなプラットフォームでホストされているサービス、クラウド、エッジ、オンプレミス環境にわたってデプロイされたサービスも同様です。
APIゲートウェイは、ファーストパーティまたはサードパーティーのアプリケーションにアクセスする内部ユーザーと、顧客またはビジネス・パートナーのような外部ユーザーの両方にサービスを提供できます。フェデレーテッド・システムでは、企業は複数のゲートウェイを使用して、APIグループまたはユーザー・タイプに応じて異なるセキュリティー・プロトコルと標準を適用します。
API Gatewayには、多くの場合、次の2つの主要なアーキテクチャー・レイヤーがあります。
制御プレーンは、セキュリティー・ポリシーの設定、API要求のロギングと監視、ルーティング・ルールの定義など、構成と管理を担います。
データ・プレーンは、制御プレーンが設定したルーティング・ガイドライン、セキュリティー・プロトコル、データ制約を実施しながら、リアルタイムでAPIリクエストをルーティングします。
クライアントからAPIへのデータ要求は、API呼び出しと呼ばれます。API Gatewayは、API呼び出し(API要求とも呼ばれる)を受信し、それを1つ以上のバックエンド・サービスにルーティングし、要求されたデータを収集し、単一の結合された応答としてクライアントに配信します。それ以外の場合、クライアントは関連する各サービスまたはデータ・ソースにアクセスするために、複数のAPIと直接インターフェースする必要があります。
医療システムの例を挙げると、APIゲートウェイを使用して、患者がユーザー向けアプリケーションを通じて複数のバックエンド・サービスに接続できるようにすることが可能です。患者はノートPCや電話を使用して、同じダッシュボードから医療記録の確認、予約のスケジュール、支払いやメッセージ送信を行うことができます。APIゲートウェイは単一のエントリー・ポイントとして機能し、API呼び出しを適切なサービスにルーティングするため、ユーザーは各サービスにアクセスするために複数のプラットフォーム間を移動する必要がありません。また、機密性の高い患者データを保護するための暗号化、承認の強制、その他のセキュリティー対策もサポートしています。
API Gatewayの実装方法を確認する前に、API自体とAPI Gatewayの違いを理解することが重要です。APIは多くの場合、WebベースのプロトコルHTTPまたはHTTPSを介して、さまざまなソフトウェア・アプリケーションが通信できるようにする一連のルールとプロトコルです。オフィスビル内のフロアのようなもので、各フロアは特定のサービスを表しています。データを取得するには、クライアントは対応するフロアに訪れて内部のサービスにアクセスする必要があります。
一方、APIゲートウェイは、オフィスビルの玄関のようなもので、クライアントが各フロアに到達するために使用しなければならない単一の通過ポイントです。多くの構成では、ゲートウェイはドア係としても機能します。つまり、訪問者の認証情報をチェックして、どのフロアにアクセスする権限があるかを判断します。また、クライアントが自分で各フロアを探す必要はなく、クライアントに代わって要求された情報やサービスを取得し、それを1つのパッケージとしてクライアントに返します。
API Gatewayは、組織が一貫した安全で効率的なAPIエクスペリエンスをユーザーに提供するのに役立ちます。主な機能と責任は次のとおりです。
統合されたAPIエンドポイントとして機能するゲートウェイは、着信コールを受け取り、認証し、組織のポリシーに基づいて処理し、適切なバックエンド・サービスにルーティングします。次に、ゲートウェイはその成果を集約し、複合形式でAPIクライアント(多くの場合、ユーザー向けのアプリまたはWebサイト)に返します。
このプロセスにより、ユーザーは1回のAPI呼び出しで複数のリソースにアクセスし、1つの一貫性のある応答を受け取ることができます。いくつかの構成では、ゲートウェイは、ビジネス機能を合理化するためにマルチステップで自動化されたタスクを調整できるワークフロー・オーケストレーション・レイヤーと一緒に動作します。
APIセキュリティーとは、APIを悪用、悪意のある攻撃、その他のサイバーセキュリティーの脅威から保護する慣行と手順を指します。APIゲートウェイは、認証、承認、その他の権限およびアクセス制御を管理することで、APIセキュリティー手順の適用に役立ちます。
トランスポート層セキュリティー(TLS)やオープン認証(OAuth)などの暗号化プロトコルを使用して、安全なネットワークを維持し、安全な接続を促進します。レート制限、つまりユーザーごとに一定数のリクエストを許可することで、分散型サービス拒否(DDoS)攻撃から守ることができます。最後に、APIゲートウェイは、その範囲内のすべてのAPIのガバナンスと監視を行い、不整合、シャドーAPI、その他のセキュリティーの脆弱性から保護します。
APIゲートウェイは、API要求、応答、エラーを監視し、ログに記録できます。組織はこの分析データを使用して、APIのトラフィックと性能をより深く理解し、トラブルシューティングを改善し、セキュリティーを強化できます。
ログとメトリクスは可視性を向上させ、チームがエラーやセキュリティーの脅威を迅速に特定できるようにするだけでなく、エラーがどのように、なぜ発生するかについてのコンテキストを提供します。これにより、長期的なシステムの健全性につながります。
APIゲートウェイは、バックエンド・サービスの性能と可用性を向上させ、ユーザーにとってより信頼性が高く応答性の高いエクスペリエンスに貢献することで、企業の効率性を強化できます。
応答の圧縮により、ゲートウェイは大きな応答を小さなファイルに変換できるため、帯域幅の消費量と読み込み時間が削減されます。キャッシュは、企業が頻繁に参照されるデータをローカルに保管するのに役立ち、コストとサーバー負荷を最小限に抑えながら性能を向上させます。
企業はセキュリティー上の理由からレート制限を実装することがよくありますが、最終的にこの施策は安定性も促進します。これにより、サーバーの過負荷を防ぎ、APIアクセスを公平に分散することができます。
API Gatewayのデプロイメントには共通のコア機能がありますが、アーキテクチャーと実装によって異なる場合があります。一般的なフレームワークには次のようなものがあります。
マイクロサービス・アーキテクチャーは、アプリケーションを小さく独立して機能する部分に分割するソフトウェア開発アプローチです。各マイクロサービスは単一の機能を担い、自律的にデプロイおよび拡張できます。同時に、サービスはAPIを介して簡単に通信できるため、大規模なプログラムのモジュール型ビルディング・ブロックとしても機能します。2023年のGartnerレポートによると、組織の4分の3近くがマイクロサービスを使用しており、さらに23%が将来的にこのフレームワークを導入する予定です。
マイクロサービス環境では、多くの場合、API Gatewayが南北トラフィックを処理し、外部クライアントからのAPI呼び出しを適切なバックエンド・サービスにルーティングします。これらの多くは主に東西トラフィック、またはマイクロサービス環境内のサービス間の通信を処理するサービス・メッシュと連携して動作します。
いくつか例外があり、特に最新の設定では、API Gatewayは内部トラフィックをルーティングするように構成することができます。ただし、ゲートウェイは別のアーキテクチャー・レイヤーに配置される傾向があり、サービス・メッシュは各サービスと一緒にデプロイまたは統合され、内部接続を促進および管理します。
マイクロサービス環境では、APIゲートウェイが重要な役割を果たし、組織は1回のAPI呼び出しで要求されたリソースを返すことができます。例えば、Eコマース企業では、製品情報、料金体系、インベントリーごとに個別のサービスを提供している場合があります。APIゲートウェイを使用すると、アプリケーションは1回の要求で各サービスから情報を取得したり、機能にアクセスしたりできます。この合理化されたワークフローは、企業が時間の経過とともに新しいサービスやAPIを追加し、マイクロサービス環境が複雑になるにつれて特に役立ちます。
Kubernetesはオープンソースのオーケストレーション・システムで、企業がコンテナ化された環境内でサービスをデプロイ、拡張、管理できるように支援するもので、アプリケーションは依存関係をバンドルした軽量コンテナとしてパッケージ化されます。Kubernetesはマイクロサービス・アーキテクチャーでよく使用されますが、モノリシックアーキテクチャー、サーバーレスアーキテクチャー、その他のフレームワークもサポートできます。オーケストレーション・プラットフォームは、最新のクラウド・インフラにおいて重要な役割を果たし、開発者がアプリケーションを一度構築すれば、どこにでもデプロイできるようにします。
API Gatewayは、コンテナ化されたKubernetesクラスターと複数の方法でやり取りできます。
複数のKubernetesクラスターの前でデプロイする場合、APIゲートウェイはロード・バランサーと統合して、トラフィックを正しいクラスターに転送して、単一のインスタンスが過負荷にならないようにします。
Kubernetesクラスターのエッジにデプロイされると、API GatewayはIngressコントローラーとして機能できます。Ingressコントローラーにより、トラフィックはKubernetesクラスターに入り、要求されたサービスへと転送され、再び返されます。
APIゲートウェイは、Kubernetesクラスター内にデプロイされた場合、内部のコンテナ化されたサービス間の通信を処理するサービス・メッシュを補完し、並行して動作することができます。この統合により、負荷分散、サービス検出、トラフィック・ルーティング、エンドツーエンドの暗号化が改善されます。
サーバーレスモデルでは、開発者はアプリケーションを動かすサーバーと直接やり取りすることはありません。その代わり、クラウド・プロバイダーはサーバーのプロビジョニングと管理を担当するため、開発者はコードを書いてデプロイすることだけに集中できます。
サーバーレスのコンテキストでは、APIゲートウェイはマイクロサービス環境のゲートウェイのように機能しますが、長期にわたるサービスからデータを取得するのではなく、クライアントの要求に基づいてイベント(特定のアクションを開始する命令)をトリガーします。このアプローチにより、アプリケーションは必要なときにのみ実行され、セキュリティーと効率が向上します。
サーバーレス・デプロイメント・モデルは、マイクロサービス・アーキテクチャーを実装するために使用することができ、各サービスが(コンテナや仮想マシンのデプロイメントではなく)サーバーレス・デプロイメントとして動作する、一種のハイブリッド・インフラストラクチャーを作成できます。このような構成により、特に可変のワークロードに対してコストを削減し、拡張性を向上させることができます。
すべてのAPI管理の実装は同じというわけではありません。コンポーネントは、システムの複雑さ、アーキテクチャー・アプローチ、意図したユースケースによって異なりますが、その違いは必ずしも明確ではなく、重複した役割や機能を持つコンポーネントも存在します。
イングレスコントローラーはKubernetesネイティブのソフトウェアコンポーネントで、イングレスルールのセットに基づいて外部のHTTP(またはHTTPS)トラフィックをKubernetesクラスター内のサービスにルーティングするリバースプロキシとして機能します。イングレスコントローラーは多くの場合、ロードバランシング機能を備えており、トラフィックをさまざまなサービスにインテリジェントに転送して、ネットワークの安定性を確保します。また、ルーティング動作を動的に調整して、新しいデプロイメントや構成の更新に対応することもできます。
KubernetesイングレスコントローラーはAPIゲートウェイと同じ機能を部分的に実行できますが、APIゲートウェイの役割は一般に範囲が広く、監査、ロギング、アクセス制御、セキュリティーなどのより高レベルの管理機能を組み込んでいます。また、APIゲートウェイはさまざまな構成をサポートできる一方、イングレスコントローラーはKubernetes環境に固有です。
サービス・メッシュは、内部サービス間の通信を容易にし、データと機能を効率的に共有できるようにするインフラストラクチャー・レイヤーです。コントロール・プレーン(構成とポリシーを設定するもの)は一元管理されていますが、データ・プレーンは軽量のサイドカー・プロキシを通じてすべてのサービスに分散されています。
これらのプロキシは、各サービス・インスタンスと並行して配置され、セキュリティ、ロギング、ルーティング、暗号化などのコントロール・プレーン・ポリシーを実行します。対照的に、API Gatewayは通常、ネットワークのエッジ、つまりクライアントと管理対象のAPIとは別のアーキテクチャー・レイヤーに存在します。
サービス・メッシュは内部サービスがデータや情報を交換するのに役立ちますが、外部トラフィックと対話する方法も必要です。この場合、イングレスゲートウェイと呼ばれる特別なコンポーネントがメッシュのエントリー・ポイントとして機能し、セキュリティーとパフォーマンスのポリシーを維持しながら外部トラフィックのルーティングを処理します。APIゲートウェイとサービス・メッシュは、多くの場合組み合わせて使用され、APIゲートウェイが一般公開されたインタラクションを処理し、サービス・メッシュはサービス間の接続を容易にします。
API環境が複雑になり、APIが受信するトラフィックが増えるほど、API Gatewayが提供できる価値は大きくなります。API Gatewayはバックエンド・サービスへトラフィックをルーティングするだけでなく、次のことも実行できます。
APIゲートウェイは、トラフィックのルーティングを最適化することで、レイテンシーを下げ、ユーザーエクスペリエンスを向上させることができます。レート制限は、クライアントが行うことができるリクエストの数に上限を設定し、過剰なリクエストをブロックします。リクエスト・スロットリングは、速度を落としたり、遅延させたり、キューに入れたりすることで、トラフィックの急増に対処します。また、ロードバランシングは、企業がリアルタイムのメトリクスに基づいてサーバーの正常性を判断し、それに応じてルーティング・パスを調整するのに役立ちます。
これらのストラテジーを組み合わせることで、バックエンド・サービスを過負荷状態や侵害から保護し、応答時間を最小限に抑え、より高速で信頼性の高いサービスを実現できます。
API Gatewayは、組織が規模の拡大に合わせてAPIトラフィックとワークロードのバランスを取るのに役立ちます。ゲートウェイはオートメーション・システムと統合して、トラフィック需要に基づいてリアルタイムでインスタンスを追加または削除できるため、開発者は管理ではなくコア・ビジネスのロジックやAPI開発に集中できます。
APIゲートウェイは、一貫したセキュリティーとトラフィック分散ポリシーを定義および適用することで、DevOpsのデプロイメントを強化および加速することもできます。ゲートウェイは技術的な複雑さを軽減し、相互運用性と統合を促進するため、開発者はトラフィック制御やプロトコル変換などの一般的な機能を一貫して再構築するのではなく、新しい独自の機能の構築に集中できます。
最後に、ゲートウェイは複数バージョンのAPIを効果的に管理できるため、開発者はデプロイメントの前に複数回のイテレーションをテストしたり、特定のユースケースを対象に古いAPIバージョンのインスタンスを維持したりできます。
APIにはそれぞれ異なる役割と責任がありますが、共通のワークフローを共有することもよくあります。
例えば、多くのAPI呼び出しは、セキュリティー・プロトコルに準拠するために同一の承認および検証プロセスを経ます。各APIは、使用率やトラフィックについての洞察を得るために使用される、同じロギング・ポリシーおよびモニタリング・ポリシーに従う場合があります。APIが収益化されている場合、最終的にすべての呼び出しを請求サービスにルーティングすることが必要な場合もあります。APIゲートウェイはこれらのタスクを自動化および調整し、スムーズなワークフローとシステム全体の一貫性を促進します。
API Gatewayはまた、Secure Sockets Layer(SSL)ターミネーション(パスワードやクレジットカード番号などの機密データをゲートウェイで復号化する方法)にも対応しており、この処理能力を大量に消費するタスクを個々のAPIからオフロードします。さらに、アプリケーションの複数のイテレーションが同じサーバーにデプロイされている場合、API Gatewayはヘッダー、URLパス、クエリー・パラメーターを読み取ることで、トラフィックを適切なバージョンへとシームレスに送信できます。
APIは最新のITインフラストラクチャーにおいて重要な役割を果たすため、DDoS攻撃、パラメーターの改ざん、インジェクション攻撃、その他の脅威などのサイバー攻撃のリスクにさらされることがよくあります。API Gatewayは、レート制限、API認証、リクエスト承認、その他の技術を使用して、これらの脅威から保護するのに役立ちます。
APIゲートウェイには多くの場合、統合されたIDおよびアクセス管理(IAM)システムを備え、誰がどのサービスとのインタラクションを試みているのかを可視化します。また、APIの使用状況を監視し、トラフィックをログに記録し、メトリクスを分析して、攻撃が発生する前に疑わしい動作や脆弱性を特定することもできます。最終的に、APIゲートウェイは、悪意のあるHTTPトラフィックを監視、フィルタリング、ブロックするWebアプリケーション・ファイアウォール(WAF)などのツールと組み合わせて使用できます。
APIゲートウェイは、異なるデータフォーマットやAPIを異なるアーキテクチャーやプロトコル(例えば表現状態転送(REST API)、SOAP、gRPC、WebSocketなど)で、異なるデータ形式やAPIを使用するサービスを統合することができます。
APIゲートウェイがないと、形式やプロトコルが異なると、クライアントとバックエンド・サービスの間に通信の問題が発生する可能性があります。ゲートウェイは、データとプロトコルの変換を実行し、要求と応答をクライアントとサーバーの両方で互換性のある形式に自動的に変換することで、この課題に関する負荷を軽減します。
企業は、API Gatewayと開発者ポータル(開発者が新しいAPIを発見して実装できる中央リポジトリー)の間でドキュメントとアクセス・キーを同期し、開発環境に最新のAPIのロールアウトと更新を正確に反映させることもできます。
レガシー・アプリケーションは、特に最新の環境やAPIの実装と互換性がない場合、進歩の障害となる可能性があります。しかし、レガシー・アプリには簡単に置き換えられない重要なデータや機能が含まれているため、多くの場合は保持しておく価値があります。
APIゲートウェイは、企業がレガシー・アプリケーションを放棄したり、ゼロから作り直したりするのではなく、最新のクラウド環境で統合、再利用、再目的化することを支援します。このゲートウェイの変換機能により、組織は、社内の他のメンバーが新規システムに移行した場合でも、レガシー・アプリの元のコードとフォーマットを保持できます。
サービスを小さな部分に分割するなどの役割を担う分離機能により、APIゲートウェイはレート制限やスロットリング、その他の慣行をレガシー・アプリに適用して、その機能をモダナイズし、ライフサイクルを延ばすことができます。このストラテジーはまた、組織がバックグラウンドでサービスを更新する場合においても、サービスをオンラインに保つことに役立ちます。
アプリケーションのインバウンド・トラフィックのコントロール・センターとして、APIゲートウェイはAPIの使用状況と性能の包括的な概要を提供します。カスタム・チャートやダッシュボードを使用すると、組織のトラフィックパターン、スループット、応答時間、その他のメトリクスを視覚化できます。通知は、アプリケーションのパフォーマンスやセキュリティーに影響する前に、潜在的なエラーや違反についてチームに警告します。
API Gatewayは複雑なルーティング問題を解決するのに役立ちますが、新たな問題を引き起こす可能性もあります。一般に、次のような課題があります。
APIゲートウェイはある点で拡張性を促進しますが、対処しなければならない拡張性の課題が生じる可能性もあります。
APIゲートウェイは通常、API通信、リソースの割り当て、ルーティング・リクエストの合理化に役立ちます。ただし、構成ミスや容量不足は逆の効果をもたらす可能性があり、ボトルネックのリスクが高まり(実際、APIゲートウェイが単一のエントリー・ポイントを提供するため)、システムの負荷がさらに高まります。
水平スケーリングの機会(複数のゲートウェイの使用)、負荷分散ストラテジー、オートスケーリング・ポリシー、監視機能を考慮した慎重なアーキテクチャー設計によって、拡張性の問題を回避することができます。
拡張性と同様に、ゲートウェイがITの複雑さに与える影響は微妙です。ゲートウェイは、統一された管理とポリシーの適用、および自動データとプロトコルの変換を通じて、ITの複雑さを一部解消します。
ただし、APIゲートウェイは企業のAPIエコシステムに追加のレイヤーを導入するため、保守、コンピューティング、専門知識が必要になります。開発者にとっては、APIゲートウェイを仮想環境で正確に再現することが難しいため、新しいデプロイメントのテストがより困難になる可能性があります。この制限により、ロールアウトがシステムにどのような影響を与えるかをチームが事前に知ることが難しくなっています。
コードとしてのインフラストラクチャー(IaC)と呼ばれるDevOpsプラクティスは、構成ファイルを使用してインフラストラクチャーの管理と標準化を自動化することにより、これらの課題に対処します。このアプローチにより、保守とプロビジョニングが簡素化され、ITチームはアーキテクチャーの複雑さを軽減しながらAPIゲートウェイの効率を最大化することができます。
API Gatewayは単一のエントリー・ポイントとして機能するため、API Gateway自体がサイバー攻撃や侵入の可能性のある矛先となる可能性があります。また、脅威やエラーが複数のバックエンド・サービスを通じて連鎖的に広がる可能性も高くなり、APIトラフィックが遮断され、正常なアプリケーションに損害を与えるかもしれません。
このリスクを軽減するために、企業は環境やアベイラビリティー・ゾーン全体で複数のゲートウェイ・インスタンスを維持し、1つがオフラインになっても、一時的に別のゲートウェイがそのインスタンスを引き継ぐことができます。同様に、組織はエッジ・ゲートウェイなどのさまざまなタイプのゲートウェイを使用して、ルーティングと管理の責任を複数のエントリー・ポイントに分散できます。
組織が特定のニーズを満たすAPI Gatewayを選択し、そのゲートウェイを中心にAPI環境を構築してしまうと、別のベンダーに移行するには費用と時間がかかる場合があります。場合によっては、組織は設定をより細かく制御するために、マネージド・サービスの使用ではなく、オープンソース・ゲートウェイのセルフホストを選択することもあります。ただし、組織がセルフホスト型オプションを選択した場合、開発チームにとってコストの高いアプローチとなる可能性があります。
あらゆる種類のアプリケーション・プログラミング・インターフェース(API)をシームレスに開発、管理、保護、ソーシャル化します。
統合プラットフォーム・ソフトウェアによるシームレスな接続と自動化を通じて、ビジネスを強化します。
エージェント型AIの時代に、ハイブリッドクラウドの可能性を最大限に解き放つ