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

Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes

Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes

Node.js v14 のLTS終了が近づき、v16もLTSが早くに終了することもあり、v18への移行が進んでいると思います。
私たちもv18への移行を実施していたり、新しいものはv18で作り始めていますが、そこで得たナレッジを共有できるセッションにしたいと思います。

https://javascript-fes.doorkeeper.jp/events/154047

Kenichiro Kishida

April 23, 2023
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. य़ͷ+BWB4DSJQUࡇΓ0OMJOF
    ,FOJDIJSP,JTIJEB
    !TJ[VIJLP
    /PEFKTWϕʔεΠϝʔδΛ࢖ͬͨ
    "84-BNCEB
    ΞϓϦ։ൃʹ͓͚Δ
    ޫ
    ͱ
    Ө

    View Slide

  2. ,FOJDIJSP,JTIJEB
    Ӭ࿨ͷσΟεςΟϯάΠογϡτɾΤϯδχΞ੍౓ʹ͓͚Δ
    %JTUJOHVJTIFE$SFBUPS
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ

    View Slide

  3. https://blog.open.tokyo.jp/2021/07/11/pong-swoosh.html
    PR
    ʹ৽ػೳΛϦϦʔε͠·ͨ͠

    View Slide

  4. PR
    ΋͠Α͚Ε͹ࢀՃ͍ͯͩ͘͠͞

    View Slide

  5. https://github.com/nodejs/Release

    View Slide

  6. w"84Λ࢖͍ͬͯΔɺ·ͨ͸͜Ε͔Β࢖͓
    ͏ͱࢥ͍ͬͯΔ
    w-BNCEBΛར༻͍ͯ͠Δɺ࢖͓͏ͱͯ͠
    ͍Δ
    w5ZQF4DSJQUͰίʔυΛॻ͍͍ͯΔ
    ຊ೔ͷλʔήοτϢʔβʔ

    View Slide

  7. w $*ͷΠϝʔδ͸ެࣜͷ-BNCEB%PDLFSΠϝʔδ͕
    ศར
    w BXTTELWͷϢχοτςετʹ͸BXTTEL
    DMJFOUNPDL͕ྑ͍
    w BXTTELͷ֤Ϟδϡʔϧͷόʔδϣϯ͸ଗ͑ͯɺͳ
    Δ΂͘࠷৽Λ࢖͓͏
    w QFFS%FQFOEFODJFTʹॻ͍ͯ͋ΔϞδϡʔϧ΋
    όʔδϣϯΛଗ͑ͯΠϯετʔϧ͠Α͏
    w BXTTELؔ਺ΫϥεҎ֎ɺͨͱ͑͹FOVNͷ஋ͳ
    Ͳ͸جຊతʹར༻͠ͳ͍
    w QBDLBHFTʹ͋ΔυΩϡϝϯτͳ͠ͷϞδϡʔϧΛ࢖
    ͏৔߹͸ɺ[JQʹؚΊΔ
    େࣄͳ͜ͱ͸࠷ॳʹ
    https://blog.open.tokyo.jp/2023/04/18/generation-code-aws-sdk-v3.html

    View Slide

  8. w"NB[PO-JOVY $FOU04
    ʹ
    /PEFKTW͸ΠϯετʔϧͰ͖ͳ͍
    w௕Β͘ଓ͍ͨ"NB[PO-JOVY͸
    ʜͷΑ͏ʹมΘΔ
    w$FOU04'FEPSB-JOVYϕʔε΁
    w"84-BNCEB#BTF$POUBJOFS
    *NBHFTΛ࢖͏ͱศར

    IUUQTIVCEPDLFSDPNSBNB[POBXTMBNCEBOPEFKT


    -BNEBPO/PEFKTW3VOUJNF
    https://blog.open.tokyo.jp/2022/12/30/migrate-aws-lambda-node-js-14-to-18.html

    View Slide

  9. wW͕ϥϯλΠϜʹΠϯετʔϧ

    W͸೥தʹϝϯςφϯεϞʔυʹมΘΔ

    w"84αʔϏεͱରʹͳͬͨϞδϡʔϧ΁

    ͨͱ͑͹!BXTTELDMJFOUT

    wެࣜਪ঑ͷBXTTELDMJFOUNPDLͰ
    Ϣχοτςετ͕ॻ͖΍͘͢ͳΔ
    wW͔ΒW΁ͷม׵πʔϧ΋ެࣜʹ͸͋
    Δ͕ʜ


    BXTTELPO/PEFKTW3VOUJNF
    https://blog.open.tokyo.jp/2023/01/04/migrate-aws-sdk-node-js-v2-to-v3.html

    View Slide

  10. wαʔϏεͱରͷϞδϡʔϧʹͳͬͨͨΊɺ
    Ϟδϡʔϧ͝ͱͷόʔδϣϯ͕ҟͳΔͱɺ
    ίϯύΠϧΤϥʔʹͳΔ 54

    wJTTVF͸͋Δ͕ղܾͦ͠͏ʹͳ͍
    wΦεεϝͳͷ͸ৗʹ࠷৽όʔδϣϯʹଗ͑
    Δʜͱͷ͜ͱ
    wύοέʔδ؅ཧ SZ


    BXTTELWXJUI5ZQF4DSJQU
    https://blog.open.tokyo.jp/2023/04/03/aws-sdk-v3-ts2345.html

    View Slide

  11. wܕ৘ใͷഁյతมߋ͕සൟʹى͜Δ
    wEFQFOEFODJFTͷϙϦγʔ͕ύοέʔδ
    ʹΑͬͯҧ͏
    w໰୊Λࢦఠͨ͠JTTVF͕EJTDVTTJPOT
    ʹมߋ͞Εͯ͠·͏
    wQFFS%FQFOEFODJFTʹॻ͍ͯ͋ΔϞ
    δϡʔϧ΋όʔδϣϯΛଗ͑ͯΠϯετʔϧ

    ύοέʔδ؅ཧ SZ


    BXTTELWXJUI5ZQF4DSJQU
    https://blog.open.tokyo.jp/2023/04/04/aws-sdk-v3-compile-error-2.html

    View Slide

  12. https://blog.open.tokyo.jp/2023/04/04/aws-sdk-v3-compile-error-2.html
    @aws-sdk/[email protected] ͷ package.json ͷҰ෦
    @aws-sdk/[email protected] ͷ package.json ͷҰ෦
    @aws-sdk/abort-controller ͷ package.json ͷҰ෦
    ͳͥ ^3.0.0 ….


    ύοέʔδ؅ཧ.. (ry
    ࠷৽
    ࠷৽Ͱ͸ͳ͍͚Ͳ
    lib-storage ͱόʔ
    δϣϯΛ߹Θͤͨ
    ࣗ෼ͰBXTTELWΛ࢖͏ϥΠϒϥϦΛ࡞ͬͨͱ͖΋

    ͳΔ΂͘QFFS%FQFOEFODJFTʹઃఆ͠Α͏

    View Slide

  13. wܕ৘ใͷഁյతมߋ͕සൟʹى͜Δ
    wBXTTELؔ਺ΫϥεҎ֎ɺͨͱ͑͹
    FOVNͷ஋ͳͲ͸جຊతʹར༻͠ͳ͍


    BXTTELWXJUI5ZQF4DSJQU
    https://blog.open.tokyo.jp/2023/04/05/aws-sdk-v3-changed-enum-to-const.html

    View Slide

  14. w/PEFWͰ͸TELW͕ϥϯλΠϜʹ
    ೖ͍ͬͯΔ
    wϥϯλΠϜʹೖ͍ͬͯͳ͍!BXTTEL
    YYYY͕/1.ʹଘࡏ͢Δ
    w࣮͸ϥϯλΠϜʹؚ·ΕΔ΋ͷΛ࢖͏ͷͰ
    ͸ͳ͘[JQʹؚΊΔͷ͕ϕετϓϥΫςΟε

    Ͱ΋αΠζ͕େ͖͍ͷͰৄ͘͠͸هࣄͰղઆͯ͠·͢

    w3&"%.&ʹར༻ํ๏͕هड़͞Ε͍ͯͳ͍
    Ϟδϡʔϧ͸ഁյతมߋ͕ൃੜ͢Δ


    BXTTELWXJUIJO-BNCEB
    https://blog.open.tokyo.jp/2023/04/18/generation-code-aws-sdk-v3.html

    View Slide

  15. w $*ͷΠϝʔδ͸ެࣜͷ-BNCEB%PDLFSΠϝʔδ͕
    ศར
    w BXTTELWͷϢχοτςετʹ͸BXTTEL
    DMJFOUNPDL͕ྑ͍
    w BXTTELͷ֤Ϟδϡʔϧͷόʔδϣϯ͸ଗ͑ͯɺͳ
    Δ΂͘࠷৽Λ࢖͓͏
    w QFFS%FQFOEFODJFTʹॻ͍ͯ͋ΔϞδϡʔϧ΋
    όʔδϣϯΛଗ͑ͯΠϯετʔϧ͠Α͏
    w BXTTELؔ਺ΫϥεҎ֎ɺͨͱ͑͹FOVNͷ஋ͳ
    Ͳ͸جຊతʹར༻͠ͳ͍
    w QBDLBHFTʹ͋ΔυΩϡϝϯτͳ͠ͷϞδϡʔϧΛ࢖
    ͏৔߹͸ɺ[JQʹؚΊΔ
    https://blog.open.tokyo.jp/2023/04/18/generation-code-aws-sdk-v3.html
    ·ͱΊ

    View Slide

  16. https://blog.open.tokyo.jp/

    View Slide