API Gatewayを活用したOpen APIサービス作り
皆さん、こんにちは。NAVERクラウドプラットフォームです。
本日はAPI Gateway商品についての簡単な紹介と、これを用いてOpen APIサービスを作る方法を説明します。
最近は多くのサービスがAPIの形で制御できるように開発されており、そのAPIはOpen APIの形で一般のユーザーに提供されています。例えば、NAVERクラウドプラットフォームから提供されているMapsやCAPTCHAといった様々なOpen APIサービスは、API Gatewayを用いて提供されています。
このようなOpen APIを提供するには、セキュリティや認証、使用量の制御、APIバージョン及び明細書の管理、急なトラフィック増加など、考慮すべきことがたくさんあります。しかし、NAVERクラウドプラットフォームから提供されるAPI Gateway商品を利用すれば、このような点を気にすることなく手軽にOpen APIサービスを構築できます。
API Gatewayではカスタム認証、Swagger UI、API Overviewを通じてAPI Documentを管理できます。また、Stageのリリース履歴を管理してAPIバージョンを管理したり、以前バージョンにロールバックする機能やリリースしたAPIに対するSDKをダウンロードできる機能など、Open APIを運用するうえで便利な機能を提供しています。
API Gatewayの詳細をみる
では、これからAPI Gateway商品を用いて以下のような条件を持つOpen APIサービスの作り方を説明いたします。
▶ 発行したAPI KeyでのみOpen APIを使用するように制限
▶ API Key別の使用量制御機能(日/月)
APIの登録・リリース
まずはユーザーガイドを参考にして、API Gateway商品に対し「API登録」と「APIリリース」を行ってください。
それからOpen APIサービスに合わせて、一部の設定を以下のとおり変更してください。
Productの購入方法には、「公開 - 自主購入」と「保護 - 承認必要」があります。
▶ 公開 - 自主購入:商品のAPIを誰もが使用できます。
▶ 保護 - 承認必要:商品のAPIを使用するには、掲示者の承認が必要です。
ここでは、特定のAPI KeyでのみAPIを呼び出すよう制限する必要があるので、Productの購入方法を「保護 - 承認必要」に変更します。
Productの購入方法を変更したとしても、メソッドで「API Key必要」の設定がインアクティブ状態になっていると、このメソッドはAPI Keyなしで使用できます。
よって、制限が必要なメソッドは「API Key必要」の設定をアクティブにしてください。 カスタム認証のロジックをAPI Gatewayで処理したい場合、Authorizerが利用可能ですのでご参考ください。
トラフィックの急送に備えるため、StageのThrottlingはエンドポイントの可用量に合わせて設定を行ってください。この設定により、Throttling設定以上のトラフィックが発生する場合は、API Gatewayから「Throttle Limited」というエラーメッセージがリターンされます。
また、Usage Planが連結されていないAPI Keyの使用を防ぐために、StageのDefault Usage Planのリクエスト処理限度を0に変更します。
本格的なOpen APIサービス作り
NAVERクラウドプラットフォームのOpen APIの使用方法
NAVERクラウドプラットフォームから提供される商品のOpen APIを使用するには、認証キーが必要です。認証キーの作成および呼び出し方法は、ガイドをご参照ください。
API Gatewayコンソールから提供されるすべての機能は、Open APIで提供されています。
この中からOpen APIサービス作りに必要なAPIを確認してみましょう。
以下のAPIを使用するには、先ほど作っておいたProduct、API、StageのID情報が必要です。
リリースされたStage Documentのリンクをクリックすると、URLから必要なIDを取得できるのでご参考ください。
ここからは、以下の機能を提供するために必要なAPI GatewayのOpen APIについて説明いたします。
▶ API Keyの使用量の変更および確認
▶ API KeyのPrimary/Secondary Keyの変更
1. Open APIを使用するためのAPI Keyの発行および使用量の設定
以下の順序でAPIを呼び出してAPI Keyを発行し、そのAPI Keyを用いてOpen APIを使用できるように設定します。
API Keyの使用量を制御するには、API KeyにUsage Planを作成して連結します。
使用量の制御は、Usage PlanにつながったStageの使用量を合算して処理されます。
複数のStageを一つの使用量として制御したい場合は、Usage Planに複数のStageを連結してください。
▶ Usage Planを作成 - StageにUsage Planを連結する - API KeyのUsage Planを変更
2. API KeyとUsage Planの削除
使用しないAPI KeyとUsage Planを削除してください。
3. API Keyの使用量の変更およびキーの更新
API Key別に作成したUsage Planの設定を変更して、使用量を制御できます。
API Keyの漏洩などにより、API Keyを変更する必要がある場合に使用します。
4. 使用量の確認
API Keyが呼び出した使用量と日/月別の使用制限設定を確認できます。
API KeyとUsage Planの最大作成数の制限
API Gatewayでは、アカウント別にAPI KeyとUsage Planを作成できる最大数が以下のように制限されています。
▶ API Keyの最大作成数:500
▶ Usage Planの最大作成数:300
この制限を調整したい場合、NAVERクラウドプラットフォームのお客様サポートまでお問い合わせください。
NAVERクラウドプラットフォームにオンラインでお問い合わせる
ここまで、API Gatewayを活用してOpen APIサービスを作る方法を紹介いたしました。
さらに知りたい点はコメントやNAVERクラウドプラットフォームのお客様サポートを通じてお問い合わせいただければ、回答いたします。
次回の投稿でも有益な情報を提供いたします!
引き続きよろしくお願いします。