API Management インスタンスから API を同期する (プレビュー)
この記事では、API Management インスタンスを統合して、API センターのインベントリ内でインスタンスの API を継続的に最新の状態に保つ方法について説明します。
API Management インスタンスの統合について
Azure CLI を使用して、必要に応じて Azure API Management から Azure API Center に API をインポートできますが、API Management インスタンスを統合 (リンク) すると、継続的に同期して API インベントリを最新の状態に保つことができるようになります。 Azure API Center では、Amazon API Gateway などのソースから API を同期することもできます。
API Management インスタンスを API ソースとして統合すると、次のことが発生します。
- API Management インスタンスからのすべての API と、必要に応じて API 定義 (仕様) が、API センターのインベントリに追加されます。
- API センターで Azure API Management という種類の環境を構成します。
- API Management から同期された API 定義ごとに、関連付けられたデプロイが作成されます。
API Management API は、既存の API の設定が変更される (たとえば、新しいバージョンが追加される) か、新しい API が作成されるか、API が削除されるたびに、API センターに自動的に同期されます。 この同期は、API Management から Azure API センターへの一方向です。つまり、API センターでの API の更新が API Management インスタンスに同期されることはありません。
Note
- Azure API Management の統合は現在プレビュー段階です。
- 統合された API Management インスタンス (API ソース) の数には制限があります。
- API Management での API の更新は、通常は数分以内にお使いの API センターに同期されますが、同期は最大 24 時間かかる可能性があります。
- 統合中に API 定義を含めるオプションを選択した場合、それも API センターに同期されます。
API Management から同期されたエンティティ
API センター内の同期された API にメタデータ プロパティやドキュメントを追加または更新して、関係者が API を発見、理解、使用できるようにすることができます。 詳しくは、Azure API Center の組み込みおよびカスタム メタデータ プロパティに関する記事を参照してください。
次の表には、Azure API Center において変更できるエンティティ プロパティと、API ソース内の値に基づいて設定されるプロパティを示します。
エンティティ | API Center で構成できるプロパティ | 統合 API ソースにおいて決定されるプロパティ |
---|---|---|
API | まとめ lifecycleStage termsOfService ライセンス externalDocumentation customProperties |
タイトル description kind |
API バージョン | lifecycleStage | タイトル 定義 (同期されている場合) |
環境 | タイトル description kind server.managementPortalUri onboarding customProperties |
server.type |
展開 | タイトル description サーバー 州 customProperties |
server.runtimeUri |
Note
Azure API Center に同期されるエンティティのリソースおよびシステムの ID は自動的に生成され、かつ変更できません。
前提条件
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-extension
Azure CLI 拡張機能が必要です。az apic
コマンドを使用していない場合は、最初のaz apic
コマンドの実行時に拡張機能を動的にインストールするか、拡張機能を手動でインストールできます。 Azure CLI 拡張機能の詳細については、こちらを参照してください。apic-extension
の最新の変更と更新については、リリース ノートを参照してください。 特定の機能には、拡張機能のプレビューまたは特定のバージョンが必要な場合があります。Note
この記事の Azure CLI コマンドの例は、PowerShell または bash シェルで実行できます。 変数の構文が異なるために必要な場合は、2 つのシェルで個別のコマンド例が提供されています。
API Center においてマネージド ID を有効にする
このシナリオでは、API Center はマネージド ID を使用して Azure リソースにアクセスします。 ニーズに応じて、1 つのシステム割り当て、または 1 つ以上のユーザー割り当てのマネージド ID を有効にします。
次の例は、Azure portal または Azure CLI を使用して、システム割り当てマネージド ID を有効にする方法を示しています。 大まかに言うと、構成手順はユーザー割り当てマネージド ID の場合も同様です。
- ポータルで、API Center に移動します。
- 左側のメニューの [セキュリティ] で、[マネージド ID] を選択します。
- [システム割り当て済み] を選択し、状態を [オン] に設定します。
- [保存] を選択します。
API Management サービス閲覧者ロールをマネージド ID に割り当てる
API のインポートを許可するには、API Management インスタンスで API Center のマネージド ID に API Management サービス閲覧者ロールを割り当てます。 Azure portal か、Azure CLI を使用できます。
- portal で、API Management インスタンスに移動します。
- 左側のメニューで [アクセス制御 (IAM)] を選択します。
- [ロールの割り当ての追加] を選択します。
-
[ロールの割り当ての追加] ペインで、次のように値を設定します。
- [ロール] タブ上で、[API Management サービスのリーダー] を選択します。
- [メンバー] タブの [アクセスの割り当て先] で、[マネージド ID]>[+ メンバーの選択] を選びます。
- [マネージド ID の選択] ページ上で、前のセクション内で追加した API Center のシステム割り当てマネージド ID を選択します。 [選択] をクリックします。
- [レビューと割り当て] を選択します。
API Management インスタンスを統合する
ポータルまたは Azure CLI を使用して API Management インスタンスを統合できます。
- ポータルで、API Center に移動します。
- [資産] で、[環境] を選択します。
- [リンク (プレビュー)]>[+ リンクの作成] を選択します。
-
[Azure API Management サービスをリンクする] ページで:
- 統合する [サブスクリプション]、[リソース グループ]、[Azure API Management サービス] を選択します。
- [リンクの詳細] に識別子を入力します。
- [環境の詳細] 内で、[環境のタイトル] (名前)、[環境の種類]、[環境の説明] (省略可能) を入力します。
-
[API の詳細]:
- 同期された API の [ライフサイクル] を選択します。 (API のこの値は、API センターに追加した後で更新できます。)
- 必要に応じて、同期された API に API 定義を含めるかどうかを選択します。
- [作成] を選択します
環境が API センターに追加されます。 API Management API が API センターのインベントリにインポートされます。
統合を削除する
API ソースが統合されている間は、同期された API を API Center から削除することはできません。 必要に応じて統合を削除できます。 統合を削除する場合:
- API Center のインベントリ内の同期された API は削除されます
- API ソースに関連付けられた環境とデプロイは削除されます
ポータルまたは Azure CLI を使用して統合を削除できます。
- ポータルで、API Center に移動します。
- [資産] の下で、[環境]>[リンク (プレビュー)] を選択します。
- リンクを選択してから、[削除] (ごみ箱アイコン) を選択します。