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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takayuki Fuwa
February 21, 2020
Technology
0
120
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
890
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
340
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
790
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
350
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.3k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
920
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
820
なるほどわかった!Alibaba CloudとDevOps
yue
0
560
なるほどわかった!Azure Kubernetes Service(AKS)
yue
3
1.1k
Other Decks in Technology
See All in Technology
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
280
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
150
Phase08_クイックウィン実装
overflowinc
0
910
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
150
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
350
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
190
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
350
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
650
スピンアウト講座05_実践活用事例
overflowinc
0
600
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
3
310
既存アプリの延命も,最新技術での新規開発も:WebSphereの最新情報
ktgrryt
0
110
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
580
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
76
Optimizing for Happiness
mojombo
378
71k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Done Done
chrislema
186
16k
How to make the Groovebox
asonas
2
2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
300
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
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を使おう