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
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
6.5k
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
180
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
9
5k
カンファレンス遠征を(安く)楽しむ技術
wp_daisuke
0
170
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
600
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
150
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
13
13k
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.3k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
5
1.4k
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
620
Flutterチームから作る組織の越境文化
findy_eventslides
0
410
しっかり学ぶ java.lang.*
nagise
1
390
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
The Language of Interfaces
destraynor
162
25k
Practical Orchestrator
shlominoach
190
11k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Fireside Chat
paigeccino
41
3.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
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にお付き合い ありがとうございました