VMware Tanzu 用の API ポータルを使用する
Note
Basic、Standard、および Enterprise プランは、2025 年 3 月中旬以降に非推奨になり、3 年間の廃止期間となります。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨となり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金と専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:❌ Basic または Standard ✔️ Enterprise
この記事では、Azure Spring Apps Enterprise プランで API portal for VMware Tanzu を使用する方法について説明します。
API portal は、商用 VMware Tanzu コンポーネントの 1 つです。 API portal では、Spring Cloud Gateway for VMware Tanzu からの API 定義の表示と、ブラウザーからの特定 API ルートのテストがサポートされています。 また、構成によるシングル サインオン (SSO) 認証の有効化もサポートされています。
前提条件
- API portal が有効になっている Azure Spring Apps Enterprise プランのインスタンスが既にプロビジョニングされていること。 詳細については、「クイック スタート: Enterprise プランを使用してアプリをビルドし Azure Spring Apps にデプロイする」をご覧ください。
- プロビジョニング中に Spring Cloud Gateway for Tanzu が有効化されており、対応する API メタデータが構成されていること。
シングル サインオン (SSO) の構成
API portal は、OpenID Connect 検出プロトコルをサポートする OpenID ID プロバイダー (IdP) によるシングル サインオン (SSO) を使用した認証と承認をサポートしています。
Note
OpenID Connect 検出プロトコルをサポートする承認サーバーのみがサポートされます。 必ず、外部承認サーバーが API ポータルへのリダイレクトを許可するように構成してください。 承認サーバーのドキュメントを参照し、許可されるリダイレクト URI の一覧に https://<api-portal-external-url>/login/oauth2/code/sso
を追加します。
プロパティ | 必須 | 説明 |
---|---|---|
issuerUri | はい | アプリが発行者識別子としてアサートする URI。 たとえば、指定された発行者 URI が "https://example.com" の場合、OpenID プロバイダー構成要求は "https://example.com/.well-known/openid-configuration" に対して行われます。 結果は OpenID プロバイダー構成応答である必要があります。 |
clientId | はい | IdP によって提供される OpenID Connect クライアント ID |
clientSecret | はい | IdP によって提供される OpenID Connect クライアント シークレット |
scope | はい | JWT ID トークンに含めるスコープの一覧。 この一覧は、ID プロバイダーによって許可されているスコープに基づいている必要があります |
Microsoft Entra ID で SSO を設定するには、「Microsoft Entra ID を使用して Spring Cloud Gateway と API Portal for Tanzu のシングル サインオンを設定する方法」をご覧ください。
Note
間違ったパスワードなど、SSO プロパティの構成が不適切な場合は、SSO プロパティ全体を削除し、正しい構成を再追加する必要があります。
インスタンス数を構成する
API ポータルを使ってインスタンス数を構成するには、次の手順のようにします。
- サービス インスタンスに移動し、[API ポータル] を選びます。
- [スケールアウト] を選びます。
- [インスタンス数] を構成してから、[保存] を選びます。
API portal にパブリック エンドポイントを割り当てる
パブリック エンドポイントを API ポータルに割り当てるには、次の手順のようにします。
- [API portal] を選択します。
- [概要] を選択して、実行状態と、API portal に割り当てられているリソースを表示します。
- [Assign endpoint]\(エンドポイントの割り当て\) の横の [はい] を選択して、パブリック エンドポイントを割り当てます。 数分以内に URL が生成されます。
- 後で使用できるように URL を保存します。
API 試用機能を構成する
API ポータルでは、API をまとめて表示し、API 試用機能を使って試すことができます。 API 試用は既定で有効になっており、この構成は API ポータル インスタンス全体でそれを無効にするのに役立ちます。 詳しくは、「API ポータルで API を試す」セクションをご覧ください。
API 試用を有効または無効にするには、次の手順のようにします。
- サービス インスタンスに移動し、[API ポータル] を選びます。
- [構成] を選択します。
- [API 試用を有効にする] をオンまたはオフにしてから、[保存] を選びます。
Spring Cloud Gateway for Tanzu で OpenAPI 仕様を使用して API ルーティングを構成する
このセクションでは、API ポータルでスキーマ定義を使用して API を表示し、それらを試す方法について説明します。 Spring Cloud Gateway for Tanzu で OpenAPI 仕様の URL を使用して API ルーティングを構成するには、次の手順を使用します。
ゲートウェイがトラフィックをルーティングする先のアプリを Azure Spring Apps に作成します。
OpenAPI 定義を生成し、それにアクセスするための URI を取得します。 次の 2 つの URI オプションを使用できます。
- 1 つ目のオプションは、URI
https://petstore3.swagger.io/api/v3/openapi.json
のように、OpenAPI 仕様を含んだ、パブリックにアクセス可能なエンドポイントを使用するやり方です。 - 2 つ目のオプションは、Azure Spring Apps のアプリの相対パス内に OpenAPI 定義を配置し、
http://<app-name>/<relative-path-to-OpenAPI-spec>
の形式で URI を構築するやり方です。SpringDocs
などのツールを使って OpenAPI 仕様を自動的に生成し、http://<app-name>/v3/api-docs
のような URI にすることもできます。
- 1 つ目のオプションは、URI
次のコマンドを使用して、ゲートウェイにパブリック エンドポイントを割り当て、アクセスします。
az spring gateway update --assign-endpoint
次のコマンドを使用して、Spring Cloud Gateway for Tanzu のプロパティを構成します。
az spring gateway update \ --api-description "<api-description>" \ --api-title "<api-title>" \ --api-version "v0.1" \ --server-url "<endpoint-in-the-previous-step>" \ --allowed-origins "*"
アプリへのルーティング規則を構成します。
Spring Cloud Gateway for Tanzu のルート構成でアプリにアクセスするためのルールを作成するには、次の内容を sample.json ファイルに保存します。
{ "open_api": { "uri": "https://petstore3.swagger.io/api/v3/openapi.json" }, "routes": [ { "title": "Petstore", "description": "Route to application", "predicates": [ "Path=/pet", "Method=PUT" ], "filters": [ "StripPrefix=0" ] } ] }
open_api.uri
の値は、上記の 2 番目の手順で構築されたパブリック エンドポイントまたは URI です。 OpenAPI 仕様で定義されているパスの述語とフィルターを追加することもできます。次のコマンドを使用して、最初の手順で作成されたアプリにルールを適用します。
az spring gateway route-config create \ --name sample \ --app-name <app-name> \ --routes-file sample.json
作成されたルートの応答を確認します。 ポータルでルートを確認することもできます。
公開された API を API ポータルで表示する
Note
Spring Cloud Gateway for Tanzu と API portal の間で同期を行うには数分かかります。
endpoint URL
を選択して API portal に移動します。 Spring Cloud Gateway for Tanzu で構成されているすべてのルートが表示されます。
API ポータルで API を試す
API を試すには、次の手順を使用します。
試してみる API を選択します。
[EXECUTE] を選ぶと、応答が表示されます。
サービスの作成後に API ポータルを有効または無効にする
Azure portal または Azure CLI を使用して、サービスの作成後に API ポータルを有効または無効にすることができます。 API ポータルを無効にする前に、そのエンドポイントの割り当てを解除する必要があります。
Azure portal を使用して API ポータルを有効または無効にするには、次の手順に従います:
- サービス リソースに移動し、[API ポータル] を選択します。
- [管理] を選択します。
- [API ポータルを有効にする] を選択または選択解除し、[保存] を選択します。
- 「API ポータル」ページで API ポータルの状態を表示できるようになりました。