すべてのプロダクト
Search
ドキュメントセンター

API Gateway:バックエンドサービスを使用したAPIの作成と管理

最終更新日:Feb 08, 2025

このトピックでは、API Gatewayコンソールでバックエンドサービスを作成し、このバックエンドサービスを使用してAPIを作成、公開、および管理する方法について説明します。

概要

増加するAPIを効率的に管理できるように、API Gatewayはバックエンドサービスをリージョンのリソースとして抽象化します。 API Gatewayコンソールで、バックエンドサービスを作成し、さまざまな環境でバックエンドサービスのさまざまなURLを定義できます。 バックエンドサービスを使用するAPIを作成するときに、バックエンドサービスを選択できます。 このようにして、APIを呼び出すリクエストは、APIが公開されている環境に基づいて、バックエンドサービスの対応するURLにルーティングされます。 バックエンドサービスを設定するページで、同じバックエンドサービスを使用する公開されているすべてのAPIを一元管理することもできます。 たとえば、次のシナリオがサポートされています。

シナリオ1: テスト環境でバックエンドサービスのURLを変更すると、テスト環境でバックエンドサービスを使用するすべての公開APIが自動的に更新され、APIを再公開する必要はありません。 APIを呼び出すリクエストは、テスト環境のバックエンドサービスの新しいURLにルーティングされます。

シナリオ2: テスト環境でバックエンドサービスに不要になったURLを削除すると、テスト環境でバックエンドサービスを使用するすべての公開済みAPIが公開されなくなります。

詳細は、以下のセクションをご参照ください。

ステップ

  1. バックエンドサービスの作成

  2. 異なる環境でバックエンドサービスの異なるURLを定義する

  3. APIの作成

  4. アプリケーションを作成し、APIを呼び出す権限を付与する

  5. APIのデバッグDebug the API

  6. 特定の環境でバックエンドサービスを使用するすべての公開APIを管理する

手順1: バックエンドサービスの作成

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [バックエンドサービス] を選択します。 [バックエンドサービス] ページが表示されます。

  2. ページの右上隅にある [バックエンドサービスの作成] をクリックして、バックエンドサービスを作成します。 この例では、TypeパラメーターはHTTP/HTTPSに設定されています。 中国 (香港) リージョンおよび中国本土以外のリージョンでは、HTTP/HTTPSまたはOSSタイプのバックエンドサービスを作成できません。

    • 作成するバックエンドサービスごとにタイプを選択する必要があります。 バックエンドサービスの作成後にタイプを変更することはできませんが、バックエンドサービスの名前と説明を変更することはできます。

    • 次のタイプがサポートされています: HTTP/HTTPSサービス、VPC、Function Compute、OSS、EventBridge、サービス検出、混合、およびMOCK。

重要

現在のバージョンのAPI Gatewayは、Finance CloudまたはAlibaba Gov CloudのバックエンドサービスとしてObject Storage Service (OSS) をサポートしていません。 将来のバージョンのAPI Gatewayでは、Finance CloudおよびAlibaba Gov CloudのバックエンドサービスとしてOSSを使用するAPIを作成できます。 中国 (香港) リージョンおよび中国本土以外の他のリージョンでは、HTTPまたはOSSタイプのバックエンドサービスを作成できません。

手順2: 異なる環境でバックエンドサービスの異なるURLを定義する

  1. [バックエンドサービス] ページで作成したバックエンドサービスを見つけ、[操作] 列の [バックエンドサービスの設定] をクリックします。 [バックエンドサービス定義] ページが表示されます。 このページには、DraftTestPreProductionの4つのタブがあります。 [下書き] タブで、バックエンドサービスを使用するすべてのAPIを表示できます。 [テスト] タブ、[プレ] タブ、[プロダクション] タブのそれぞれの環境で、バックエンドサービスのURLを定義できます。 対応するタブで、環境内のバックエンドサービスを使用する公開されたAPIを表示することもできます。

  2. ビジネス要件に基づいてタブを選択し、右上隅の [作成] をクリックします。 この例では、テストが選択されています。

  3. 選択した環境のバックエンドサービスのURLを定義します。 次に、[公開] をクリックします。 サービスが公開されたことを示すメッセージが表示されたら、APIの作成に進むことができます。

  4. URLを定義するときは、次の項目に注意してください。

    説明
    • HTTPまたはHTTPSバックエンドサービスを使用する場合は、バックエンドサービスのURLを入力するだけで済みます。

    • 仮想プライベートクラウド (VPC) のリソースをバックエンドサービスとして使用する場合、API GatewayがVPCにアクセスすることを許可するときに作成する許可ルールを選択する必要があります。 必要に応じて [HTTPSを使用] を選択します。 [HTTPSを使用] を選択した場合、HTTPSプロトコルを使用してバックエンドサービスをリクエストします。

    • Function Computeをバックエンドサービスとして使用する場合、Function TypeパラメーターにEvent FunctionまたはHTTP Functionを選択するかどうかを指定する必要があります。 イベント関数を選択した場合、必要に応じてパラメーターを設定します。 HTTP関数を選択した場合は、トリガーパスを指定します。

    • OSSをバックエンドサービスとして使用する場合、OSSバケット内のオブジェクトにアクセスするためにAPI Gatewayを承認する必要があります。 API Gatewayに読み取り権限を付与するには、API GatewayがossバケットでOSS: GetObject操作を呼び出すことを許可する必要があります。 API Gatewayに書き込み権限を付与するには、API Gatewayがossバケットでoss:PutObjectおよびOSS: DeleteObject操作を呼び出すことを許可する必要があります。 API Gatewayに付与された権限を取り消すには、OSSバケットから関連する権限付与ポリシーを手動で削除します。

ステップ3: APIの作成

  1. 左側のナビゲーションウィンドウで、[APIの管理]> [API] を選択します。 [API] ページで、右上隅の [APIの作成] をクリックします。 Create APIページが表示されます。

  2. [基本情報] ステップで、作成するAPIの基本情報 (APIが属するグループ、APIの名前、認証方法、タイプ、説明など) を設定します。 グループを選択し、他のパラメーターを設定して、[次へ] をクリックします。 この例では、AppCode AuthenticationパラメーターにAppCode Authentication (Header & Query) を有効にするが選択されています。

  3. [APIリクエストの定義] ステップで、ブラウザ、モバイルアプリ、ビジネスシステムなどのクライアントがAPIのリクエストを送信する方法を定義します。 [リクエストタイプ] 、[プロトコル] 、[リクエストパス] 、[HTTPメソッド] 、[リクエストモード] のパラメーターを設定し、[リクエストパラメーター] セクションでパラメーターを追加します。 次に、[次へ] をクリックします。 この例では、HTTP MethodパラメーターをGETに設定し、Request Modeパラメーターをパススルーに設定します。 パススルーの値は、API Gatewayが受信したパラメータを、パラメータをマッピングせずにバックエンドサービスに渡すことを示します。

  4. [バックエンドサービスの定義] ステップで、API Gatewayがクライアントから受信したリクエストを送信するバックエンドサービスのタイプとURL、およびパラメーターのマッピングと処理方法を設定します。 次の例では、既存のバックエンドサービスを使用する方法について説明します。 [設定モード] パラメーターには [既存のバックエンドサービスを使用] 、[バックエンドサービスタイプ] パラメーターには [HTTP/HTTPSサービス] を選択します。 コンソールは、選択したタイプのバックエンドサービスを自動的に検索します。 [バックエンドサービス] ドロップダウンリストから、作成したバックエンドサービスtestHttpを選択します。 さまざまな環境でバックエンドサービスのURLを表示するには、ポインターを [環境設定の表示] の上に移動し、対応するタブをクリックします。 バックエンドサービスを選択した後、バックエンドサービスのタイプに基づいて表示されるその他のパラメーターを設定します。 HTTPまたはHTTPSバックエンドサービスを使用するAPIを作成するには、バックエンド要求パス、HTTPメソッド、およびバックエンドサービスタイムアウト期間のパラメーターを設定する必要があります。

  5. [応答の定義] ステップで、応答情報を設定してAPIドキュメントを生成します。 ドキュメントは、API呼び出し元がAPIをよりよく理解するのに役立ちます。 Response ContentType、Response Example、およびError Response Exampleパラメーターを設定できます。 この例では、このステップはスキップされる。 [作成] をクリックします。

  6. [作成] をクリックすると、APIを公開するように通知するメッセージが表示されます。 API Gatewayには、APIをパブリッシュできる3つの環境が用意されています。 APIで実行するすべての設定は、APIを必要な環境に公開した後にのみ有効になります。

    重要

    バックエンドサービスを使用するAPIを環境に公開する前に、バックエンドサービスが環境で定義されていることを確認してください。 それ以外の場合は、APIを公開できません。

ステップ4: アプリケーションを作成し、APIの呼び出しを許可する

  1. アプリケーションは、APIを呼び出すために使用するIDです。 前のAPI作成手順では、セキュリティ認証パラメーターがAlibaba Cloud Appに設定されています。 APIを公開した後、アプリケーションを作成し、APIを呼び出す権限をアプリに付与する必要があります。

  2. 左側のナビゲーションウィンドウで、[APIの呼び出し]> [アプリ] を選択します。 Alibaba Cloud Appセキュリティ認証方式には、AppKeyとAppSecretのペアとAppCodeの2つの認証モードが用意されています。 この例では、AppCodeモードを使用してAPPを認証します。 このモードの詳細については、「簡易認証モードでのAPIの呼び出し」をご参照ください。

  3. APIリストで、作成したAPIを見つけ、[操作] 列の [権限付与] をクリックします。 Stageパラメーターを、APIを公開する環境に設定します。 [承認用アプリの選択] パラメーターの右側にある検索ボックスに、作成したアプリケーションの名前を入力します。 検索結果で、作成したアプリケーションを選択し、[操作] 列の [追加] をクリックし、[確認] をクリックします。 アプリケーションがAPIの呼び出しを許可されていることを通知するメッセージが表示されます。

ステップ5: APIのデバッグ

承認が成功した後、APIをデバッグします。 API Gatewayはオンラインデバッグをサポートしています。 クライアントでAPIを呼び出す前に、この機能を使用してAPIが正しく構成されているかどうかを確認することをお勧めします。

[API] ページで、作成したAPIの名前をクリックし、[操作] 列の [デバッグAPI] をクリックします。 APIの詳細ページで、左側のナビゲーションツリーの [デバッグAPI] をクリックします。 APIのリクエストパラメーターを定義している場合は、リクエストパラメーターに異なる値を入力して、APIが正しく設定されているかどうかを確認できます。 APIをデバッグするときは、アプリ名パラメーターが許可されたアプリケーションに設定されていることを確認してください。 デバッグ用の環境は、アプリケーションがAPIの呼び出しを許可されている環境である必要があります。 そうしないと、デバッグが失敗する可能性があります。

手順6: 特定の環境でバックエンドサービスを使用するすべての公開APIを管理する

  1. 環境でバックエンドサービスの定義を変更すると、その環境でバックエンドサービスを使用するすべての公開済みAPIがバッチで再公開され、更新されます。

  2. この例では、URLはテスト環境のtestHttp用に変更されています。 環境がAPIを公開し、変更がすべてのAPIに同期されることを示すメッセージが表示されます。 バックエンドサービスが再公開されると、APIの公開結果がリストに表示されます。 テスト環境でバックエンドサービスを使用するAPIを呼び出すと、リクエストは新しいURLに転送されます。

  3. 環境でバックエンドサービスのURLが不要になった場合は、その環境からバックエンドサービスを削除できます。 同じ環境でバックエンドサービスを使用する公開されたAPIは、同期的に削除されます。

    警告

    上記の操作は、関連するすべてのAPIで実行され、不可逆的です。 作業は慎重に行ってください。