Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless Framework ユーザーが CDK に引っ越しして感じたハードルについて言語化してみる

Serverless Framework ユーザーが CDK に引っ越しして感じたハードルについて言語化してみる

AWS CDK Conference Japan 2023 の登壇スライドです
https://jawsug-cdk.connpass.com/event/278205/

## スライド内で紹介した記事
[1] AWS Cloud Development Kit (AWS CDK) v2 - Concepts
https://docs.aws.amazon.com/cdk/v2/guide/core_concepts.html

[2] [AWS CDK] Step Functions の Lambda タスクを同期呼び出しする場合の ASL の書き方について紹介・比較する
https://zenn.dev/hassaku63/articles/aefff9ebfee49f

[3] aws/aws-cdk - Security And Safety Dev Guide
https://github.com/aws/aws-cdk/wiki/Security-And-Safety-Dev-Guide

[4] CDK Security And Safety Dev Guide を読んでみた
https://tech.isid.co.jp/entry/cdk-security-and-safety-dev-guide

hassaku63

May 20, 2023
Tweet

More Decks by hassaku63

Other Decks in Technology

Transcript

  1. [email protected]
    4FSWFSMFTT'SBNFXPSLϢʔβʔ͕
    "84$%,ʹҾͬӽͯ͠͠ײͨ͡
    ϋʔυϧʹ͍ͭͯݴޠԽͯ͠ΈΔ

    "84$%,$POGFSFODF+BQBO

    View Slide

  2. "HFOEB
    ͸͡Ίʹ
    $%,ͭ·͖ͣϙΠϯτ
    ॴײ

    View Slide

  3. ͸͡Ίʹ

    View Slide

  4. ͜ͷൃදʹ͍ͭͯ
    w 4FSWFSMFTT'SBNFXPSL Ҏ߱
    TMTͱදه

    1ZUIPOར༻ऀ͔Βݟͨ"84$%,
    w $%,৮ͬͯΈͨษڧͯ͠Έͨײ૝
    w 5ZQF4DSJQU͸ଟগ
    w ൃදऀࣗ਎͕ʢ΄΅ʣ$%,ϏΪφʔͰ͋Δ
    w ͜͜Ͱఏࣔ͢Δ৘ใ΍ݟղ͕ʮਖ਼ղʯͱ͸ݴ͑ͳ͍ʢൃදऀͷझຯᅂ޷ɺภݟ΋ଟʑʣ
    w དྷ৔͍ͯ͠Δ$%,ϕςϥϯͷݟղ΋࢕ͬͯΈ͍ͨ

    View Slide

  5. IBTTBLV5BLVZB)BTIJNPUP
    $PSQPSBUF4&BU4FSWFSXPSLT
    w ओͳ׆ಈ
    w ٕज़ॻయʮ࣮ફ"84$%,ʯʢڞஶʣ
    w "84%FW%BZ
    w FUD TFF(JU)VCQSP
    fi
    MF

    w 'BWPSJUF
    w 4FSWFSMFTT
    w 4UFQ'VODUJPOT
    4QFBLFS
    [email protected]

    (JU)VCIBTTBLV

    View Slide

  6. IBTTBLV5BLVZB)BTIJNPUP
    $PSQPSBUF4&BU4FSWFSXPSLT
    w ओͳ׆ಈ
    w ٕज़ॻయʮ࣮ફ"84$%,ʯʢڞஶʣ
    w "84%FW%BZ
    w FUD TFF(JU)VCQSP
    fi
    MF

    w 'BWPSJUF
    w 4FSWFSMFTT
    w 4UFQ'VODUJPOT
    4QFBLFS
    [email protected]

    (JU)VCIBTTBLV

    View Slide

  7. ࠓ೔ѻ͏αʔϏε
    "844UFQ'VODUJPOT "84-BNCEB
    ࢲ͕ීஈΑ͘৮͍ͬͯΔαʔϏεͷ*B$࣮૷͕ओͳσϓϩΠର৅

    View Slide

  8. ࠓ೔ͷ࿦఺
    w TMTͱ$%,Ͱ࢖͍উख͕ҟͳΔཁૉ
    w -BNCEBͷσϓϩΠํ๏
    w ʮεςʔδʯ
    w 4UFQ'VODUJPOT
    w DPOUFYU DELKTPO
    ͷѻ͍
    w ࣗ෼ͷ୲౰ൣғͩͱTMT͕ศརʹײ͡Δ৔߹͕ଟ͍ɺͱ͍͏࿩

    View Slide

  9. ࠓ೔ͷ࿦఺
    w TMTͱ$%,Ͱ࢖͍উख͕ҟͳΔཁૉ
    w -BNCEBͷσϓϩΠํ๏
    w ʮεςʔδʯ
    w 4UFQ'VODUJPOT
    w DPOUFYU DELKTPO
    ͷѻ͍
    w ࣗ෼ͷ୲౰ൣғͩͱTMT͕ศརʹײ͡Δ৔߹͕ଟ͍ɺͱ͍͏࿩
    ࠓ೔ͷτʔΫ
    ʢߦ͚Δͱ͜Ζ·Ͱʣ

    View Slide

  10. $%,ͭ·͖ͣϙΠϯτ

    View Slide

  11. લஔ͖TMTͷ࢖͍ํʹ͍ͭͯ
    ϓϩδΣΫτߏ੒ VTFQZUIPOMBNCEBSVOUJNF

    ʜϋϯυϥ΍ϩδοΫͷஔ͖৔ॴ
    ʜ*B$ςϯϓϨʔτ

    View Slide

  12. લஔ͖TMTͷ࢖͍ํʹ͍ͭͯ
    σϓϩΠ
    OQYTMTQBDLBHFa
    ŠTUBHFEFWa
    ŠSFHJPOBQOPSUIFBTU
    OQYTMTEFQMPZa
    ŠTUBHFEFWa
    ŠSFHJPOBQOPSUIFBTU
    QBDLBHF DELTZOUIʹ૬౰

    EFQMPZ DELEFQMPZʹ૬౰

    TFSWFSMFTTҎԼʹ੒Ռ෺Λੜ੒
    ˞$%,ͷlDELPVUlͱ΄΅ಉ͡

    View Slide

  13. -BNCEBͷσϓϩΠํ๏
    ϓϥάΠϯར༻͕લఏͱͳΔ͕ɺॳֶऀతʹ͸TMTͷํ͕ߟ͑Δ͜ͱ͕গͳ͍
    w ॳֶऀ͸ύεབྷΈͷ໰୊Ͱ٧·Δ͜ͱ͕ଟ͍ʢൃදऀͷ؍ଌൣғ಺ʣ
    w 1ZUIPOͰ͸࣮ߦ࣌ͷl*NQPSU&SSPSzྫ֎ͱͯ͠දग़
    w ʮύεʯΛҙࣝ͠ͳ͍ͰࡁΉ࡞Γʹͳ͍ͬͯΔํ͕қ͍͠
    w $%,ͳΒɺlFOUSZz΍"TTFU0QUJPOͷlCVJMEJOHDPNNBOEzʹهड़͢ΔύεΛͲ͏͢Δ͔ʁ
    w -BNCEBʹؔͯ͠͸ɺʢ$%,ͷํ͕ʣຊ࣭తͳؔ৺Ͱ͋ΔϩδοΫlҎ֎zͷߟྀม਺͕ଟ͍ҹ৅
    w ͱ͸͍͑ɺ͍ͣΕཧղ͠ͳ͚Ε͹ͳΒͳ͍࿩

    View Slide

  14. -BNCEBͷσϓϩΠํ๏
    ϓϥάΠϯར༻͕લఏͱͳΔ͕ɺॳֶऀతʹ͸TMTͷํ͕ߟ͑Δ͜ͱ͕গͳ͍
    ˞ ࣮ࡍʹ͸Ξοϓϩʔυ͸σϓϩΠ·Ͱ࣮ߦ͠ͳ͍

    #VDLFU ,FZΛ֬ఆ͠$MPVE'PSNBUJPOελοΫ΁ͷม׵࣌ʹϦιʔε໊ͷຒΊࠐΈΛߦ͏ͱ͜Ζ·Ͱ
    [JQσϓϩΠͳ-BNCEBϋϯυϥͷ࣮૷ྫΛோΊͯΈΔ
    w σϓϩΠલͷ޻ఔ CVJMEQBDLBHJOH

    w ґଘؔ܎ͷμ΢ϯϩʔυ
    w [JQόϯυϧͷ࡞੒
    w T΁ͷΞοϓϩʔυʢ˞ʣ
    w σϓϩΠ؀ڥͱ*%&্૒ํͰϞδϡʔϧݕࡧύεΛ௨͍ͨ͠
    TMT $%,ͷͲͪΒͰ΋ʮ͍͍ײ͡ʯʹͰ͖Δ
    ͨͩ͠$%,Ͱָ͢ΔͳΒBMQIB൛ύοέʔδ͕ඞཁ
    l!BXTDELBXTMBNCEBQZUIPOBMQIBz
    ΋͘͠͸ϓϨʔϯͳ-BNCEB'VODUJPOͱ"TTFU
    ։ൃ͠΍͢͞ͷ౎߹
    ϓϩδΣΫτϧʔτ͕Ϟδϡʔϧݕࡧύεʹ
    ؚ·Εͳ͍৔߹͸։ൃ؀ڥͷηοτΞοϓ͕૿͑Δ
    FH
    *%&ͷ؀ڥม਺ʹݕࡧύεΛ௥Ճ

    View Slide

  15. ʮεςʔδʯ
    lEFWz΍lQSPEzͳͲɺσϓϩΠ؀ڥΛࢦ֓͢೦Λ*B$ͰͲ͏ѻ͏͔ʁ

    View Slide

  16. TMTEFQMPZTEFW
    4FSWFSMFTT'SBNFXPSL

    View Slide

  17. TMTEFQMPZTEFW
    lTUBHFz͝ͱʹผʑͷ4UBDLΛ࡞੒
    4FSWFSMFTT'SBNFXPSL

    View Slide

  18. "84$%,
    ʮ͜͏͢Ε͹0,ʯͱ͍͏ڞ௨ݟղ͸ͳͦ͞͏ʁ

    View Slide

  19. "84$%,
    ʮ͜͏͢Ε͹0,ʯͱ͍͏ڞ௨ݟղ͸ͳͦ͞͏ʁ

    $POUFYU
    w DPOUFYUKTPOʹσϓϩΠઌͷ؀ڥ৘ใΛهड़
    w CJOҎԼͷΤϯτϦʔϩδοΫͰύʔε

    4UBHFΫϥε
    Ұ൪Πϝʔδʹۙͦ͏ʢQJQFMJOFTͷΠϝʔδ͕ڧ͍ʣ
    &YBNQMF
    IUUQTEPDTBXTBNB[PODPNDELBQJWEPDTBXTDELMJC4UBHFIUNMFOW
    🤔

    View Slide

  20. "84$%,
    DELKTPO

    $POUFYU
    4UBHFΫϥε
    &YBNQMF
    IUUQTEPDTBXTBNB[PODPNDELBQJWEPDTBXTDELMJC4UBHFIUNMFOW

    View Slide

  21. 4UFQ'VODUJPOT
    ϝιουνΣʔϯʹΑΔ"4-࣮૷ɺ*OQVU0VUQVUʹؔ͢Δ࢓༷
    ͜ΕΒͷந৅Խ͕Θ͔ΓͮΒ͔ͬͨ

    View Slide

  22. 4UFQ'VODUJPOT
    TBNQMF

    View Slide

  23. 4UFQ'VODUJPOT
    TBNQMF
    EF
    fi
    OJUJPOશମ

    View Slide

  24. 4UFQ'VODUJPOT
    TBNQMF
    OFYU
    Λ࢖ͬͨϝιουνΣʔϯه๏Ͱ
    εςʔτͷ࣮ߦॱংΛఆٛ

    View Slide

  25. 4UFQ'VODUJPOT
    TBNQMF
    εςʔτϚγϯΛߏ੒͢Δ
    ݸʑͷεςʔτͷఆٛ

    View Slide

  26. 4UFQ'VODUJPOT
    TBNQMF
    -BNCEB࣮ߦͷλεΫ

    View Slide

  27. 4UFQ'VODUJPOT
    TBNQMF
    .BQεςʔτͱɺ
    .BQͷதʹ͋Δ-BNCEBλεΫͷఆٛ

    View Slide

  28. 4UFQ'VODUJPOT
    TBNQMF
    OFYU
    Λ࢖ͬͨϝιουνΣʔϯه๏
    Θ͔Γ΍͍͢ɾɾɾͷ͔ʁ

    View Slide

  29. 4UFQ'VODUJPOT
    ݸਓతʹ͸
    w ࢹ఺ͷ্ԼҠಈ͕ଟͯ͘ಡΉͷ͕͠ΜͲ͍
    w ʮܕ෇͖ͷ΄΅ϓϨʔϯͳ"4-ʯతͳ࢓༷Ͱ͋Δํ͕͋Γ͕͍ͨͱײͨ͡
    w -BNCEBλεΫͷఆ͕ٛσϑΥϧτͰʮαʔϏε౷߹ʯํࣜʹͳ͍ͬͯΔ
    w ৄ͘͠͸<"84$%,>4UFQ'VODUJPOTͷ-BNCEBλεΫΛಉظݺͼग़͢͠Δ৔߹ͷ"4-ͷॻ͖ํʹ͍ͭ
    ͯ঺հɾൺֱ͢Δ ˞

    w αʔϏε౷߹ํࣜͰͳ͍΍Γํ͸lQBZMPBE3FTQPOTF0OMZzUSVFΛར༻ɻͪ͜Βͷํ͕"4-͕؆ܿ
    w αʔϏε౷߹ํࣜͰͳ͍-BNCEBλεΫͷॻ͖ํ͕lQBZMPBE3FTQPOTF0OMZzUSVFͰ͋Δ͜ͱ͸

    ·ͣॳݟͰΘ͔Βͳ͍
    ˞ʜIUUQT[FOOEFWIBTTBLVBSUJDMFTBF
    ff
    GFCGFFG

    View Slide

  30. ॴײ

    View Slide

  31. ॴײ
    ໨తʹ߹க͢ΔΫϥε΍ϝιουͷଘࡏʹͨͲΓண͘ͷ͕େม
    w $%,ʹݶΒͣͳ࿩Ͱ͸͋Δ
    w +BWBͷखश͍ͨ͠ͱ͖ͷײ֮ͱಉͩͬͨ͡
    w ΍Γ͍ͨ͜ͱʹରͯ͠ొ৔ਓ෺ DMBTT
    ͕ଟ͘ͳ͍ʜ తͳ
    w ܦݧ͋Διϑτ΢ΣΞΤϯδχΞͷօ͞·͸Ͳ͏ͯ͠ΔΜͰ͠ΐ͏Ͷʜʁʢ͝ҙݟٻΉʣ
    w ެࣜϦϑΝϨϯε͸௒༏ल
    w ͱʹ͔͘·ͣϦϑΝϨϯεͷ&YBNQMFΛݟΔ
    w TZOUIͷ࣮ߦ݁ՌΛݟͳ͕Βࢼߦࡨޡ

    View Slide

  32. ॴײ
    ໨తʹ߹க͢ΔΫϥε΍ϝιουͷଘࡏʹͨͲΓண͘ͷ͕େม
    w "84%PDT GPS$%,W
    ͷl$PODFQUTz ˞

    ΋༗༻
    w গ͠׳Ε͖ͯͨΒ"QQT 4UBDLT &OWJSPONFOUT $POUFYU͋ͨΓΛಡΜͰΈΔͱྑͦ͞͏
    w πʔϧͷઃܭࢥ૝ʹ৮ΕΔ͜ͱͰʮΒ͍͠ʯ࢖͍ํͷૉཆΛ෇͚Δ
    w$IBU(15ʹαϯϓϧ࣮૷Λฉ͍ͯΈΔ
    w ࣮ࡏ͢Δ࢓༷ʹجͮ͘ճ౴͸جຊग़ͯ͜ͳ͍΋ͷͱࢥͬͯ෇͖߹͏
    w ʮͦΕͬΆ͍ʯαϯϓϧ͸ग़ྗͰ͖ΔͷͰɺͦΕΛݕࡧͷऔֻ͔ͬΓʹ
    ˞ʜIUUQTEPDTBXTBNB[[email protected]

    View Slide

  33. ॴײ
    ࠓ೔ͷ͍͍ͩͨͷ࿩ͬͯʮ׳Εʯͱʮ޷ΈʯͰ͸ʁ
    w ࣮ࡍͦΜͳؾ΋͍ͯ͠Δ
    w ଞπʔϧ TMT
    ͷ஌͕ࣝ $%,
    शಘ࣌ͷઌೖ؍ʹͳ͍ͬͯͨ
    w ద౓ͳ6OMFBSOJOHͷҙࣝ΋େࣄ
    w πʔϧ͕ҧ͑͹ઃܭࢥ૝΋ҟͳΔɺࢥ૝͕มΘΕ͹ਪ঑࡞๏΋มΘΔ

    View Slide

  34. ॴײ
    044ͳΜ͔ͩΒʜ
    w ͸͍
    w ͳΜ͔͠Βߩݙ͍ͨ͠ؾ࣋ͪ͸͋Δ
    w ձࣾͰ$%,ͷιʔεಡΉձ΍ͬͯΈͨΓ͍ͯ͠Δ

    View Slide

  35. ༨ஊ
    $%,ʹ৐Γ׵͍͑ͨϞνϕͱ͔ɺ͖͔͚ͬͷิ଍
    w ܕఆٛͱ*%&ͷࢧԉ͕ड͚ΒΕΔ*B$ͷੈք؍
    w ຊମ΍#-&"౳ͷपล΋ؚΊͨ$%,ք۾ͷ੎͍
    w 4FSWFSMFTT'SBNFXPSLͩͱۤ͘͠ͳΔࣄྫ͕ग़͖ͯͨ
    w *B$ଆͷґଘؔ܎ߋ৽͢ΔࡍͷσάϨݕূͰָ͍ͨ͠ 4OBQTIPUUFTUJOH

    w ϦϑΝϨϯεͷॆ࣮౓߹͍͕ҧ͏
    w ͲͷΈͪ*B$ઐ༻ͷґଘؔ܎ΛೖΕΔͷͳΒ$%,ͷํ͕Α͘ͳ͍ʁͱࢥͬͨ
    w σϓϩΠपลͷݖݶઃܭࢥ૝͕लҳ
    w ࢀߟ
    BXTBXTDEL4FDVSJUZ"OE4BGFUZ%FW(VJEF
    w ࢀߟ
    *4*%5FDI#MPH$%,4FDVSJUZ"OE4BGFUZ%FW(VJEFΛಡΜͰΈͨ

    View Slide