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
ついに(CDKで)Cognito実装した話
Search
Saito5656
October 24, 2025
Programming
0
54
ついに(CDKで)Cognito実装した話
2025.10.24のJAWS-UG浜松AWS勉強会202510でのLT発表資料です。
お付き合いいただきありがとうございました。
Saito5656
October 24, 2025
Tweet
Share
More Decks by Saito5656
See All by Saito5656
今年やったこと最近やったこと2024
saito5656
0
190
今年やったこと最近やったこと
saito5656
1
210
【ポエム】PythonのWatchdogを調べてみた
saito5656
0
610
LoRaデバイスからAWS IoTに通信やってみた
saito5656
1
300
Local NW データを S3 に転送してみた
saito5656
0
81
シェル芸人見習い修行 〜 ラズパイ で 一発環境 構築してみた 〜
saito5656
1
200
ラズベリーパイで工場が見える話
saito5656
0
360
工場でStep FunctionsでStep Functions
saito5656
0
190
Cloudformation (SAM) で実装した EC2 の 運用自動化
saito5656
0
170
Other Decks in Programming
See All in Programming
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
490
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.1k
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
550
マンガアプリViewerの大画面対応を考える
kk__777
0
160
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
370
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.4k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
モテるデスク環境
mozumasu
3
1.2k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
CSC305 Lecture 10
javiergs
PRO
0
230
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Balancing Empowerment & Direction
lara
5
700
What's in a price? How to price your products and services
michaelherold
246
12k
Documentation Writing (for coders)
carmenintech
75
5.1k
A Modern Web Designer's Workflow
chriscoyier
697
190k
4 Signs Your Business is Dying
shpigford
185
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Typedesign – Prime Four
hannesfritz
42
2.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Visualization
eitanlees
149
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Transcript
ついに(CDKで)Cognito実装した話 Saito5656@JAWS-UG浜松 2025. 10. 24 JAWS-UG浜松 AWS勉強会 202510
まとめ(このLTの本質情報 分 か っ た 分 か っ た 聞
い て あ げ る か ら ね ー ね ー 聞 い て よ 、 つ い に Cognito の User pool 実 装 し ち ゃ っ て さ identity pool と ひ っ つ け て CDK 発 射 し て 、 で ち ゃ ん と 動 い て 、 あ と 大 事 ぽ い け ど Token て や や こ し い な CDK て SSM メ ン ド ク サ イ
お題 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 -
認証方法変更 - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更
- Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
自己紹介 Saito 5656 勤務先:自動車部品とか作ってる田舎の製造業 職種 :エンジニア 業務 :各種用務(壁打ち相手・受注・設計・製造・養分他)
現在こんな案件にJoinしてます 製造業DXド直球な設備監視と日常点検自動化
1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更
- Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
自己開発アプリの概要 unit検証だけだとつまらないのでapp化して家庭内運用中 ココの 変更の話
認証方法変更 いつものBASIC認証からCognito user poolに変更
Project構成 検証unitのapp.pyは合体 (もとい統合 New ! 普段使い結合済みstack.pyをresource別に分割
動作確認
振り返り 自分 既存webアプリのCognito統合ならびにcdkプロジェクト化を振り返り、依頼者の課題を分析します。 依頼者はエッジデバイスと周辺物理機器統合、それらを制御するソフトウェア開発、AWSバックエンドとの統合には約5年の経験 があり、ChatGPTを活用した新規構築においても経験値とノウハウを生かした要件定義と設計ドキュメントを準備することができ ます。しかし、フロントエンド構築、フロントエンド周りの認証、セキュリティ等の経験値は十分ではありません。 構築時の対話の中で、やり取りに繰り返しが多かった技術要素(アーキテクチャーの構想、クラスメソッドやパラメーターの扱い)、 依頼文章の精度が低かった技術要素を可視化して、経験値として吸収するために要点抽出したいと思います。 ChatGPT:まとめ ・繰り返しの多かった論点は「責務境界の明確化」「冪等化」「UI状態管理」「CDK出力の単一化」
・これらをテンプレ化・チェックリスト化することで、次回以降の往復を大幅に削減し、再利用可能な設計資産 として蓄積できます 依頼者のスキルプロファイルに基づく学習ショートプラン 1. 認証UX基礎:OAuth2/OIDCの用語整理(PKCE/SRP/Implicit差分)、SPAのトークン運用 2. Cognito実装の癖:Hosted UIとカスタムUIのトレードオフ、Callback/Sign-outの多環境管理 3. フロントの信頼境界:Local Storage禁止の背景、CSP/型安全(TS)とエラーバブルアップ 4. UI状態機械:Promiseのライフサイクル、キャンセル、リトライ、ユーザ通知の規約化 5. CDK設計:スタック依存の切り方、SSM集中管理、Context/Stageの流儀
言われっ放しだとアレなんで ChatGPT繰り返したがる(やられた)こと一例 ・変数名どんどん変える挙句に値も変える ・EdgeFunctionに環境変数付ける ・index.js プレースホルダ置換で CDK Token 埋込む ・cdk.json入れたがるがSSM使う意味あるんだよ
など他多数(略 沼に落としといてあの言い草…落とされないて重要
もう一枚愚痴です() お前がかき回したから、いえ、ワシの指示がカスでした
一応Cognito-CloudFront統合の違いは比較 観点 Lambda@Edge あり 直接結合クライアント主導(+CF Func任意) 静的資産の秘匿 可能(未認証はダウンロード不可) (Amazon Web
Services, Inc.) 不可(基本公開) 実装/運用の複雑さ 高い(リダイレクト/キャッシュ/Cookie設計) (Repost) 低い(標準フロー準拠、トラブルシュート容易) パフォーマンス エッジ実行で低レイテンシ。 関数実行分のオーバーヘッドあり 最小オーバーヘッド。Functionsを使わなければゼロ コスト 関数実行分が加算 低コスト(関数ほぼ不要) JWT検証の堅牢性 フル実装可(ライブラリ利用・RS256検証OK) (AWS ドキュメント) Functions だと制約あり(実装難度↑) (AWS ドキュメント) 変更への追随 エッジ関数の更新が必要(レプリケーション遅延) (AWS ドキュメント) フロント/バックの通常デプロイで対応しやすい 失敗パターン ループ/403/キャッシュ汚染の罠 (Repost) 認証漏れ=静的資産が見える設計上の限界
1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更
- Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
今回の自己開発アプリ ・地殻変動量/統計値 グラフ ・地殻変動量ヒートマップ など 某庁のアプリ(本家) ・線状降水帯予測 ・土砂災害危険度マップ など アプリ名は本家をリスペクトして
きっかけは機能検証×防災意識
機能検証は楽しくできたけど 気になる人はM〇GA地震予測など見て下さいmm 結論:変化は見えても兆候さっぱり分からん(苦笑 メニュー画面 変動量TL 変動量HM 閾値メール
本職も予報ムリて言ってるし… 災害には 日頃から地味に備えましょうかね
1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更
- Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
課題 ChatGPT: Auth@Edgeの最小実装は “リダイレクトのみ” のサンプルです。実運用 では署名付きクッキーやJWT検証を含むフル実装(公式ブログ&サンプ ル)を推奨 •AWS公式サンプル: cloudfront-authorization-at-edge •参考ブログ(パターン解説):
CloudFront + Lambda@Edge + Cognito 必要な段階になったらフル実装に取り組みます 時間が出来たらAIで予測モデル組むかも()
本日も徒然なLTにお付き合い ありがとうございました