Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

サーバーレスのグローバル API

最終更新 Markdown で表示Agent セットアップ

はじめに

サーバーレス API は、従来のサーバーインフラを管理せずに、スケーラブルで信頼性の高いアプリケーションプログラミングインターフェイス(API)を構築・デプロイする現代的な手法です。これらの API は、ユーザーやほかのシステムからの受信リクエストを処理し、必要なロジックや操作を実行してレスポンスを返します。開発者が基盤サーバーを用意したり管理したりする必要はありません。

サーバーレス API の中心はサーバーレスコンピューティングです。開発者はビジネスロジックを実装するコードの作成に集中し、サーバーのプロビジョニング、スケーリング、保守は気にしません。これにより、API ベースのアプリケーションの俊敏性が高まり、市場投入までの時間も短くなります。

開発者は関数またはマイクロサービスで API エンドポイントと対応するロジックや機能を定義し、サーバーレスプラットフォームへデプロイします。プラットフォームは、受信リクエストに応じてこれらの関数を実行します。

加えて、サーバーレス API は認証・認可サービス、データベース、イベント駆動アーキテクチャなどのほかのクラウドサービスとスムーズに連携することが多く、運用負荷を抑えながら、複雑でスケーラブルかつ耐障害性の高いアプリケーションを構築できます。

大半のクラウドのサーバーレス実装では、コードが実行されるリージョンは 1 つです。つまり、世界中のどこからのリクエストも、この 1 か所へインターネットを横断する必要があります。API リクエストへのレスポンスも、同じインターネット経路を通ってユーザーへ戻ります。

図 1: 従来の単一リージョンアーキテクチャ
図 1: 従来の単一リージョンアーキテクチャ

Cloudflare は異なる、グローバルファーストの方式を取ります。グローバルにデプロイしたアーキテクチャは、世界のさまざまな場所から API にアクセスするユーザーに対して、低レイテンシと高可用性を実現します。性能向上を得るには、コンピュートだけでなく、できればデータも分散する必要があります。キャッシュやグローバルレプリケーションなどの手法でこれを実現できます。

図 2: Region Earth
図 2: Region Earth

全体として、グローバルにデプロイしたサーバーレス API は、現代のアプリケーションとサービスを構築するための、費用対効果が高く、スケーラブルで俊敏な手法です。組織はインフラ管理の複雑さに縛られず、ユーザーへの価値提供に集中できます。

サーバーレスのグローバル API

図 3: サーバーレスのグローバル API
図 3: サーバーレスのグローバル API

これは Cloudflare 上のサーバーレス API のアーキテクチャ例です。コンピュート製品とデータ製品がどのように連携するかを示します。

  1. クライアントリクエスト: API エンドポイントへリクエストを送ります。
  2. API Shield / Router: Workers で受信リクエストを処理し、妥当性を確認し、必要なら認証ロジックを実行します。次に、(必要に応じて変換または付加した)API 呼び出しを Service Bindings で個々の Workers へ転送します。関心の分離ができます。
  3. 読み取りが多いデータ: KV から、読み取りが多く動的でないデータを返します。設定データや製品情報などが該当します。書き込みは必要に応じて行い、制限 に注意します。
  4. リレーショナルデータ: D1 を照会してリレーショナルデータを扱います。ユーザーデータ、製品データなどが該当します。
  5. 外部データ: Hyperdrive で外部データベースを照会します。適用できる場合はキャッシュを使い、性能を上げます。データ移行が実装範囲外のときに特に役立ちます。

関連リソース

役に立ちましたか?