Edited at

Amazon API Gateway - create API

More than 1 year has passed since last update.

GYAOのtsです。

我々のチームは、オールパブリッククラウドで、Microservice Architectureを採用した次期バックエンドを設計中です。


必要性

よく言われることだが、コードは書いた分だけバグの可能性が上がるので、極力実績のあるOSS、数多のクラウドベンダーによって提供されるIaaS、PaaS、SaaSを使用して自前のコーディングを最小限にとどめたい。また、車輪の再発明もしたくない。その方針で設計、プロトタイピングをしているが、

今のところ、MicroserviceをRESTまたは、メッセージングで繋いでいく方向で検討中。

拡張性、メンテナンス性やモバイルやアプリ(MBaaS)のこと等も考えると、どうしてもGatewayが必要になってくると思う。

認証を一手に引き受けてくれるところも嬉しい。

以前のプロジェクト(よくある ちゃぶ台返しをくらって実現できなかったが)では

あたりをGKEで展開すればと考えていたが

Amazon API Gatewayを使ったことがなかったので、チーム全員で使ってみながら考えてみた。


とりあえず使ってみる

とりあえずブリッジ的なAPIを作ってみる。

色々確認、モニタリングしながら使ってみたいので、ブリッジ先はmockbin

モックAPIをGUIで作成して、モニタリングできる。

以前、ブリッジwebサービスを作ったときに使いました。

久々に使ったけどこれ便利だなぁ。


create API

Screenshot 2016-10-10 at 18.15.52.png

こちらの Amazon API Gatewayから

Screenshot 2016-10-11 at 00.24.07.png

リソース、メソッドの作成。

Screenshot 2016-10-11 at 00.25.28.png

なかなか直感的。この図だけで説明がいらない。

直感的かどうかは、個人的にかなり重要視するポイントです。

Screenshot 2016-10-11 at 00.26.30.png

「メソッドリクエスト」のパラメータセクション。

とりあえずfooというパラメータを定義してみる。

(キャッシュや、パラメータをバインドする必要があるときに使います。)

Screenshot 2016-10-11 at 00.28.23.png

「統合リクエスト」のパラメータセクション。

上で定義したfooが定義されているので、それをbarに変えてみる。

Gatewayにfoo=abcでリクエストすると、mockbinにはbar=abcでリクエストされる。

Screenshot 2016-10-11 at 00.28.39.png

Screenshot 2016-10-11 at 00.28.59.png

あとはDeployのみ。以上。


所感

直感的で、使いやすい。

ただし、認証がかなり直感的ではない。幾つかあり、我々はIAM( Identity and Access Management )認証を使っていくのだが、、、、後々書きます。

認証部分はメンテナンスしていく上でわりと使用頻度が高いので、より直感的に簡単にしたい。(もちろん強固に)

もっと直感的なGatewayないかなと思っていたところ、Googleの営業の方より、Apigeeを教えてもらう。

これぞ求めていたものかも。。。

いじっているので、感想は後ほどシェアします。

シェアはこちらです。

それでは。