AWSにOpen-Source API Gatewayをデプロイするコストを計算する方法

March 11, 2024

Technology

オープンソースAPIゲートウェイとAmazon API Gatewayの選択

開発者がAmazon API Gatewayのような完全管理型サービスを使用するか、オープンソースのAPIゲートウェイソリューションを使用するかを決定する際には、いくつかの重要な要素が考慮されます。この記事では、これらの考慮事項を検討し、エンジニアリングの専門家が情報に基づいた選択をするのを支援します。

  • マルチクラウドおよびハイブリッド環境: Amazon API Gatewayは、Lambdaなどの他のAWSサービスとの統合に優れていますが、AWSエコシステムに密接に結びついています。一方、オープンソースのゲートウェイは、GCP、Azure、プライベートクラウド、またはこれらの環境のハイブリッド環境に展開するための柔軟性を提供します。

  • 広範なカスタマイズニーズ: Amazon API Gatewayの範囲を超えた高度にカスタマイズされたAPI機能を必要とするプロジェクトでは、オープンソースソリューションがより大きな制御と特定の要件を満たすためのゲートウェイのカスタマイズ能力を提供します。

  • 高いAPIリクエスト量とコスト: APIトラフィックが増加するにつれて、Amazon API Gatewayのコストが大きくなる可能性があります。対照的に、オープンソースのゲートウェイは、特に高トラフィックのシナリオにおいて、よりコスト効果の高いオプションとなります。

  • パフォーマンスとレイテンシの最適化: オープンソースのオプションは、パフォーマンスとレイテンシに対するより大きな制御を提供します。エンジニアは、アプリケーションに適した最適化されたオープンソースゲートウェイ(例: Apache APISIX、Kong、Envoy、Tyk)を直接ベンチマークして選択できます。

Amazon API Gatewayは、AWSエコシステム内で便利でよく統合されたソリューションを提供しますが、オープンソースの代替品は、特に複雑または高トラフィックのユースケースに適した、より大きな柔軟性、カスタマイズ、および低コストを提供します。

コスト計算における考慮事項

APIゲートウェイは、クライアントアプリケーションとバックエンドサービス間のトラフィックを管理する上で重要な役割を果たし、データプレーンとコントロールプレーンの2つの主要コンポーネントを持つミドルウェアとして機能します。

データプレーン: トラフィックに応じたスケーリング

データプレーンは、着信APIリクエストを処理する責任があり、ルーティング、認証、データ変換などのタスクを実行し、システムの円滑な動作を確保するために重要です。APIコール量が増加するにつれて、データプレーンは最適なパフォーマンスを維持するためにより多くのコンピューティングリソースを必要とします。したがって、APIコール量を正確に見積もることは、システムがリクエストを効果的に処理し、高可用性を維持するために必要なデータプレーンインスタンスの数を決定する上で重要です。

コントロールプレーン: 高可用性の計画

コントロールプレーンは、APIゲートウェイの中心的なハブとして機能し、設定とポリシーを管理し、データプレーンがリクエストを処理する方法を指示します。データプレーンとは異なり、コントロールプレーンのリソース要件はAPIコール量に直接関連しません。しかし、コントロールプレーンの高可用性を確保することは重要です。したがって、ユーザーは、望まれる冗長性レベルと稼働時間要件に基づいてコントロールプレーンのリソース割り当てを計画する必要があります。

監視とログのコスト

  • Amazon API Gateway: AWS CloudWatchと統合されており、監視とログ機能を提供しますが、追加コストが発生します。Amazon API Gatewayの全体的なコストを考慮する際には、監視とログの要件を評価することが重要です。

  • オープンソースAPIゲートウェイ: 監視とログのソリューションは通常、別途考慮する必要があります。PrometheusとGrafanaのようなコスト効果の高いオプションを検討するか、クラウドプロバイダーが提供する管理されたログ管理サービスを選択することができます。

コスト見積もり例: 100億APIリクエストを処理するためのコスト見積もり

Amazon API Gatewayを使用する場合

Amazon API Gatewayを使用して100億のAPIリクエストを処理する場合の月額コストを見積もります。以下の見積もりは推定値であり、実際のコストは特定の設定と使用パターンに基づいて異なる場合があります。

前提条件:

  • 月間APIリクエスト数: 100億
  • 平均リクエスト/レスポンスペイロードサイズ: 1 KB (1,024バイト)

Amazon API Gatewayで100億APIリクエストを処理する

上記のシナリオでは、月額コストは$9,030です。

オープンソースAPIゲートウェイApache APISIXを使用する場合

月に20日、1日あたり12時間の稼働時間を想定し、APIゲートウェイがこれらの100億APIコールを処理するために必要なリクエスト数を計算します。

10000000000 / 20.0 / 12 / 3600 = 11574.074074074073

計算によると、1秒あたり約11,000のAPIリクエストを処理する必要があります。4 vCPUを搭載した2つのデータプレーンを採用することができます。

11574.074074074073 / 4 / 2 = 1446.7592592592591

このシナリオでは、各CPUが1秒あたり約1400のAPIリクエストを処理しますが、これはApache APISIXのようなAPIゲートウェイにとっては簡単なタスクです。

さらに、コントロールプレーンにも同じコンピューティングリソースを割り当てます。

APISIXで100億APIリクエストを処理する

月額コストは$195.06です。

Amazon API GatewayとオープンソースAPIゲートウェイの100億リクエスト処理コストを比較すると、9030 / 195.06 = 46.29344816979391となり、Amazon API GatewayのクラウドリソースコストはオープンソースAPIゲートウェイの約46倍高いことがわかります。

ただし、オープンソースAPIゲートウェイを使用してもソフトウェアコストがなくなるわけではありません。エンジニアは、アップグレードやメンテナンスのコスト、技術サポートや商用製品の購入コストも考慮する必要があります。

結論

Amazon API GatewayとオープンソースAPIゲートウェイApache APISIXを実例を通じて比較することで、オープンソースAPIゲートウェイが企業のソフトウェアコストを大幅に削減できることがわかりました。Amazon API Gatewayは、AWSエコシステム内で便利でよく統合されたソリューションを提供しますが、オープンソースの代替品は、特に複雑または高トラフィックの使用シナリオにおいて、柔軟性、カスタマイズ、およびコスト効果の点で優れています。

Tags: