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
93
ついに(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
620
LoRaデバイスからAWS IoTに通信やってみた
saito5656
1
300
Local NW データを S3 に転送してみた
saito5656
0
82
シェル芸人見習い修行 〜 ラズパイ で 一発環境 構築してみた 〜
saito5656
1
210
ラズベリーパイで工場が見える話
saito5656
0
360
工場でStep FunctionsでStep Functions
saito5656
0
190
Cloudformation (SAM) で実装した EC2 の 運用自動化
saito5656
0
170
Other Decks in Programming
See All in Programming
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
1.8k
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.4k
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
590
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.4k
問題の見方を変える「システム思考」超入門
panda_program
0
280
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
3
2k
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1k
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
610
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
190
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
310
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
カンファレンス遠征を(安く)楽しむ技術
wp_daisuke
0
160
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
The Cult of Friendly URLs
andyhume
79
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Bash Introduction
62gerente
615
210k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Producing Creativity
orderedlist
PRO
348
40k
How GitHub (no longer) Works
holman
315
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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にお付き合い ありがとうございました