今回は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]を選択しましょう。
今回はMule Gatewayを使用します。
他の選択はデフォルトのままでOKです。
EchangeからAPI仕様を取得するため、[Select API from Exchange]を選択して、アセットを選びます。
あとはデフォルトの状態でOKです。
APIが作成されると、「API Instance ID」が発番されます。これは後ほどアプリケーションとの紐付け用に使用します。
次に、CloudHub環境にアップロードする場合は、登録に必要な認証パラメータを設定する必要があります。
Access Managementの[Business Groups]→ビジネスグループ名→[Environmentes]タブ→デプロイする環境を選択します。
この環境に記載されている、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はデプロイする環境によって変わってきますので、直打ちではなくプロパティ化を推奨します。
Runtime Managerにてアプリケーション(jar)をアップロードします。
アップロードする際、Propertiesタブにて以下のKeyとValueを設定します。
Key | Value |
---|---|
appid | API 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にポリシーを適用する方法を触れていきたいと思います。
コメント