Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
API Gatewayをswaggerでサクサク作ろう!
Search
Takayuki Fuwa
February 21, 2020
Technology
0
89
API Gatewayをswaggerでサクサク作ろう!
JAWS UG札幌(2020/2)で登壇した内容です。
API Gatewayをswaggerでサクサク作ろう!
Takayuki Fuwa
February 21, 2020
Tweet
Share
More Decks by Takayuki Fuwa
See All by Takayuki Fuwa
Backlogの「カスタム属性」東雲研究所での利用例
yue
0
480
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
230
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
620
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
270
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
730
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
610
なるほどわかった!Alibaba CloudとDevOps
yue
0
390
なるほどわかった!Azure Kubernetes Service(AKS)
yue
3
820
Other Decks in Technology
See All in Technology
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
190
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
190
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
130
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
720
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
MySQLのロックの種類とその競合
yoku0825
6
1.6k
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
640
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
YesSQL, Process and Tooling at Scale
rocio
166
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Clear Off the Table
cherdarchuk
89
320k
Scaling GitHub
holman
458
140k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Embracing the Ebb and Flow
colly
81
4.3k
Building Adaptive Systems
keathley
34
2k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
How to Think Like a Performance Engineer
csswizardry
4
590
Transcript
なるほどわかった! API Gatewayをswaggerで サクサク作ろう! 不破 崇行
自己紹介 • 不破 崇行(ふわ たかゆき) / 31歳独身男性 • 所属 •
エコモット株式会社(9:00〜18:00) / FASTIO開発チーム / 主任 • 東雲研究所(19:00〜22:00) / 代表 • コミュニティ • JAZUG札幌(きたあず) / Azureもくもく会札幌の宴会係 • SORACOM UG 札幌 / などなど • 好きなAWSサービス • CloudWatch • 趣味 • シメパフェ • Alexaいじり
エコモットの概要 (お昼の仕事) • 設立 • 2007年2月19日 • 所在地 • 本社:札幌市
• 拠点:東京 / 青森 / 仙台 / 北信越 / 東海 / 関西 / 九州 • 社員数 • 108名(2019年4月1日現在、臨時従業員を含む) • スローガン • “あなたの「見える」を、みんなの安心に”
東雲研究所 (夜の仕事) • 営業時間 • 平日19:00〜22:00 • 土曜 10:00〜22:00 •
業務内容 • テクニカルコンサルティング • WordPressプラグイン開発 • サーバ構築・保守 • その他オーダーメイド
JAWS FESTA 2019サポーター
Visual Studio Codeのリリースノートに 名前が載る
今日伝えたい事 API Gatewayすごい!!
今日伝えたい事 Swagger楽しい!!
API Gatewayをザックリと • 自分でWebサーバやロードバランサを立ち上げなくても APIサービスを構築出来るAWSのサービス • マイクロサービス向けAWSサービスの風雲児
マネジメントコンソール
API Gatewayの良いところ • マネジメントコンソール上でポチポチ手軽にAPIを定義していくことが出来る • CloudWatchとX-Rayとシームレスに連携出来る。 • Lambdaの動きを把握するのにX-Ray超便利 • 内部にCloudFrontを使用しているため、大量アクセスにも耐えられる
• API Gatewayからのレスポンス生成にLambdaを使える • Lambdaで内部ロジックを実装し、API Gatewayで返すことが出来る • Websocketも使えるし、バイナリファイルも転送出来る
API Gatewayのここがツライ! • APIの規模がどんどんデカくなってくると、GUIで一々操作するのがツライ • 本番環境と検証環境との「冪等性」を維持するのがツライ • というか無理 • 1エンドポイント1メソッドごとにCORSの設定を全部するとか
正気の沙汰じゃ無い これが1セット。これをPOST/GET/PUT/DELETEで4回。
出来る事ならAPIはコードで定義したい • 出来る事なら、CloudFormationやTerraformみたいなノリでJSONとか YAMLで定義しておきたい。 • 出来る事なら、一撃でデプロイしたい!
そこでSwagger(OpenAPI)ですよ! • YAML or JSON形式でRESTFul APIを記述できるフォーマット
Swaggerとは • OpenAPIという規格に準拠した実装 • YAML or JSONで記述する • AWSに限らず、Azureなど他のクラウドサービスでも採用されている
Swaggerのどえらい所 • コード化出来るので、検証環境・本番環境の冪等性を担保出来る • 「開発環境と本番環境で動きが違うぞ!?」というよくあるパターンを解決出来る • 今までWordやExcelで作ってきた「API仕様書」を自動生成してくれる
Swagger Editor • ブラウザで動くSwaggerのエディタ • Dockerコンテナ版もあるよ • yaml上のコードエラーを一番正確にあぶり出せるツール
VS Codeでも書ける • VSCode Extensionをインストールすると、VS Code上でもプレビューできる • Swagger Viewer •
OpenAPI Editor
試し撃ちも出来る
定義書も作れる • さらばExcel方眼紙
API Gatewayへぶち込む
AWS限定の設定(Lambdaなど)も出来る OpenAPIの中にAWS専用の定義を入れられる。 この場合は、コールされた後に発火するLambda関数を指定している
まとめ • API Gatewayをサクサク扱いたいなら、Swaggerを使おう