〜API実装をお手軽に〜
1
Swagger × API Gateway
@oqmuuu
fun-tech meetup #14
2019/10/25
Who am I
• 名前: Kumiko Anzai (@oqmuuu)
• 所属: (株)オープンストリーム
• 仕事:営業+Cloud Solution Architect
• 称号:Alibaba Cloud MVP 2019
• https://mvp.alibabacloud.com/mvp/detail/219
• ブログ
• アリ蔵 -> https://alikura.com/
• TECH4ALL -> https://tech.opst.co.jp/
• 最近熱いもの
• Kubernetes
• 趣味
• 温泉巡り 2
今日の目的
1. API Gatewayでできることを知る
2. Function Computeでできることを知る
3. SwaggerによるAPI定義方法を知る
4. API GatewayでAPIを実装する方法を知る
3
Agenda
1. 自己紹介
2. サーバレスアーキテクチャ図
3. API Gatewayってこんなサービス
4. Function Computeってこんなサービス
5. Swagger入門
6. APIを実装する
7. まとめ
4
サーバレスアーキテクチャ図
DNS
API GatewayFunction Compute
Log Service
API Endpoint
独自ドメイン
CNAMEレコード
RAM
5
API Gatewayってこんなサービス
• APIをAlibaba Cloud上にデプロイできるサービス
• APIのバックエンドにはオンプレ含めたサーバー、
Alibaba Cloud VPC上のサーバー、Function Computeを指
定できる
• 独自ドメインとバインドできる
• APIへのIP制御、トラフィック量制御もできる
• API呼び出しに認証をつけることができる
• デバッグ機能つき
6
Function Computeってこんなサービス
• サーバーレスな実行環境のサービス
• 実行環境の言語はPython, Nodejs, Java
• 秒間で100回まで起動できる
• インターネットアクセス可否、VPC上にデプロイす
るかを決められる
• 起動にはイベントトリガー、HTTPトリガーを設定
できる
• ソースコードはブラウザでのオンライン編集、フォ
ルダごとのアップロード、OSSインポートがある 7
Swagger入門
• SwaggerはOpenAPI(RESTful APIを記述するフォーマッ
ト)を用いてREST APIを設計する際に使用するツール
• Swagger Editor,Swagger UI,Swagger Codegenがある
– http://editor.swagger.io/
• 書式形式はJSON,YAML
• APIのスキーマ、メソッド、リクエスト/レスポンスパ
ラメータ、ステータスコード、認証、データモデルな
どを定義できる
• APIを実装したバックエンドソースコードを作れる
8
APIを実装する
【Function Compute】
1. サービスを作る
2. トリガー無しの関数を作る(API Gatewayを使用するテ
ンプレートがあるので使うと便利)
9
APIを実装する
【API Gatewayにおける実装方法】
1. APIグループメニューでAPIグループを作る
2. APIグループのエンドポイントを独自ドメインの
CNAMEレコードに登録する
3. APIメニューからSwaggerのインポートを実施
4. Function Computeを呼び出せるRAMロールを作る
5. 環境にAPIをデプロイ
10
まとめ
☀ API GatewayはIP制御や環境ごとのAPIデプロイができ
て使いやすい
☀ SwaggerでFunction Comute関数の指定ができるので、
開発者が関数を含めてAPIをコード管理できて良い
☂ API GatewayがSwagger2.0準拠ではあるが、enumが文
法エラーになるのでまだまだ検証が必要
(要チケット起票!)
☂ Alibaba版AWS SAMがあるとなおGood
11
ご静聴ありがとうございました
12

Fun tech14-alibaba cloud api gateway-swagger