こんにちは、上坂(@takashiuesaka)です。
今日はAzure API Managementの紹介です。
APIを公開して外部の企業やユーザーに活用してもらうことで、自社サービスのさらなる発展の実現を目指したり、はたまたAPIの利用そのものを課金するストーリーはよく見かけます。APIをただ単に公開するだけなら簡単な話ですが、実際には沢山の検討事項があります。
- APIを使用するユーザーを管理したい
- 特定のユーザーにだけ特定のAPIにアクセスさせたい
- 課金レベルに応じて使用できるAPIを制限したい
- APIを試用させたい
まだまだ他にもあることでしょう。これらのストーリーはAPIを公開するときにはほぼ共通です。だったら最初からそれらのストーリにマッチするPaaSを用意してあげましょう、ということでリリースされたのがAzure API Managementです。
Azure API Managementは公開したいAPIのProxyとして、アクセス元とAPIの間に挟むように配置します。
このようにすることで、アクセス元を制限したり、特定のKEYをヘッダーに含んだリクエストのみをバックエンドのAPIへ通すように設定することが可能となります。
APIへアクセスしてきたリクエスト情報は全てログに出力することができますので、リアルタイムの監視や後で課金の計算に利用したり、不正アクセスの解析に用いることができます。
大変便利なAzure API Managementですが、大変高機能であるがゆえに機能数がとても多いです。しかしながらとても残念なことにMicrosoftの公式ページによる解説が難解で使い方を把握するのは一苦労です。そこで、私は自分なりに調べた結果と使い方をマニュアルとしてまとめました。よろしければ参考にしてください。
200ページを超える大作となってしまいました。これを端から端まで読むのは結構辛いと思います。先日こちらの資料の解説セッションを行いました。動画で見ることができます。量が多いので前後半に分かれています。よろしければご覧ください。
Tokyo Jazug Night #14 Azure API Management 俺的マニュアル 前半
NSStudy #14 Azure API Management 俺的マニュアル 後半
この資料作成後、API Managementの課金体系に大きな追加仕様がありました。従量課金モデルの登場です。まだ使用できるリージョンも限られていますが、今後は従量課金モデルの使用も検討されると思います。機能も若干良くなっています。解説ページは昨年のNextscape Advent Calenderとして投稿しています。いずれ資料に追記します。
Azure API Managementの従量課金モデルを軽く調べた&Az.APIManagementで廃止になったコマンド
ではまた。