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
110
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
830
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
320
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
760
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
330
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.2k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
870
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
790
なるほどわかった!Alibaba CloudとDevOps
yue
0
540
なるほどわかった!Azure Kubernetes Service(AKS)
yue
3
1k
Other Decks in Technology
See All in Technology
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
220
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
380
都市スケールAR制作で気をつけること
segur
0
180
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
1.1k
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
330
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
4.1k
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
280
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
350
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
改竄して学ぶコンテナサプライチェーンセキュリティ ~コンテナイメージの完全性を目指して~/tampering-container-supplychain-security
mochizuki875
1
360
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
12
6.9k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
KATA
mclloyd
PRO
32
15k
Why Our Code Smells
bkeepers
PRO
340
57k
Designing Experiences People Love
moore
142
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Context Engineering - Making Every Token Count
addyosmani
9
400
Navigating Team Friction
lara
190
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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を使おう