このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
Apigee で API を公開するには、API プロキシを実装します。API プロキシは、アプリ側の API をバックエンド サービスから切り離して、これらのアプリがバックエンド コードの変更の影響を受けないようにします。
以下の各セクションで説明するように、Cloud Code で Apigee を使用して API プロキシを開発します。Apigee ワークスペースでのフォルダとファイルの管理もご覧ください。
API プロキシの作成
Cloud Code で Apigee を使用して API プロキシを作成するには、ローカル開発ワークスペースを作成してから、次の操作を行います。
次のいずれかの操作を行います。
ワークスペースで、apiproxies フォルダにカーソルを合わせて、 をクリックします。
[View] > [Command Palette] を選択して、コマンド パレットを開き、[Cloud Code: Create Apigee proxy bundle] を選択します。
[Create proxy] ウィザードが開きます。
次のオプションのいずれかを選択します。
型 説明 Access token-based authentication
API プロキシに OAuth 2.0 ベースの認証を追加します。Apigee によって、API プロキシに次のポリシーが自動的に追加されます。
- プロキシで割り当てを管理する割り当て。
- バックエンド サーバーに転送されたリクエストからクエリ パラメータとして提供された API キーを削除する AssignMessage。
- 認証方法として OAuthV2 を使用します。
API key-based authentication
単純な API キー検証を使用する API プロキシ。Apigee によって、API プロキシに次のポリシーが自動的に追加されます。
- プロキシで割り当てを管理する割り当て。
- アプリの要求で提示された API キーを検証する VerifyAPIKey。
- バックエンド サーバーに転送されたリクエストからクエリ パラメータとして提供された API キーを削除する AssignMessage。
Echo request
リクエストをエコーする API プロキシ。このプロキシ タイプにはターゲット/API バックエンドがなく、認証もありません。バックエンド サービス(
Target (Existing API)
)の URL の指定を求められないこと、デフォルトのターゲット エンドポイント構成が含まれていないことを除き、リバース プロキシの作成と同じです。Simple reverse proxy
リクエストをバックエンド ターゲットに転送する API プロキシ。認証が含まれていないため、リクエストはセキュリティ チェックなしでバックエンドに渡されます。
OpenAPI 3.0 spec
既存の OpenAPI 3.0 仕様を読み込んでプロキシを作成します。詳細については、OpenAPI Initiative をご覧ください。
各プロキシタイプの作成に必要なフィールド(ベースパスなど)については、API プロキシのプライマリ フィールドをご覧ください。各プロンプトに対応し、Enter キーを押して、確定して続行するか、Esc キーを押して、ウィザードをキャンセルします。
ウィザードの手順を完了すると、[Apigee] セクションの apiproxies
の下に新しい apiproxy-name
フォルダが追加されます。各 API プロキシ フォルダは、API プロキシ構成のディレクトリ構造で説明されているように構造化されます。
次の例は、タイプ API key-based authentication
で作成された API プロキシ用に作成されたデフォルトの構成を示しています。
デフォルト構成の説明については、デフォルトの API プロキシ構成の確認をご覧ください。
デフォルトの API プロキシ構成の確認
次の表は、選択した API プロキシの種類と認証オプションに基づいて API プロキシを作成する際に、デフォルト構成に含まれる内容をまとめたものです。
proxies/default.xml デフォルトのプロキシ エンドポイント構成。 |
||||
targets/default.xml デフォルトのターゲット エンドポイント構成。 |
||||
impose-quota.xml デフォルトの割り当てを定義する割り当てポリシー。 |
||||
remove-header-authorization.xml 認証のために渡された Authorization ヘッダーを削除する AssignMessage ポリシー。 |
||||
remove-query-param-apikey.xml 認証のために渡された apikey クエリ パラメータを削除する AssignMessage ポリシー。 |
||||
verify-api-key.xml API キーの検証を適用する VerifyAPIKey ポリシー。 |
||||
verify-oauth-v2-access-token.xml OAuth V2 アクセス トークンを検証する OAuthV2 ポリシー。 |
API プロキシ バンドルのアップロード
Cloud Code で API プロキシ バンドルを Apigee にアップロードするには:
次のいずれかの操作を行います。
Apigee ワークスペースで、apiproxies フォルダにカーソルを合わせて、 をクリックします。
[View] > [Command Palette] を選択して、コマンド パレットを開き、[Cloud Code: Import Apigee proxy bundle] を選択します。
アップロードする API プロキシ バンドルに移動し、[選択] をクリックします。API プロキシ バンドルは、API プロキシ構成のディレクトリ構造の説明に沿って構造化する必要があります。
(省略可)デフォルトでは、API ファイルの名前には、zip ファイルの名前から拡張子を除いたものが使用されます。この名前が一意でない場合は、一意の名前を入力するように求められます。
アップロードされた apiproxy-name
フォルダがワークスペースの apiproxies
の下に追加されます。
プロキシ エンドポイントの管理
API プロキシとはで説明されているように、プロキシ エンドポイント(ProxyEndpoint)は、クライアント アプリが API を使用する方法を定義します。プロキシ エンドポイントを構成して、API プロキシの URL を定義します。また、プロキシ エンドポイントは、アプリが HTTP と HTTPS のどちらで API プロキシにアクセスするかを決定します。プロキシ エンドポイントにポリシーを接続して、セキュリティ、割り当てチェック、その他のタイプのアクセス制御とレート制限を適用できます。
以下の手順に沿って、プロキシ エンドポイントを作成して構成します。
プロキシ エンドポイントの作成
API プロキシを作成すると、デフォルトのプロキシ エンドポイントが API プロキシ構成に追加されます。詳細については、デフォルトの API プロキシ構成の確認をご覧ください。必要に応じて、追加のプロキシ エンドポイントを作成できます。
Cloud Code で Apigee を使用してプロキシ エンドポイントを作成するには:
Apigee ワークスペースで、次のいずれかの操作を行います。
- 次のいずれかのフォルダにカーソルを合わせて、[] をクリックし、[Create proxy endpoint] を選択します。
apiproxy-name
プロキシ バンドルapiproxy-name/apiproxy
apiproxy-name/apiproxy/proxies
フォルダにカーソルを合わせて、[] をクリックします。
[Create proxy endpoint] ウィザードが開きます。
- 次のいずれかのフォルダにカーソルを合わせて、[] をクリックし、[Create proxy endpoint] を選択します。
次のプロンプトのセットの値を入力します。プロンプトの入力ごとに Enter キーを押して、確定して続行するか、Esc キーを押して、キャンセルします。
項目 説明 Proxy endpoint name
プロキシ エンドポイントの識別に使用する名前。 API proxy base path
API にリクエストを送信するために使用される URL の一部。Apigee では、URL を使用して受信リクエストを照合し、適切な API プロキシに転送します。 Target endpoint
no target
またはdefault
を選択します。 詳細については、ProxyEndpoint 構成要素をご覧ください。
エンドポイントが作成されると、Apigee セクションの apiproxy-name/apiproxy/proxies
フォルダに追加され、エディタでエンドポイントが開きます。以下のセクションで説明するとおりに、プロキシ エンドポイントを構成します。
プロキシ エンドポイントの構成
プロキシ エンドポイントを構成するには、次のセクションをご覧ください。
- フローによるプロキシの実行の制御
- API プロキシのエンドポイントの URL の決定
- ポリシーを使用した機能の追加
- リソースの管理
- ProxyEndpoint の構成
- フロー構成のリファレンス
- エンドポイント プロパティのリファレンス
ターゲット エンドポイントの管理
API プロキシとはで説明しているとおり、ターゲット エンドポイント(TargetEndpoint)では、API プロキシとバックエンド サービスとのやり取りの方法を定義します。適切なバックエンド サービスにリクエストを転送し、セキュリティ設定、HTTP または HTTPS プロトコル、その他の接続情報を定義するようにターゲット エンドポイントを構成します。ターゲット エンドポイントにポリシーを接続すると、最初のリクエストを行ったアプリ用に、レスポンス メッセージが適切に形式設定されるようになります。
このセクションの説明に沿って、ターゲット エンドポイントを作成して構成します。
ターゲット エンドポイントの作成
リバース API プロキシを作成すると、デフォルトのターゲット エンドポイントが API プロキシ構成に追加されます。バックエンド ターゲットのない API プロキシを作成する場合、デフォルトのプロキシ エンドポイントのみが API プロキシ構成に追加され、ターゲット エンドポイントは追加されません。詳細については、デフォルトの API プロキシ構成の確認をご覧ください。
必要に応じてターゲット エンドポイントを作成します。
Cloud Code で Apigee を使用してターゲット エンドポイントを作成するには:
Apigee ワークスペースで、次のいずれかの操作を行います。
- 次のいずれかのフォルダにカーソルを合わせて、[] をクリックし、[Create target endpoint] を選択します。
apiproxy-name
プロキシ バンドルapiproxy-name/apiproxy
apiproxy-name/apiproxy/targets
フォルダにカーソルを合わせて、[] をクリックします。
[Create target endpoint] ウィザードが開きます。
- 次のいずれかのフォルダにカーソルを合わせて、[] をクリックし、[Create target endpoint] を選択します。
作成するターゲット エンドポイントの種類に基づいて、次の手順を行います。
型 手順 外部 HTTP(s) ターゲット 外部 HTTP(s) ターゲットを定義するには:
- [HTTP(s) ターゲット] を選択します。
- ターゲット エンドポイントの名前を [ターゲット エンドポイント名] に入力します。
- [Backend target URL] に、このターゲット エンドポイントが呼び出すバックエンド サービスの URL を入力します。
詳細については、ターゲット エンドポイントの URL の指定をご覧ください。
プロキシ チェーン ローカルにデプロイされた API プロキシをターゲットとして定義するには:
- [Proxy chaining] を選択します。
- ターゲット エンドポイントの名前を [ターゲット エンドポイント名] に入力します。
- API プロキシを選択します。
- プロキシ エンドポイントを選択します。
詳細については、チェーンによるプロキシの接続をご覧ください。
負荷分散ターゲット 環境で定義されたターゲット サーバーを使用してロード バランシングのターゲットを定義するには:
- [Load balanced target] を選択します。
- ターゲット エンドポイントの名前を [ターゲット エンドポイント名] に入力します。
詳細については、名前付き TargetServer 間でロード バランシングを行うために TargetEndpoint を構成するをご覧ください。
ターゲット エンドポイントが作成され、apiproxy-name/apiproxy/targets
フォルダに追加され、エディタで開きます。次のセクションで説明するとおりに、ターゲット エンドポイントを構成します。
ターゲット エンドポイントの構成
以下のトピックの説明に沿って、ターゲット エンドポイントを構成します。
- バックエンド サーバー間の負荷分散
- フローによるプロキシの実行の制御
- API プロキシの連結
- ターゲット エンドポイントの URL の決定
- ポリシーを使用した機能の追加
- リソースの管理
- TargetEndpoint の構成
- フロー構成のリファレンス
- エンドポイント プロパティのリファレンス