クラウドAPIとは?

クラウドAPIは、クラウドベースのサービス間、あるいはクラウドベースとオンプレミスのアプリケーション間の通信を可能にします。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • クラウドAPIの定義
  • クラウドAPIの仕組みを学ぶ
  • 一般的なクラウドAPIの種類の対比

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

クラウドAPIとは?

クラウドAPIとは、クラウドコンピューティングサービス間、またはクラウドサービスとオンプレミスアプリケーション間でデータを転送するソフトウェアプログラムです。

クラウドAPIはアプリケーション・プログラミング・インターフェース(API)のサブセットであり、ソフトウェアプログラム間のデータ転送を容易にするインターフェースです。開発者はAPIを使用することで、コードを書き直したり、既存の関数を新しいアプリに再構築したりすることなく、複数のアプリケーション間でデータと機能を共有することができます。

クラウドAPIは、さまざまな目的のために構成することができます。代表的な使用例として、以下のようなものがあります:

  • 複数のクラウドプロバイダー間でのリソースの共有
  • クラウドでホストされるインフラストラクチャのプロビジョニングと管理
  • クラウドセキュリティの効率化
  • ディザスターリカバリーの自動化

クラウドAPIは、クラウド環境内でサービスを接続するものですが、すべてのクラウドプロバイダーと互換性があるとは限らず、異なるプロバイダーの環境でも動作するように設計されている場合もあります。そのため、クラウドAPIは対応するクラウドベンダーごとに分類されることもあります。ベンダー特化型クラウドAPIは、単一のクラウドプロバイダーのサービスでのみ動作し、クロスプラットフォーム型クラウドAPIは、複数のクラウドプロバイダーで動作するように設計されています。

クラウドAPIの仕組みは?

クラウドAPIは、その目的や使用するプロトコルによって、さまざまな構成が可能です。

一般的に、クラウドAPIは、クラウドサービス間、あるいはクラウドからオンプレミスアプリケーションへのリクエストの送受信によって動作します。API統合を行う場合、各APIには特定のルールがあるため、あるAPIから他のAPIに機能を複製するためにはそのルールに従う必要があります。

API接続のプロセスはかなり複雑ですが、通常は以下の手順で行います:

  1. APIクライアント(アプリケーションなど)が、特定のデータに対するリクエストを開始します。API呼び出しとも呼ばれます。
  2. API呼び出しがAPIエンドポイント(例:サーバー)で受信されます。
  3. APIエンドポイントがリクエストを認証し、その呼び出しが正当なソースからのものであり、正しいAPIプロトコル(SOAP、REST、RPCなど)やスキーマを使用してフォーマットされていることを確認します。
  4. APIエンドポイントが、要求されたデータをAPIクライアントに返します。

クラウドでAPI統合を行うためには、多くの場合、複数のAPI呼び出しが必要です。このプロセスはすぐに扱いにくくなるため、開発者は APIゲートウェイ(API呼び出しを集中的に管理するリバースプロキシサービス)を利用しています。APIゲートウェイは、APIのリクエストとレスポンスの受信、ルーティング、配信する役割を担っています。また、レート制限、認証、セキュリティポリシーの強制適用など、その他多くの機能を処理することもできます。

このプロセスについて、詳しくはAPI呼び出しとは?をご覧ください。

クラウドAPIの主な種類は?

多くの場合、クラウドAPIはクラウドサービスを接続するレイヤーによってラベル付けされます。一般的に、この接続は3つのレベルのいずれかで行われます:

  • インフラストラクチャーレベル:インフラストラクチャーレベルのAPIは、Infrastructure as a Service(IaaS)APIとも呼ばれ、クラウドでホストされるインフラストラクチャのプロビジョンと管理を支援します。IaaS APIは、仮想サーバー、クラウドストレージ、クラウドセキュリティ、その他のインフラストラクチャレベルのソフトウェアやサービスの管理を効率化するために使用することができます。
  • サービスレベル:サービスレベルのAPI(PaaS(Platform as a Service)API)は、このインフラストラクチャと、アプリケーション開発用のサードパーティ製プラットフォームを接続します。PaaS APIを利用することで、開発者は開発ツール、OS、ソフトウェア、データベースなどにアクセスし、独自のアプリケーションを構築することができます。
  • アプリケーションレベル:アプリケーションレベルのAPI(SaaS(Software as a Service)API)は、サードパーティプロバイダによって管理されているクラウドベースのアプリケーションにインフラストラクチャを接続します。SaaS APIを使用すると、ユーザーはクライアントから完成されたクラウドアプリケーション(Gmailなど)にアクセスすることができます。

これを踏まえて、ボブが家の建設をアウトソーシングする場合について考えてみましょう。ボブは、建築家、建設業者、電気技師、インテリアコーディネーターなど、家づくりや家具づくりに明確な役割を果たす専門家とコンタクトを取ることになります。これと同様に、開発者はクラウドベースのアプリケーションを構築したり、アプリケーションをクラウドサービスに接続したりする際に、さまざまな種類のAPIを使用します。家の建設に必要な第三者の専門家チームのように、これらのAPIはそれぞれ異なる機能へのアクセスを開発者に提供します。

CloudflareがクラウドAPIを保護する方法は?

インターネットに接続されたあらゆるものと同様に、APIは、アプリケーション層のDDoS攻撃からOWASPトップ10の脅威まで、さまざまな攻撃にさらされています。APIを不正利用から守るには、侵入してくる攻撃を防止、検出、軽減することができる多層防御が必要です。

Cloudflare API Gatewayは、シャドーAPIの発見とカタログ化、APIによるデータ流出の防止、外部および内部の脅威からのAPI保護に貢献します。詳細は、Cloudflare API Gatewayをご覧ください。