次の方法で共有


API Management インスタンスから API を同期する

この記事では、API Management インスタンスへのリンクを作成して、API センターのインベントリでインスタンスの API を継続的に最新の状態に保つ方法について説明します。

API Management インスタンスのリンクについて

Azure CLI を使えば、必要に応じて Azure API Management から Azure API Center に API をインポートできますが、API Management インスタンスをリンクすれば、継続的に同期して API インベントリを最新の状態に保つことができます。

API Management インスタンスを API ソースとしてリンクすると、次のことが発生します。

  1. API Management インスタンスからのすべての API と、必要に応じて API 定義 (仕様) が、API センターのインベントリに追加されます。
  2. API センターで Azure API Management という種類の環境を構成します。
  3. API Management から同期された API 定義ごとに、関連付けられたデプロイが作成されます。

API Management API は、既存の API の設定が変更される (たとえば、新しいバージョンが追加される) か、新しい API が作成されるか、API が削除されるたびに、API センターに自動的に同期されます。 この同期は、API Management から Azure API センターへの一方向です。つまり、API センターでの API の更新が API Management インスタンスに同期されることはありません。

Note

  • リンクされた API Management インスタンス (API ソース) の数には制限があります。
  • API Management での API の更新は、通常は数分以内にお使いの API センターに同期されますが、同期は最大 24 時間かかる可能性があります。

API Management から同期されたエンティティ

API センターにメタデータ プロパティやドキュメントを追加するか、それらを更新して、関係者が同期された API を見つけたり、理解したり、使ったりしやすくすることができます。 詳しくは、Azure API Center の組み込みおよびカスタム メタデータ プロパティに関する記事を参照してください。

Azure API Center で変更できるエンティティ プロパティと、リンクされた Azure API Management インスタンスの値に基づいて決定されるプロパティを次の表に示します。 また、Azure API Center のエンティティのリソースまたはシステム識別子は自動的に生成され、変更することはできません。

エンティティ API Center で構成できるプロパティ API Management で決定されるプロパティ
API まとめ
lifecycleStage
termsOfService
ライセンス
externalDocumentation
customProperties
タイトル
description
kind
API バージョン lifecycleStage タイトル
環境 タイトル
description
kind
server.managementPortalUri
onboarding
customProperties
server.type
展開 タイトル
description
サーバー

customProperties
server.runtimeUri

プロパティについて詳しくは、「Azure API Center REST API リファレンス」を参照してください。

前提条件

  • Azure サブスクリプション内の API センター。 作成していない場合は、「クイック スタート: API Center を作成する」を参照してください。

  • 同じサブスクリプションまたは別のサブスクリプション内の Azure API Management インスタンス。 そのインスタンスは同じディレクトリ内にある必要があります。

  • Azure CLI の場合

    • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

    • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

      • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

      • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

      • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

    Note

    az apic コマンドには、apic-extensionAzure CLI 拡張機能が必要です。 az apic コマンドを使用していない場合は、最初の az apic コマンドの実行時に拡張機能を動的にインストールするか、拡張機能を手動でインストールできます。 Azure CLI 拡張機能の詳細については、こちらを参照してください。

    apic-extension の最新の変更と更新については、リリース ノートを参照してください。

    Note

    この記事の Azure CLI コマンドの例は、PowerShell または bash シェルで実行できます。 変数の構文が異なるために必要な場合は、2 つのシェルで個別のコマンド例が提供されています。

API Center にマネージド ID を追加する

このシナリオでは、API Center はマネージド ID を使用 して API Management インスタンス内の API にアクセスします。 必要に応じて、1 つのシステム割り当て、または 1 つ以上のユーザー割り当てマネージド ID のどちらかを構成します。

次の例では、Azure portal または Azure CLI を使って、システム割り当てマネージド ID を構成する方法を示します。 大まかに言うと、構成手順はユーザー割り当てマネージド ID の場合も同様です。

  1. ポータルで、API Center に移動します。
  2. 左側のメニューの [セキュリティ] で、[マネージド ID] を選択します。
  3. [システム割り当て済み] を選択し、状態を [オン] に設定します。
  4. [保存] を選択します。

API Management サービス閲覧者ロールをマネージド ID に割り当てる

API のインポートを許可するには、API Management インスタンスで API Center のマネージド ID に API Management サービス閲覧者ロールを割り当てます。 Azure portal か、Azure CLI を使用できます。

  1. portal で、API Management インスタンスに移動します。
  2. 左側のメニューで [アクセス制御 (IAM)] を選択します。
  3. [ロールの割り当ての追加] を選択します。
  4. [ロールの割り当ての追加] ペインで、次のように値を設定します。
    1. [ロール] のタブで、[API Management サービス閲覧者] を選択します。
    2. [メンバー] タブの [アクセスの割り当て先] で、[マネージド ID]>[+ メンバーの選択] を選びます。
    3. [マネージド ID の 選択] ページで、前のセクションで追加した API Center のシステム割り当てマネージド ID を選択します。 [選択] をクリックします。
    4. [レビューと割り当て] を選択します。

ポータルを使って API Management インスタンスをリンクできます。

  1. ポータルで、API Center に移動します。
  2. [資産] で、[環境] を選択します。
  3. [リンク (プレビュー)]>[+ 新しいリンク] の順に選択します。
  4. [Azure API Management サービスをリンクする] ページで:
    1. リンクしたい [サブスクリプション][リソース グループ][Azure API Management サービス] を選択します。
    2. [リンクの詳細] に識別子を入力します。
    3. [環境の詳細] で、[環境のタイトル] (名前)、[環境の種類][環境の説明] (省略可能) を入力します。
    4. [API の詳細] で、同期された API のライフサイクル ステージを選択します。 (API のこの値は、API センターに追加した後で更新できます。)また、API 定義を同期するかどうかも選択します。
  5. [作成] を選択します

ポータルで Azure API Management サービスをリンクするスクリーンショット。

環境が API センターに追加されます。 API Management API が API センターのインベントリにインポートされます。

ポータルでの環境の一覧のスクリーンショット。

API Management インスタンスがリンクされている間は、API センターから同期された API を削除することはできません。 必要があれば、リンクを削除できます。 リンクを削除した場合:

  • API センターのインベントリ内の同期された API Management API が削除されます
  • その API Management インスタンスに関連付けられている環境とデプロイが削除されます

API Management リンクを削除するには:

  1. ポータルで、API Center に移動します。
  2. [資産] で、[環境]>[リンク (プレビュー)] の順に選択します。
  3. リンクを選択してから、[削除] (ごみ箱アイコン) を選択します。