VMware Tanzu 用の API ポータルを使用する

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象:❌ 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) 認証の有効化もサポートされています。

前提条件

シングル サインオン (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 ポータルを使ってインスタンス数を構成するには、次の手順のようにします。

  1. サービス インスタンスに移動し、[API ポータル] を選びます。
  2. [スケールアウト] を選びます。
  3. [インスタンス数] を構成してから、[保存] を選びます。

API portal にパブリック エンドポイントを割り当てる

パブリック エンドポイントを API ポータルに割り当てるには、次の手順のようにします。

  1. [API portal] を選択します。
  2. [概要] を選択して、実行状態と、API portal に割り当てられているリソースを表示します。
  3. [Assign endpoint]\(エンドポイントの割り当て\) の横の [はい] を選択して、パブリック エンドポイントを割り当てます。 数分以内に URL が生成されます。
  4. 後で使用できるように URL を保存します。

API 試用機能を構成する

API ポータルでは、API をまとめて表示し、API 試用機能を使って試すことができます。 API 試用は既定で有効になっており、この構成は API ポータル インスタンス全体でそれを無効にするのに役立ちます。 詳しくは、「API ポータルで API を試す」セクションをご覧ください。

API 試用を有効または無効にするには、次の手順のようにします。

  1. サービス インスタンスに移動し、[API ポータル] を選びます。
  2. [構成] を選択します。
  3. [API 試用を有効にする] をオンまたはオフにしてから、[保存] を選びます。

Spring Cloud Gateway for Tanzu で OpenAPI 仕様を使用して API ルーティングを構成する

このセクションでは、API ポータルでスキーマ定義を使用して API を表示し、それらを試す方法について説明します。 Spring Cloud Gateway for Tanzu で OpenAPI 仕様の URL を使用して API ルーティングを構成するには、次の手順を使用します。

  1. ゲートウェイがトラフィックをルーティングする先のアプリを Azure Spring Apps に作成します。

  2. 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 にすることもできます。
  3. 次のコマンドを使用して、ゲートウェイにパブリック エンドポイントを割り当て、アクセスします。

    az spring gateway update --assign-endpoint
    
  4. 次のコマンドを使用して、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 "*"
    
  5. アプリへのルーティング規則を構成します。

    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
    
  6. 作成されたルートの応答を確認します。 ポータルでルートを確認することもできます。

公開された API を API ポータルで表示する

Note

Spring Cloud Gateway for Tanzu と API portal の間で同期を行うには数分かかります。

endpoint URL を選択して API portal に移動します。 Spring Cloud Gateway for Tanzu で構成されているすべてのルートが表示されます。

構成されたルートを示す API ポータルのスクリーンショット。

API ポータルで API を試す

API を試すには、次の手順を使用します。

  1. 試してみる API を選択します。

  2. [EXECUTE] を選ぶと、応答が表示されます。

    [EXECUTE] オプションが選ばれていることを示す API ポータルのスクリーンショット。

サービスの作成後に API ポータルを有効または無効にする

Azure portal または Azure CLI を使用して、サービスの作成後に API ポータルを有効または無効にすることができます。 API ポータルを無効にする前に、そのエンドポイントの割り当てを解除する必要があります。

Azure portal を使用して API ポータルを有効または無効にするには、次の手順に従います:

  1. サービス リソースに移動し、[API ポータル] を選択します。
  2. [管理] を選択します。
  3. [API ポータルを有効にする] を選択または選択解除し、[保存] を選択します。
  4. API ポータル」ページで API ポータルの状態を表示できるようになりました。

次のステップ