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

Since no time to construct an infrastructure, I tried using Serverless Framework. / インフラつくる時間がなかったから Serverless Framework を 使ってみた話

石川 博
February 01, 2019

Since no time to construct an infrastructure, I tried using Serverless Framework. / インフラつくる時間がなかったから Serverless Framework を 使ってみた話

2019/02/01(金)那覇でLTしNight!!
https://re-build.connpass.com/event/115442/

インフラ枠LT
「インフラつくる時間がなかったから Serverless Framework を 使ってみた話」

石川 博

February 01, 2019
Tweet

More Decks by 石川 博

Other Decks in Technology

Transcript

  1. Πϯϑϥͭ͘Δ͕࣌ؒͳ͔͔ͬͨΒ
    4FSWFSMFTT'SBNFXPSLΛ
    ࢖ͬͯΈͨ࿩

    ಹ೼Ͱ-5͠/JHIUʢΠϯϑϥ-5࿮ʣ
    ੴ઒ത

    View Slide

  2. ࣗݾ঺հ
    גࣜձࣾαΠμε
    ٕज़ຊ෦
    ϓϩμΫςΟϏςΟɾϢχοτ
    ੴ઒തʢ͍͔͠ΘͻΖ͠ʣ

    View Slide

  3. ࢥߟλΠϓ਍அΞϓϦɿ/&0,JET
    w ࣭໰ʹ౴͑ͯࢥߟλΠϓΛ͸͖͡ग़͢ʂʂ

    View Slide

  4. /&0,JETͷߏ੒
    w "84Ͱߏஙɻ3&45"1*෦෼Λ୲౰͠·ͨ͠ɻ
    AWS
    Lambda
    Amazon

    S3
    Amazon

    DynamoDB
    Amazon API
    Gateway
    ୲౰ͨ͠ͱ͜Ζ
    3&45"1*
    ɾઃ໰ηοτ
    ɾ਍அ݁Ռ
    ɾઃ໰ηοτΛฦ͢
    ɾճ౴݁Ռͷ਍அ
    ɾ੩తWebαΠτ

    View Slide

  5. 4FSWFSMFSTT'SBNFXPSLΛ࢖ͬͨཧ༝
    w ͕࣌ؒͳ͔ͬͨɻʢΪϦΪϦ·Ͱϊʔλονʜʣ

    View Slide

  6. 4FSWFSMFSTT'SBNFXPSLΛ࢖ͬͨཧ༝
    w ͕࣌ؒͳ͔ͬͨɻʢΪϦΪϦ·Ͱϊʔλονʜʣ
    w ਆͷܒࣔɻ

    View Slide

  7. 4FSWFSMFSTT'SBNFXPSLΛ࢖ͬͨཧ༝
    w ͕࣌ؒͳ͔ͬͨɻʢΪϦΪϦ·Ͱϊʔλονʜʣ
    w ਆͷܒࣔɻ
    w ਆ͸ݴ͍ͬͯΔɻ

    4FSWFSMFTT'SBNFXPSLΛ࢖͑ɺͱɻ

    View Slide

  8. 4FSWFSMFSTT'SBNFXPSLͬͯʁ
    w ެࣜυΩϡϝϯτ



    w ΦʔτεέʔϦϯάͰ͖ͯɺैྔ՝ۚͰɺ

    ΠϕϯτۦಈܕͷϑΝϯΫγϣϯΛ

    ϏϧυσϓϩΠͰ͖Δ

    $-*πʔϧͩΑɻʢ·Μ·ɻʣ
    5IF4FSWFSMFTT'SBNFXPSLJTB$-*UPPMUIBUBMMPXTVTFSTUPCVJMEEFQMPZBVUPTDBMJOH
    QBZQFSFYFDVUJPO FWFOUESJWFOGVODUJPOT
    8SJUFZPVSDPEF DPOpHVSFFWFOUTUPUSJHHFSZPVSGVODUJPOT UIFOEFQMPZSVOUIPTF
    GVODUJPOTUPZPVSDMPVEQSPWJEFSWJBUIF4FSWFSMFTT$-*

    View Slide

  9. 4FSWFSMFSTT'SBNFXPSLͬͯʁ
    w ରԠϓϥοτϑΥʔϜʢݱࡏʣ

    View Slide

  10. ΍ͬͯΈͨ
    w ͜͏΍ͬͯʢ1$ʹΠϯετʔϧʣ



    ˞νϡʔτϦΞϧ௨Γ͢͢ΊΔ͚ͩ

    ɹIUUQTTFSWFSMFTTDPNCMPHTFSWFSMFTTFYQSFTTSFTUBQJ
    w ͜͏΍ͬͨΒʢσϓϩΠʣ
    $ npm install -g serverless
    $ mkdir my-express-application && cd my-express-application
    $ npm init -f
    $ npm install —save express serverless-http
    $ sls deploy -- profile {AWS CLIͷProfile໊} -- stage {Stage໊}

    View Slide

  11. ΍ͬͯΈͨ
    w Ͱ͖ͨɻʢ४උɿ෼ɻσϓϩΠɿ෼͙Β͍ɻʣ
    ςϯϓϨʔτΛ4ʹΞοϓϩʔυ
    $MPVE'PSNBUJPO
    ͷ4UBDL໊
    "1*(BUFXBZͷΤϯυϙΠϯτ
    -BNCEBͷؔ਺໊

    View Slide

  12. ָͩͳʔͱࢥͬͨ͜ͱ
    w σϓϩΠ·Ͱ͋ͬͱ͍͏ؒ
    w νϡʔτϦΞϧ͕ஸೡ

    ɹˠࠓճ͸΄΅ίϐϖɻ
    w ίϚϯυҰൃͰσϓϩΠεΫϥοϓ

    ɹˠTMTEFQMPZ

    ɹˠTMTEFTUSPZʢ͖ͬ͢Γʣ
    w ճ໨Ҏ߱ͷ%FQMPZ͸มߋ఺ͷΈࠩ෼ߋ৽

    ɹˠ$MPVE'PSNBUJPOʹ४ͣΔɻ

    View Slide

  13. ָͩͳʔͱࢥͬͨ͜ͱ
    w هड़ํ๏͕Θ͔Γ΍͍͢
    w QBDLBHFKTPO
    w ϓϩδΣΫτ৘ใɻࠓճϊʔλονɻ
    w TFSWFSMFTTZNM
    w σϓϩΠ͢ΔϦιʔεͷ৘ใɻ

    ʢϦιʔε໊ɺύϥϝλɺґଘؔ܎ɺม਺ɺʜFUDʣ

    ˠ΄΅΄΅$MPVE'PSNBUJPOɻ
    w JOEFYKTʢࠓճOPEFKTͳͷͰʣ
    w -BNCEBͰಈ͔͍ͨ͠OPEFKTίʔυΛهड़
    w Ҏલ͞Θͬͨ4".͸ಠࣗϧʔϧͰਏ͔ͬͨهԱɻɻ

    View Slide

  14. ࢼͤ͹Α͔ͬͨ͜ͱ
    w ϩʔΧϧ؀ڥͷߏங
    w 1MVHJOͰϩʔΧϧ%ZOBNP%#؀ڥΛ४උͰ͖

    ˠσϓϩΠલʹςετ΋Ͱ͖Δ
    w ͳ͔ͥίϚϯυ௨Βͣɻɻ

    ͕ɺ͙͢σϓϩΠͰ͖Δ͠ɺ

    ɹɹɹɹɹɹɹɹ·͍͔͊ͬɻʢΑ͘ͳ͍ɻʣ

    View Slide

  15. ࠓޙͷωλ
    w 4FSWFSMFTT'SBNFXPSLͰ৘γεπʔϧΛͭ͘Δɻ
    w ࠓճָʑ͗ͯ͢ɺਂ͘ษڧͰ͖ͳ͔ͬͨɻɻ
    w ΋ͬͱ࢖ͬͯཧղ౓ΛਂΊΔɻ
    w ͋ɺͦ͏͍͑͹ɺɺ

    View Slide

  16. ࠓޙͷωλ
    w 4FSWFSMFTT'SBNFXPSLͰ৘γεπʔϧΛͭ͘Δɻ
    w ࠓճָʑ͗ͯ͢ɺਂ͘ษڧͰ͖ͳ͔ͬͨɻɻ
    w ΋ͬͱ࢖ͬͯཧղ౓ΛਂΊΔɻ
    w ͋ɺͦ͏͍͑͹ɺɺ

    ৘γε஥ؒืूதʂʂҰॹʹ΍Ζ͏ͥʂʂ

    View Slide