Slide 1

Slide 1 text

AWS CDK ͷϝϦοτΛ࠶ൃ۷ͯ͠ΈΑ͏ ࠲ஊձاը @hassaku_63

Slide 2

Slide 2 text

͸͡Ίʹ ͜Ε͸Կʁ ▸ CDK ʹؔΘΔษڧձ (?) ͷاըఏҊ ൃ୺ͷπΠʔτ 
 https://twitter.com/yktAWS/status/1684076799960190976

Slide 3

Slide 3 text

͸͡Ίʹ ڵຯਂ͍࿩୊ఏىͩͱࢥͬͨ CDK ʹର͢Δҙݟ͸༷ʑ͋Δͱࢥ͏͕ɺͦͷʮഎܠʯͱʮ؍఺ʯΛ۷ΓԼ͛ͯΈ Δ͜ͱͰະܦݧऀΛؚΉ༷ʑͳਓʹΑΓଟ֯తͳ৘ใΛఏڙͰ͖ΔͷͰ͸ʁ ▸ ৭ʑϝϦοτ΍ਪ͠ϙΠϯτ͸ڍ͕Γͦ͏͕ͩɺԿΛྑ͍ͱײ͡Δ͔͸ਓʹΑͬͯҧ͏ ▸ ਓ͕ҧ͑͹લఏ΍എܠɺண؟఺΋ҟͳΔͷͰɺͦΕΛ౿·͍͑ͨ ▸ ଞͷπʔϧʢಛʹ CloudFormationʣʹ͍ͭͯ͸Ͳ͏ࢥ͍ͬͯΔʁ ▸ ৘ใΛूΊͨ݁Ռʮࠓ͸ Not for me ͩͳʯͱ൑அ͢ΔͳΒͦΕ͸ͦΕͰྑ͍͜ͱͩͱࢥ͍ͬͯΔ

Slide 4

Slide 4 text

اըҊʢԾʣ

Slide 5

Slide 5 text

اըҊ ϨΪϡϨʔγϣϯ ▸ ࠷େ 5-6 ໊͘Β͍ूΊͯͷ࠲ஊձɺ·ͨ͸ύωϧσΟεΧογϣϯʢTwitter space ·ͨ͸ Zoom ͳͲͰू߹ʣ ▸ ಛఆͷ݁࿦Λग़͢͜ͱʹ͸஫ྗͤͣɺ৭ʑͳཱ৔͔ΒͷҙݟΛूΊ͍ͨʢwrap-up ͘Β͍͸΍ͬͯ΋ྑͦ͞͏ʣ ▸ Ͱ͖Ε͹ CDK ਪ͠Ͱ͸ͳ͍ਓɺCDK Ҏ֎ͷ IaC ਪ͠ͳਓͷཱ৔ɾҙݟ΋ूΊ͍ͨ ▸ ېଇࣄ߲ ▸ ଞਓͷࢥ૝΍ਪ͠ɾ޷ΈΛ൱ఆ͢Δݴ༿Λ࢖͏ ▸ Ϛ΢ϯτऔΔ ▸ ࣗզڧΊͷʮ΂͖࿦ʯΛओு͢Δ ▸ ͜Ε͸୯ʹࢲ͕ͦ͏͍͏ελϯεΛ޷͔ͳ͍ͷͰͦ͏͍ͨ͠ɺͱ͍͏࿩ ▸ ձࣾ΍ݸਓͷίϯςΩετʹґΔ࿩ʢe.g νʔϜͷεΩϧηοτͱͷ݉Ͷ߹͍ɺ౰࣌ͷ՝୊ҙࣝ౳ʣ͕൑அʹࠞ͡ΔΑ͏ͳτϐοΫͰͷൃݴΛҙਤ͍ͯ͠Δ ▸ ਪ঑ࣄ߲ ▸ Ͱ͖Δ͚ͩҙݟͷ “Why” Λڞ༗͠ɺཧղ͠Α͏ͱ͢ΔɻͲ͏͍ͬͨഎܠʗલఏʗ৚݅ͷ΋ͱɺͦ͏ߟ͑ͨͷ͔ʁ ▸ ҙݟͷೱ୶Λ͚ͭΔɻͦΕ͸໌֬ʹϝϦοτͱײ͡ΔϙΠϯτͳͷ͔ɺͦΕͱ΋ࣗ෼ͷ޷Έͷൣᙝͳͷ͔

Slide 6

Slide 6 text

اըҊ ʢࣗ෼͕ʣฉ͍ͯΈ͍ͨ͜ͱ ൃݴऀͷഎܠΛ۷ΓԼ͔͛ͯΒҙݟΛฉ͍ͨํ͕ΑΓҙਤΛཧղͰ͖ͦ͏ εϐʔΧʔͷࣗݾ঺հͱͯ͠1ਓ1ຕ͋Δͱࢹௌऀ͕ฉ͖΍͘͢ͳΔ͔΋ʁ ▸ ॴଐʢࣄۀձ͔ࣾ SIer ͔ɺ͘Β͍ͷׅΓͰOKʣ ▸ ීஈͷϩʔϧɺεΩϧηοτ ▸ ΦϯϓϨϛε΍ AWS Ҏ֎ͷΫϥ΢υΛར༻͍ͯ͠Δ͔ʁ ▸ CloudFormation Λ͸͡Ίͱ͢Δଞͷ IaC πʔϧʹର͢Δܦݧ΍ҹ৅ ▸ CDK ʹ஫໨͢ΔΑ͏ʹͳ͖͔͚ͬͨͬ ▸ ࣮ࡍʹ࢖ͬͯΈͯͲ͏͔ͩͬͨ

Slide 7

Slide 7 text

اըҊ ஻ͬͯΈ͍ͨ͜ͱ CloudFormation ͱͷରൺ࣠Ͱ۷ΓԼ͛ ▸ ϓϨʔϯͳ CloudFormation ͷ࠾༻ΛͲ͏ࢥ͍·͔͢ʁ ▸ CDK ΑΓ΋ CloudFormation Λ࠾༻ͨ͠ํ͕޷౎߹ͳγʔϯ ͸͋Δͱࢥ͍·͔͢ʁ ▸ ͦ΋ͦ΋ IaC ʹ͍ͭͯͲ͏ࢥͬͯ·͔͢ʁ

Slide 8

Slide 8 text

اըҊ ஻ͬͯΈ͍ͨ͜ͱ https://twitter.com/yktAWS/status/1684118189708541954 ▸ ݩπΠΑΓ 
 ద౰ʹநग़ͨ͠Γղऍͨ͠Γͯ͠Έͨʢ߲࣍ʣ

Slide 9

Slide 9 text

اըҊ ஻ͬͯΈ͍ͨ͜ͱ ▸ CloudFormation ͸ਏ͍ͷ͔ʁ ▸ CloudFormation ͷπϥϛ͕͋Δͱͯ͠ɺͦΕ͸ CDK ͰָʹͳΔͷ͔ʁ ▸ ந৅ԽϨΠϠʔΛڬΜͩ͜ͱʹΑΓɺ٫ͬͯར༻ऀͷೝ஌ෛՙ্͕͕͍ͬͯΔͷͰ͸ͳ͍͔ʁ ▸ Ծʹ L1 Construct ͚ͩΛ࢖͏ͱͯ͠ɺͦΕͰ΋ CDK ࢖͏ҙٛ͸͋ΔͩΖ͏͔ʁ ▸ addOverride() ࢖͏ͷɺͪΐͬͱؾ࣋ͪѱ͘ͳ͍͔ʁ ▸ CDK తʹ͸ɺϦιʔεͷ෺ཧ໊ʢor ࿦ཧ໊ʣΛࢦఆ͢Δ͜ͱ͸ඇਪ঑ͳͷ͔ʁ ▸ Ϧιʔεͷ෺ཧ໊ɾ࿦ཧ໊ʹର໋໊ͯ͠نଇΛઃ͚ΔΞϓϩʔν͕ CDK Ͱ͸࠾༻ͮ͠Β͘ͳ͍ͬͯΔͷͰ͸ͳ ͍͔ʁ

Slide 10

Slide 10 text

اըҊ ஻ͬͯΈ͍ͨ͜ͱ ▸ ൚༻ϓϩάϥϛϯάݴޠͰͷهड़ʹͳͬͨ͜ͱʹΑΔ෭࡞༻ ▸ ݸਓʹΑΔॻ͖ํͷ͕ࠩΑΓݦஶʹग़ͯ͠·͏ͷͰ͸ͳ͍͔ʁ ▸ ʮ࠶ར༻ੑʯ͸͋Δͷ͔ʁ CloudFormation ͱൺ΂ͯͲ͏͔ʁ ▸ ൚༻ϓϩάϥϛϯάݴޠͰهड़Ͱ͖Δ͜ͱʹͲͷΑ͏ͳϝϦοτ͕͋Δͷ͔ʁ ▸ ʮϓϩάϥϛϯάʹ׳ΕͯΔਓؒ޲͚ʯͱ͍͏લఏ৚݅͋Γ͖ͷϝϦοτͳͷͰ͸ʁ ▸ ͦ͏Ͱ΋ͳ͍ਓͷཱ৔͔Β͢ΔͱັྗͰ͸ͳ͘োนͱͯ͠өΔଆ໘͕େ͖͍ͷͰ͸ ▸ ʮsynth ͷ݁ՌΛݟΔ͘Β͍ͳΒ࠷ॳ͔Β CloudFormation Ͱ͍͍͡ΌΜʯͱ͸ͳΒͳ͍ͷ͔ʁ ▸ ۩ମྫͱͯ͠ɺfor Λ࢖ͬͯ Construct Λϧʔϓͯ͠خ͍͠γʔϯ͸ଘࡏ͢Δͷ͔ʁ