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移行術
Search
kawahara kenta
July 12, 2025
820
5
Share
無理しない、着実にやりきるCDK移行術
AWS CDK Conference Japan 2025
kawahara kenta
July 12, 2025
More Decks by kawahara kenta
See All by kawahara kenta
AWS CDKを始める際に コミュニティの知見が大いに役立った話
kenpi13
1
93
Amazon Bedrock Flows使ってみた ローコードでお手軽生成AIフロー作成!
kenpi13
0
120
Step Functions冬休み復習! 直近アップデートと生成AIとの組み合わせ検証
kenpi13
1
88
エンジニアのための消す技術〜何かを生み出すエンジニアが消すことに向き合ってみよう〜
kenpi13
0
59
AWS認定試験12種取得して感じたこと
kenpi13
0
430
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
680
First, design no harm
axbom
PRO
2
1.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Building Adaptive Systems
keathley
44
3k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Facilitating Awesome Meetings
lara
57
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
How to build a perfect <img>
jonoalderson
1
5.6k
Transcript
ແཧ͠ͳ͍ɺண࣮ʹΓ͖ΔCDKҠߦज़ 2025.07.12 AWS CDK Conference Japan 2025 KDDI ΞδϟΠϧ։ൃηϯλʔ ݪ݈ଠ
KDDI Agile Development Center Corporation 2 • ໊લɿݪ݈ଠʢkenpiʣ • ॴଐɿKDDIΞδϟΠϧ։ൃηϯλʔʢKAGʣ
◦ ԬαςϥΠτΦϑΟε ◦ ιϑτΣΞΤϯδχΞ • Xɿkenpi1313 • ҰݴɿԬݝ͔Βདྷ·ͨ͠ʂ ࣗݾհ KDDIΞδϟΠϧ։ൃηϯλʔ ެࣜΩϟϥ ΧάΧάʢԬ൛ʣ
KDDI Agile Development Center Corporation 3 CDKҠߦ
KDDI Agile Development Center Corporation 4 Serverless FrameworkͰ࡞͍ͯͨ͠AWSϦιʔεʢελοΫʣΛCDKʹҠߦͨ͠ ࠓճͷҠߦέʔεʢྫʣ
KDDI Agile Development Center Corporation 5 CDK Migrate
KDDI Agile Development Center Corporation 6 طଘͷCloudFormationςϯϓϨʔτɾඇIaCཧͷطଘͷAWSϦιʔεΛ CDKϓϩδΣΫτʹมɾҠߦ͢ΔίϚϯυ CDK Migrateͱʁ
KDDI Agile Development Center Corporation 7 cdk migrateίϚϯυ࣮ߦޙɺϩʔΧϧڥʹCDKΞϓϦέʔγϣϯίʔυ͕ੜ͞ΕΔ CDK Migrateͱʁ
KDDI Agile Development Center Corporation 8 cdk migrateίϚϯυͷΦϓγϣϯ cdk migrate
–from-stack –stack-name “hogeStack” cdk migrate –from-path “./template.json” –stack-name “hogeStack” cdk migrate –from-scan –stack-name “hogeStack” cdk importίϚϯυͱͷҧ͍ CloudFormationςϯϓϨʔτɾελοΫΛ৽نCDKϓϩδΣΫτʹҠߦ ←migrate ϦιʔεΛطଘCDKϓϩδΣΫτʹΠϯϙʔτ ←import CDK Migrateͱʁ
KDDI Agile Development Center Corporation 9 ແཧ͠ͳ͍ɺண࣮ͳҠߦज़
KDDI Agile Development Center Corporation 10 ແཧ͠ͳ͍ɺண࣮ͳҠߦज़ • ҠߦݕূςετελοΫΛ׆༻͢Δ •
ڥมͷΓग़͠࡞ۀΛແཧ͠ͳ͍ • L2 Constructͷॻ͖͑Λແཧ͠ͳ͍
KDDI Agile Development Center Corporation 11 ҠߦݕূςετελοΫΛ׆༻͢Δ
KDDI Agile Development Center Corporation 12 Ҡߦͷεςοϓ cdk migrate cdk
diff cdk synth cdk deploy CDKίʔυੜ मਖ਼ɾࠩ֬ೝ σϓϩΠʢҠߦʣ
KDDI Agile Development Center Corporation 13 ϓϩδΣΫτʹෳڥ͕ଘࡏ ։ൃ ݕূ ຊ൪
KDDI Agile Development Center Corporation 14 ։ൃϑϩʔʹCDKҠߦσϓϩΠͯ͠େৎʁ ։ൃ ݕূ ຊ൪
ଞͷ։ൃʹ Өڹ༩͑ͨΒͲ͏͠Α͏...
KDDI Agile Development Center Corporation 15 ҠߦσϓϩΠ࣌ͷϦεΫͱରॲ ҠߦσϓϩΠʹෆ͕͖҆ͭͷ ج൫෦ͷΠϯϑϥ͕͠յΕͯ͠·ͬͨΒ...? ฒߦͰಈ͍͍ͯΔଞͷ։ൃࢭΊͯ͠·͏ϦεΫ͕͋Δ
͓ࢼ͠ͰҠߦσϓϩΠݕূͯ͠Έ͍ͨ Ҡߦ࣌ͷಈ࡞֬ೝΛߦ͍͍ͨ ͍ࣺͯͷڥʢελοΫʣΛ࡞Ε͍͍ͷͰɾɾɾʁ ؆୯ʹڥΛ࡞ΕΔͷ͕IaCͷͦͦͷϝϦοτ
KDDI Agile Development Center Corporation 16 ͓ࢼ͠Ͱ͖ΔҠߦݕূελοΫΛ࡞ ։ൃ ݕূ ຊ൪
Կ͔ࣦഊͯ͠ ։ൃϑϩʔʹӨڹΛ༩͑ͳ ͍͔Β҆৺ͩ... Ҡߦ
KDDI Agile Development Center Corporation 17 ڥมͷΓग़͠࡞ۀΛແཧ͠ͳ͍
KDDI Agile Development Center Corporation 18 CDK contextΦϓγϣϯΛ༻͍ͨڥઃఆϑΝΠϧʢ.tsʣͷ׆༻ͱڥมͷೖ CDK ContextΛ༻͍ͨڥมͷઃఆɾཧ
։ൃ ݕূ ຊ൪ env → dev env → stg env → prd
KDDI Agile Development Center Corporation 19 ڥมͷઃఆΛҠߦʹࠞͥΔͱͲ͏ͳΔʁ cdk migrateޙͷίʔυ ڥมʹΓग़͍ͨ͠ઃఆϕλॻ͖ͷঢ়ଶͰੜ͞ΕΔɻ
ڥมઃఆϑΝΠϧΛ࡞Δ dev, stg, prd Ͱׂ͠ɺϕλॻ͖ͷίʔυΛมԽ͢Δमਖ਼Λߦ͏ɻ CDKҠߦ࣌ͷࠩͱมઃఆͷϛεͰى͖͏Δ͕ࠩࠞ͟Δ L1ConstructΛL2ConstructʹҠߦ͢Δࡍͷࠩͱࠞ͟ΔͱΑΓհɻϛεͷݪҼٴʹί ετ͕͔͔Δɻ
KDDI Agile Development Center Corporation 20 ڥมͷઃఆΛҠߦʹࠞͥΔͱͲ͏ͳΔʁ cdk migrateޙͷίʔυ ڥมʹΓग़͍ͨ͠ઃఆϕλॻ͖ͷঢ়ଶͰੜ͞ΕΔɻ
ڥมઃఆϑΝΠϧΛ࡞Δ dev, stg, prd Ͱׂ͠ɺϕλॻ͖ͷίʔυΛมԽ͢Δमਖ਼Λߦ͏ɻ CDKҠߦ࣌ͷࠩͱมઃఆͷϛεͰى͖͏Δ͕ࠩࠞ͟Δ L1ConstructΛL2ConstructʹҠߦ͢Δࡍͷࠩͱࠞ͟ΔͱΑΓհɻϛεͷݪҼٴʹί ετ͕͔͔Δɻ ॳճҠߦ࣌͋Δఔͷϕλॻ͖Λڐ༰ͯ͠PRΛ࠷খݶʹ
KDDI Agile Development Center Corporation 21 L2Constructͷॻ͖͑Λແཧ͠ͳ͍
KDDI Agile Development Center Corporation 22 CDKҠߦͱL1ɾL2Construct cdk migrateίϚϯυ࣮ߦޙͷίʔυ L1ConstructͰ࡞͞ΕΔ
L1ConstructͱL2Constructͷൺֱ ֤ઃఆΛݸผʹॻ͘ඞཁ͕͋ΓɺͳL1Construct దʹநԽ͞Εɺίʔυྔ͕গͳ͍L2Construct L2ͷํ͕ਪ͞Ε͍ͯΔ...͕... Ҡߦ࣌ɺL1ConstructͷίʔυΛL2ConstructʹͰ͖Δ͚ͩॻ͖ͯ͠σϓϩΠΛࢼΈ͕ͨɺେมͰͨ͠....
KDDI Agile Development Center Corporation 23 L1͔ΒL2ʹҠߦ͢ΔͬͯͲΜͳײ͡ʁ
KDDI Agile Development Center Corporation 24 L1͔ΒL2ͷҠߦεςοϓ ᶃ L1ͷίʔυΛಡΉ ʮͳΔ΄Ͳ...͜͏͍͏Ϧιʔε͕͋ͬͯ͜Μͳઃఆʹͳ͍ͬͯΔͷ͔...ʯ
ᶄ L2ʹॻ͖͑Δ ʮAIͷྗआΓͳ͕ΒL2ʹॻ͖͑Α͏ʂʯ ᶅ CDK ReferenceΛݟͯ֬ೝɾमਖ਼ ʮ͜ΕͰ߹ͬͯΔ͔ͳʁReferenceݟΑ͏ʯ ᶅ difftestͰੜΛ֬ೝɾमਖ਼ ʮ͜ΕͰ߹ͬͯΔ͔ͳʁdifftestΛࢼͯ͠ΈΑ͏ʯ
KDDI Agile Development Center Corporation 25 L1͔ΒL2ͷҠߦεςοϓ ᶃ L1ͷίʔυΛಡΉ ʮͳΔ΄Ͳ...͜͏͍͏Ϧιʔε͕͋ͬͯ͜Μͳઃఆʹͳ͍ͬͯΔͷ͔...ʯ
ᶄ L2ʹॻ͖͑Δ ʮAIͷྗआΓͳ͕ΒL2ʹॻ͖͑Δ͔ʂʯ ᶅ CDK ReferenceΛݟͯ֬ೝɾमਖ਼ ʮ͜ΕͰ߹ͬͯΔ͔ͳʁReferenceݟΑ͏ʯ ᶅ difftestͰੜΛ֬ೝɾमਖ਼ ʮ͜ΕͰ߹ͬͯΔ͔ͳʁdifftestΛࢼͯ͠ΈΑ͏ʯ ॻ͖͑࡞ۀΛϦιʔε ·ͨɺαʔϏεछྨ Δඞཁ͕͋Γ·͢🥺 ͱͯେมɾɾɾ
KDDI Agile Development Center Corporation 26 ཧIDͷஔ͖͑ʹؾΛ͚ͭΔ L1ConstructΛL2Constructʹஔ͖͑ΔࡍɺཧID͕มΘΔ cdk deploy࣌৽͍͠ϦιʔεΛ࡞͠Α͏ͱ͢Δಈ͖ʹͳΔ
ʢྫʣCognito UserPoolClient UserPoolClient2F5918F7 ←ϋογϡ͕༩ L1͔ΒL2ͷҠߦͰؾΛ͚ͭΔ͜ͱ
KDDI Agile Development Center Corporation 27 ཧIDͷஔ͖͑ʹؾΛ͚ͭΔˠରॲ๏ ΤεέʔϓϋονΛߦ͍ɺoverrideLogicalIdΛ༻ͯ͠ཧIDͷஔ͖͑Λ͙ L1͔ΒL2ͷҠߦͰؾΛ͚ͭΔ͜ͱ
KDDI Agile Development Center Corporation 28 L1͔ΒL2ͷҠߦͰؾΛ͚ͭΔ͜ͱ ୯ҐɺྻͷཁૉฒͼॱͷࠩʹؾΛ͚ͭΔ L1→L2࣌ʹ୯Ґྻͷཁૉͷฒͼସ͑Ͱ͕ࠩൃੜ͠ɺ໎͍͍͢ CDK
Duration༻࣌୯Ґͷࠩ ཁૉͷॱ൪͚ͩมΘ͍ͬͯΔ
KDDI Agile Development Center Corporation 29 L1͔ΒL2ͷҠߦେม • 1ʹશͯΛL2ʹॻ͖͑ΔͷϦιʔεྔ͕ଟ͍ͱେม •
Ϧιʔεͷஔ͖͑ʹؾΛ͚ͭΔඞཁ͕͋Δ • Constructมߋ࣌ͷࡉ͔͍͕ࠩੜͯ͡໎͍͍͢
KDDI Agile Development Center Corporation 30 L1͔ΒL2ͷҠߦେม • 1ʹશͯΛL2ʹॻ͖͑ΔͷϦιʔεྔ͕ଟ͍ͱେม •
Ϧιʔεͷஔ͖͑ʹؾΛ͚ͭΔඞཁ͕͋Δ • Constructมߋ࣌ͷࡉ͔͍͕ࠩੜͯ͡໎͍͍͢ ࠷ॳ͔ΒແཧʹL2ʹॻ͖͑ͳ͍͍ͯ͘ɺ ςετΛॆ࣮ͤ͞ɺখ͘͞খ͘͞ஈ֊తʹҠߦ͍ͯ͜͠͏
KDDI Agile Development Center Corporation 31 ·ͱΊ
KDDI Agile Development Center Corporation 32 ແཧ͠ͳ͍ண࣮ͳҠߦज़ • ҠߦݕূςετελοΫΛ׆༻͢Δ •
ڥมͷΓग़͠࡞ۀΛແཧ͠ͳ͍ • L2 Constructͷॻ͖͑Λແཧ͠ͳ͍
KDDI Agile Development Center Corporation 33 ແཧ͠ͳ͍ண࣮ͳҠߦज़ • ҠߦݕূςετελοΫΛ׆༻͢Δ •
ڥมͷΓग़͠࡞ۀΛແཧ͠ͳ͍ • L2 Constructͷॻ͖͑Λແཧ͠ͳ͍ ಛʹ͍͑ͨͷ͜͜ʂ࠷ॳL1Ͱ͍͍ʂ ·ͣҠ͠ସ͑Δ͜ͱʹूதʂ ࠓޙͷσϦόϦʹܨ͛ΒΕΔΑ͏ςετίʔ υCI/CDΛ࡞͓͚ͬͯΔͱ˕
KDDI Agile Development Center Corporation 34 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ