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
AWSにおける公開APIのリノベーション術/cariot-jaws-ug-lunch-36
Search
Cariot
June 23, 2026
290
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSにおける公開APIのリノベーション術/cariot-jaws-ug-lunch-36
2026年6月23日に開催された『JAWS-UG東京 ランチタイムLT会 #36』の発表資料です。
https://jawsug.connpass.com/event/395046/
Cariot
June 23, 2026
More Decks by Cariot
See All by Cariot
AI時代における開発生産性との向き合い方/cariot-ai-kenshou-meetup-03
cariotinc
2
210
10年続くJavaシステムの進化を支える戦略 API・DB・キャッシュの互換性設計/cariot-jjug-ccc-2026-s
cariotinc
0
340
Amazon Bedrock AgentCore GatewayとSalesforceで実現する汎用クエリAIエージェント/cariot-meguro-lt
cariotinc
1
240
AWSのサービス終了に備えるシステム運用 / cariot-cloud-shokudo
cariotinc
0
180
はじめてのAI機能企画 / cariot-pm-hub-lt-night
cariotinc
0
350
車両動態管理システムCariotの リアルタイム性を実現する技術 / cariot-mobility-night2
cariotinc
0
410
【プロダクト開発部】株式会社キャリオット会社説明資料 / cariot dev hiring
cariotinc
0
1.1k
なめらか&リアルタイムな 動態管理を支えるCariotのAWS基盤 / cariot-xtech-jaws
cariotinc
0
56
Node.jsと仲良くなって Salesforceアプリケーション開発を楽しく行う / cariot-salesforce-summer2016tokyo
cariotinc
0
60
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Designing Experiences People Love
moore
143
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Cult of Friendly URLs
andyhume
79
7k
Crafting Experiences
bethany
1
360
Paper Plane
katiecoart
PRO
4
53k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
720
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Transcript
AWSにおける公開APIのリノベーション術 株式会社キャリオット 遠藤 匠 2026/06/23 JAWS-UG東京 ランチタイムLT会 #36
2 自己紹介 遠藤 匠 株式会社キャリオット プロダクト開発部 AWSを使った B2Bプロダクトを開発してます
3 AWS Cloud 現行APIの管理 Amazon API Gateway Amazon S3 YAML
OAS 2.0 (Swagger 2.0) オーソドックスなREST API put-rest-api create-deployment GitHub Actions s3 cp API Users
4 内側(コードメンテナンス) • Swagger (OpenAPI) 形式 • 15,000行overの単一YAML • CORS関連の設定も自前
課題 • 修正コストが高い (人にとってもAIエージェントにとっても)
5 外側(開発者向けドキュメントとしてのユーザビリティ) • Swagger UI • メソッドの簡単な説明のみで、 概要、認証・認可、レート制限など、 使用上の留意点については ドキュメント外
課題 • 利用者にとっての情報が不足
6 リノベーション術 Swagger UI 単一Swagger (OpenAPI) ファイル コードメンテナンス 開発者ドキュメント TypeSpec
API Gateway デベロッパーポータル Docusaurus
7 TypeSpec • API定義のための言語(DSL) • Microsoft製 • TypeScriptライクな構文 import "@typespec/http";
using Http; model Store { name: string; address: Address; } model Address { street: string; city: string; } @route("/stores") interface Stores { list(@query filter: string): Store[]; read(@path id: Store): Store; } ※ 似たような?ものに AWS PDK (Project Development Kit)というのがあるけど、 あんまり動いてなさそう… https://aws.github.io/aws-pdk/developer_guides/type-safe-api/index.html
8 既存YAMLのTypeSpec化 OpenAPI YAML TypeSpec パス @route + @get パラメータ
@query, @path, @header デコレータ スキーマ model リクエストボディ @bodyを明示するか、@path/@query以外の引数が暗黙的にbody扱いになる レスポンス 戻り値の型がそのまま200レスポンスに。 バリデーション @minLength, @minValue デコレータ等 additionalProperties Record<T> • 基本的には変換表に沿って機械的に変換可能 • 変換ツール (tsp-openapi3)も提供されている
9 TypeSpec × API Gateway • x-amazon-apigateway-* ではじまるベンダー拡張 ◦ 自作デコレータ
◦ @extension(標準搭載されている拡張記法) • 一部の変換は力技で対応(下表) 要対応箇所 対策 愚直に書いていたCORSプリフライ トのOPTIONSが表現不可 実メソッドの定義から自動生成して、post-emitで注入 /api/foo/{proxy+}のANYが表現不 可 原文をそのままpost-emitで注入
10 API Gatewayデベロッパーポータル API Gatewayネイティブな開発者向け ポータルサイト提供機能 • 2025年11月リリース • 以前からawslabsでOSSテンプレートと
して提供されていたのとは別物 ◦ https://github.com/awslabs/aws-api-gat eway-developer-portal • フルマネージドな別サービスとして 生まれ変わった https://aws.amazon.com/jp/blogs/compute/ improve-api-discoverability-with-the-new-amazon-api-gateway-portal/
11 API Gatewayデベロッパーポータル • 機能 ◦ ビジネスロジックに合わせた単位でAPIをパッケージ化して公開可 ◦ 異なるアカウントにあるAPIを一箇所に集約して公開 ◦
セキュリティやアクセス制御 ◦ インタラクティブなテスト機能(Try it) • 月額147ドル + ポータルごと14.70ドル ◦ やや高め…? ◦ コストに見合うかどうかはケースバイケース(今回は見送り…)
12 代替アプローチ: Docusaurus • OSS静的サイトジェネレータ ◦ React / Markdown /
MDX (Markdown + JSX) • Meta製 • ドキュメントの解説ページとAPIリファレンスを1サイトに統合 • バージョニング、国際化、検索、ダークモードなどに対応
13 TypeSpec × Docusaurus TypeSpec (*.tsp) OpenAPI 3.0 tsp compile
一部APIを除去 MDXファイル docusaurus gen-api-docs build/*.html docusaurus build S3 + Cloudfront 仕様定義 サイト作成 公開
14 成果ドキュメント
15 まとめ:APIのリノベーション 単一の巨大なYAMLファイルを TypeSpecで分割統治された コード化へ(コード量も40%減) TypeSpecをSingle Source of Truthとして、Docusaurus +
S3 + Cloudfrontでホスティング 内側(定義ファイルのメンテナンス) 外側(利用者向けポータル) 開発者、利用者、AIの三方良しなAPI定義の運用
ご清聴ありがとうございました https://www.cariot.jp/ We're hiring!