知っておくべき違いは?
徹底比較:AWS、Azure、GoogleのクラウドAPI管理ツール
大手クラウドプロバイダーのAPI管理ツールは、一部の機能が共通している。だが、各社のツールには、開発者が知っておくべき重要な違い、特に、マルチクラウドモデルにおける重要な違いがある。
クラウドAPI管理サービスは、開発者がAPIの保護、バージョン管理、モニタリング、使用状況の分析などを簡単に行えるようにする。パブリッククラウドの「Amazon Web Services(AWS)」「Microsoft Azure」「Google Cloud Platform(GCP)」は、それぞれのバックエンドサービスと緊密に統合されたAPI管理エンジンを提供している。
こうした各クラウドAPI管理サービス(「Amazon API Gateway」「Azure API Management」「Google Cloud Endpoints」)の最大の強みは、それぞれのプロバイダーのツールおよびサービスのエコシステムをネイティブにサポートすることだ。だが、これらのサービスは、開発者がクラウドAPI管理サービスに求めるモニタリング、認証、テストなどの機能に関しては異なっている。また、マルチクラウドアーキテクチャのアプリケーションを構築する開発者は、最終的にサービスを選ぶに当たっては、異なるクラウドプラットフォームにまたがって動作することを確認しなければならない。
本稿では、これら大手パブリッククラウドプロバイダーが提供するAPI管理サービスの主要機能の概要を紹介する。
一般的な長所と短所
AWS
Amazon API Gatewayをユニークなものにしている機能の1つは、一連の「AWS Lambda」関数を動的に呼び出すフロントエンドの役割を果たせることだ。これにより、開発者は必要に応じて関数を起動でき、アプリケーションを不要なときも継続して実行する必要がない。その半面、このモデルをプライベートクラウドで使用する開発者は、プライベート接続をセットアップするために、API関連のより多くの作業を行う必要がある。
Azure
Azure API Managementは、強固な信頼性とガバナンス機能を備えている。Microsoftが2013年に買収したApiphanyのAPI管理技術を拡張したものであるため、外部のサービスもサポートする。またAzureは、クラウドAPI管理サービスのサービスレベル契約を提供する唯一のパブリッククラウドでもある。
開発者は、Azure API Managementに代わる手軽な選択肢である「Azure Functionsプロキシ」の利用も検討すべきだろう。開発者はこのプロキシを使って、API機能を複数のサーバレス関数に分割できる。
GCP
Google Cloud Endpointsは、Google Cloudのエコシステムに対応したアプリケーションコーディングをサポートする。Googleは、このサービスで複雑なガバナンスシナリオをサポートしたり、「Google Cloud Functions」を動的に呼び出したりするための取り組みも進めている。
クラウド開発者は、ハイブリッドクラウドやマルチクラウドシナリオでのAPI管理のために、Googleの「Apigee APIプラットフォーム」の利用を考えてもよいかもしれない。このサービスは、Googleが2016年のApigeeの買収で獲得した技術に基づいている。
管理
こうした各クラウドAPI管理サービスでは、開発者は、APIについてポリシーを設定するのに役立つさまざまな管理ツールを利用できる。
AWSは、Amazon API Gatewayのサービスの管理に対応した幅広いツールを提供している。その中には、スケーラビリティを管理できる「AWS Elastic Beanstalk」や、コードを管理できる「AWS CodeDeploy」「AWS CodeCommit」「AWS CodePipeline」などが含まれる。Azureは、APIテストなどのタスクを完了できる開発者ポータルを提供しているが、AWS開発者は、GitHubで提供されるレファレンス実装を使用する必要がある。
Azure API Managementは、管理インタフェースとしてAzureポータルを使用しており、上で述べたように、APIテストや開発者のオンボーディング(新入社員が業務を円滑に行えるようにするための一連の支援プロセス)を容易にするAzure開発者ポータルも用意されている。開発者はXMLやC#でAPI管理ポリシーを作成でき、アクセス制御リストや開発者サブスクリプションをセットアップすることもできる。
Googleは、開発者が「OpenAPI」仕様を使って管理作業をカスタマイズできるようにしている。また開発者ポータルで、API管理ツールなどさまざまなツールを提供している。
テスト
開発者や品質保証チームは、新しいアプリケーションを本番環境に移行する前に、API機能をテストしなければならない。APIシミュレーション(「モック」とも呼ばれる)により、開発者はAPI機能をデプロイ前にテストできる。
Amazon API Gatewayは、バックエンドの完成前に開発者がAPI応答を生成できるモック統合をサポートする。Microsoft Azureは、モック応答を返すようAPIにポリシーを動的に設定するテストツールを提供している。
Googleは、Google Cloud Endpointsの動作をテストできるビルトインモック機能を提供していない。だが、開発者は「Google Cloud Emulators」を使って、モックと同等の機能をセットアップし、Dockerコンテナでデプロイできる。
Google Cloud Emulatorsは、イベントストリームを取り込む「Google Cloud Pub/Sub」、データソースとなる「Google Cloud Datastore」「Google Cloud Bigtable」との通信をエミュレートするコンポーネントを含んでいる。このエミュレートは、GCPのコマンドラインツール「gcloud」のエミュレータコマンド(β版)で実行される。
認証とアクセス制御
認証機能は、認可されたユーザーとアプリケーションだけがクラウドAPIおよびデータにアクセスすることを保証する。
AWSでは、開発者は標準の「AWSロール」や、「Amazon Cognito」「AWS Identify and Access Management(IAM)」などさまざまなツールを、Lambda関数で作成したカスタムOAuthトークンとともに使って、APIアクセスを構成できる。
Azureは、「Active Directory」を使ってアクセス制御を管理する。Active Directoryは、OAuth、JSON Webトークン、IPフィルタリングによって、開発者に加えてアプリケーションサービスの呼び出しを認証できる。
Googleでは、JSON WebトークンとGoogle APIキーがGoogle Cloud Endpointsのアクセスを管理する。いずれもOAuthと「Firebase」による認証管理インフラと統合できる。
モニタリング
モニタリングは、クラウドAPI管理サービスの重要なコンポーネントとなっている。開発者はAPIのパフォーマンス、機能、可用性を追跡する必要があるからだ。
AWSのメインのアプリケーションモニタリングツールは、「Amazon CloudWatch」だ。CloudWatchは、リソースとパフォーマンスの全体的なビューを提供し、指標とログに基づいて最適化の提案を行う。4xxエラー(クライアント側エラー)や5xxエラー(サーバ側エラー)など、さまざまな指標を収集する。また、「AWS CloudTrail」は、リソース、API呼び出し、ユーザーアクセスの監査とログ記録を行う。
Microsoftが提供する「Azure Monitor」は、API呼び出しの回数、帯域幅、応答時間を追跡し、「Azure Event Hub」を介して、APIの動作の管理が行われるようにする。AWSと同様に、このツールは指標やログ情報(「Failed Gateway Requests(失敗したゲートウェイ要求)」など)も提供する。
一方、Google開発者は、「Google Cloud Platformコンソール」を使ってAPIをモニタリングし、「Google Stackdriver Trace」「Google Stackdriver Logging」でパフォーマンスを詳しく分析できる。
マルチクラウドでのAPI管理
マルチクラウドアーキテクチャのアプリケーションを手掛ける開発者は、他にも幾つかのことを念頭に置かなければならない。
例えば、アプリケーションが主にAWSでホストされているが、1つのGoogleサービスにアクセスする場合、Amazon API Gatewayを使うのが理にかなっている。だが、もっと複雑なマルチクラウドシナリオでは、開発者は、複数のクラウドにまたがって動作するサードパーティーのクラウドAPI管理エンジンの恩恵を受けるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
5
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
6
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
7
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
8
AI導入後に発覚する「社内文書を読めない」問題 情シスは何を直せばいい?
-
9
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
10
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー