Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
API Gatewayをswaggerでサクサク作ろう!
Search
Takayuki Fuwa
February 21, 2020
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
API Gatewayをswaggerでサクサク作ろう!
JAWS UG札幌(2020/2)で登壇した内容です。
API Gatewayをswaggerでサクサク作ろう!
Takayuki Fuwa
February 21, 2020
More Decks by Takayuki Fuwa
See All by Takayuki Fuwa
Backlogの「カスタム属性」東雲研究所での利用例
yue
0
1k
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
360
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
820
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
370
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.4k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
950
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
880
なるほどわかった!Alibaba CloudとDevOps
yue
0
600
なるほどわかった!Azure Kubernetes Service(AKS)
yue
3
1.1k
Other Decks in Technology
See All in Technology
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
5
470
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
What the customer really needed
kawaguti
PRO
3
210
LLMに渡さなかった仕事
nanaism
0
1.1k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.1k
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.5k
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
180
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
350
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
28k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
220
2026_devsumi_ozono.pdf
o3
3
530
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
The Pragmatic Product Professional
lauravandoore
37
7.4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Become a Pro
speakerdeck
PRO
31
6.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Google's AI Overviews - The New Search
badams
0
1.6k
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を使おう