API Managerを使用したAPI管理

今回はAnypoint Platform機能の一つであるAPI Managerの使い方について説明したいと思います。

スポンサーリンク

API Managerとは

API Managerは、APIを管理、制御、保護できるAnypoint Platformのコンポーネントです。Runtime ManagerでデプロイしたAPIに対して、アクセス数の測定をしたり、ポリシーを適用したりすることができます。

なんか説明文だけでピンとこないので、僕なりにイメージしてみました。東京ドームでプロ野球の試合が行われることとしましょう。この場合は、野球の試合などのイベントそのものがRuntime Managerのアプリケーションにあたり、東京ドームという会場がAPI Managerということになります。東京ドームで野球の試合を見るためには、チケットがないと入れませんよね。この時にチケットを提示して中に通すのがAPI Managerのポリシーの機能であったり、観客動員数を数えたりといった機能がAPI Managerとして行われている感じになります。

ドームでのイベント開催

AIP ManagerからAPIを作成

では実際にAPI Managerでの設定をしてみます。まずはAPIを作成してみます。Anypoint PlatformのAPI Manager機能を使用します。

[Add API]から[Add new API]を選択しましょう。

APIの作成

今回はMule Gatewayを使用します。
他の選択はデフォルトのままでOKです。

EchangeからAPI仕様を取得するため、[Select API from Exchange]を選択して、アセットを選びます。

ExchangeからAPIの作成

あとはデフォルトの状態でOKです。

APIが作成されると、「API Instance ID」が発番されます。これは後ほどアプリケーションとの紐付け用に使用します。

API Instance ID

次に、CloudHub環境にアップロードする場合は、登録に必要な認証パラメータを設定する必要があります。
Access Managementの[Business Groups]→ビジネスグループ名→[Environmentes]タブ→デプロイする環境を選択します。

Access Managementの環境

この環境に記載されている、Client IDとClient Secretの内容を控えておきましょう。
(Client Secretは[Show]ボタンを押すことでコピーすることが可能です)

続いてはアプリケーション側での設定となります。
ConfigurationからAPI Autodiscoveryを選択してください。

API Autodiscoveryに設定する内容は以下の通りです。

API Id:API Manager作成時に発行されたAPI Instance ID
Flow Name:メインフロー(HTTP Listenerがあるフロー名)
また、API Idはデプロイする環境によって変わってきますので、直打ちではなくプロパティ化を推奨します。

API Autodiscoveryの設定

Runtime Managerにてアプリケーション(jar)をアップロードします。
アップロードする際、Propertiesタブにて以下のKeyとValueを設定します。

KeyValue
appidAPI ManagerのAPI Instance ID
anypoint.platform.client_id使用環境のClient_ID
anypoint.platform.client_secret使用環境のClient_Secret

デプロイが成功すると、API Managerの画面で作成したAPIのステータスが「Active」になり紐付けが完了です。

試しに、APIを実行してみると、このようにアクセスの履歴が残り、Key Metricsに表示されるようになります。

このように、API ManagerとRuntime Managerのアプリケーションが紐づいた状態になりました。次回はこのAPI Managerにポリシーを適用する方法を触れていきたいと思います。

 

 

MuleSoft
スポンサーリンク

コメント