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

AWS Lambda と Node.js で作るサーバ不要のイベントドリブンアプリケーション/aws-lambda

AWS Lambda と Node.js で作るサーバ不要のイベントドリブンアプリケーション/aws-lambda

AWS Lambda と Node.js で作るサーバ不要のイベントドリブンアプリケーション

B4666fa6f42fb3b6535efda1230bce34?s=128

kiharu sasaki

April 25, 2015
Tweet

Transcript

  1. "84-BNCEBͱ /PEFKTͰ࡞Δ ΠϕϯτυϦϒϯ ΞϓϦέʔγϣϯ Kiharu Sasaki, April 2015 αʔό ෆཁͷ

  2. ⡟ղ加ֹכ׷ ,JIBSV4BTBLJ フリーランスでシステム開発をしています +"846(千葉 コアメンバー 最近は、"OHVMBS+4や3FBDUKTが好きです !CVNQ@PG@LJIBSV )"- ˘r˘ ԍ

    CVNQIBUFOBCMPHDPN 'SFFMBODF GBDFCPPLDPN LJIBSVTBTBLJ
  3.     "84-BNCEBとは ユースケース "84-BNCEBの使い方   

     参考資料 */%&9 ➙傈ֶ鑧ׅ׷ⰻ㺁
  4.  "84-BNCEBとは  8IBUJT"84-BNCEB 

  5.   &WFOUESJWFO •  أزٖ٦آ♳ךؿ؋؎ٕ ך鷄⸇㢌刿ծ%#ךر٦ة 㢌刿瘝ծぐٔا٦أך㢌 刿؎كٝز׾زٔؖ٦ח ׃ג荈⹛㹋遤ׅ׷،فٔ ؛٦ءّٝ׾圓眠〳腉

    "84 -BNCEB ؙٓؐس♳ד؎كٝز׾زٔؖ٦חⳢ椚׾㹋遤ׅ׷ 倜׋זفٓحزؿؓ٦ي   $MPVETFSWJDF •  ؟٦ؽأ؎ٝؿٓך圓眠 盖椚ָ♶銲זؙٓؐس؟٦ ؽأ •  NT⽃⡘ד㹋遤儗꟦ח 㼎ׅ׷䖞ꆀ铬ꆃկ؎كٝز 䖉堣儗ך俱ꆃכ涪欰׃זְ   .BOBHFETFSWJDF •  侧⟝傈։侧⼪⟝猱תדٔ ؙؒأزךٖ٦زח䘔ׄ ג荈⹛דأ؛٦ٕ •  㺁ꆀفٗؽآّصؚٝծ ٌصةֶؚٔٝ״ןؘٗ ؚٝ׮ׅץג欽䠐幥
  6.   ♰剢 ؙٔؒأزתד 搀俱 $MPVE4FSWJDF 鸐䌢 &$זו כ ؟٦غה׃ג珩⫴׃גְ׷꟦כ

    ⵃ欽儗꟦ד铬ꆃׁ׸׷ ؎كٝزָ涪欰׃גְזְ 䖉堣儗꟦כ俱ꆃַַָ׵זְ $MPVE TFSWJDF ؟٦ؽأ؎ٝؿٓך圓眠盖椚ָ♶銲זؙٓؐس؟٦ؽأ NT⽃⡘ד㹋遤儗꟦ח㼎ׅ׷䖞ꆀ铬ꆃ ؎كٝز䖉堣儗ך俱ꆃכ涪欰׃זְ ♰։ ♰ 儗꟦剢תד 搀俱
  7. &WFOU ESJWFO أزٖ٦آ♳ךؿ؋؎ٕך鷄⸇㢌刿ծ%#ךر٦ة㢌刿瘝ծ ぐٔا٦أך㢌刿؎كٝز׾زٔؖ٦ח׃ג荈⹛㹋遤ׅ׷ ،فٔ؛٦ءّٝ׾圓眠〳腉    4 ر٦ةأزٖ٦آ

    %ZOBNP%# /P42-ر٦ةك٦أ $PHOJUP ٌغ؎ٕ畭劣ぢ ِ٦ؠ٦钠鏾٥ ر٦ةأز،؟٦ؽأ ,JOFTJT 㣐鋉垷أزٔ٦ير٦ة ٔ،ٕة؎يⳢ椚؟٦ؽأ  4/4 1VTI鸐濼؟٦ؽأ  
  8. l ؎كٝز׾嗚濼ׅ׷׋׭ך➬穈׫׾彊⪒ l ؎كٝزח䘔ׄג㹋遤ׅ׷؟٦غ纇ך圓眠 l ؙٔؒأز侧׾✮庠׃ծأ؛٦ٕװ罣ꥺ㹱䚍׾ 넝׭׷➬穈׫ך圓眠 l ػحث黝欽瘝؟٦غך竰竲ًٝذشٝأ l 儗꟦傈ٌصةؚٔٝ .BOBHFETFSWJDF  #FGPSF-BNCEB ⿫罋չ"84#MBDL#FMU5FDIءٔ٦ؤ"84-BNCEBպ

  9. ؎ٝؿٓ圓眠٥麊欽 חתא׻׷圫ղז✲ 갪׾"84-BNCEBָ 䬐䔲 Ꟛ涪罏כؽآطأٗ آحؙך㹋植ח岣⸂ ⳿勻׷կ l ؎كٝز׾嗚濼ׅ׷׋׭ך➬穈׫׾彊⪒ l ؎كٝزח䘔ׄג㹋遤ׅ׷؟٦غ纇ך圓眠 l ؙٔؒأز侧׾✮庠׃ծأ؛٦ٕװ罣ꥺ㹱䚍׾

    넝׭׷➬穈׫ך圓眠 l ػحث黝欽瘝؟٦غך竰竲ًٝذشٝأ l 儗꟦傈ٌصةؚٔٝ  "GUFS-BNCEB .BOBHFETFSWJDF ⿫罋չ"84#MBDL#FMU5FDIءٔ٦ؤ"84-BNCEBպ
  10.  -BNCEBGVODUJPO  "844%, LambdaͰ࣮ߦ͢Δίʔυ(LambdaϑΝϯΫγϣϯ)͸ɺ Node.js·ͨ͸JavaͰهड़ τϦΨʔʹઃఆͨ͠ΠϕϯτιʔεͷଞɺSDKΛ࢖༻ͯ͠API͔ ΒLambdaϑΝϯΫγϣϯΛ௚઀࣮ߦ͢Δ͜ͱ΋Մೳ &YFDVUJWF FOWJSPNFOU

    +BWB 1)1 /&5 /PEFKT 1ZUIPO 3VCZ J04 "OESPJE
  11.  ユースケース 6TFDBTFT

  12. 6TF $BTFT  Ύًةر٦ة׾%#ח涫ꐮ ٥涫ꐮ傈儗 ٥؎ٝرحؙأ䞔㜠 ΍؟يط؎ٕ׾⡲䧭׃ג⥂㶷 ٥ٔ؟؎ؤⳢ椚 ٥⸇䊨Ⳣ椚 Ώفحءُ鸐濼

    ٥ؿؓٗٙ٦פ倜滠鸐濼 *OTUBHSBNך״ֲז ⱖ溪Ⱏ剣؟٦ؽأ׾䟝㹀 Lambda ىಈ "84ך➭ך؟٦ؽأ׾穈׫さ׻ׇ׷ֿהד ֿ׸׵♧鸬ךⳢ椚׾ׅץג-BNCEBד㹋遤דֹ׷
  13. 6TF $BTFT  ׉ך➭圫ղזِ٦أ؛٦أָ䟝㹀דֹ׷ ⿫罋չ"84#MBDL#FMU5FDIءٔ٦ؤ"84-BNCEBպ

  14. 6TF $BTFT  "84-BNCEB䎃،سكٝزٖؕٝت٦דכ ➭ח׮꬗涯ְِ٦أ؛٦أָ稱➜ׁ׸גְ׷

  15.  "84-BNCEBの使い方 )PXUPVTF

  16.   )PXUP VTF •  -BNCEBؿ؋ؙٝءّٝכ/PEFKT +BWBד鎸鶢 •  ؝٦سכծ[JQ䕎䒭ח׃ג،حفٗ٦سת׋כ؝ٝا٦ٕ♳ד湫䱸鎸鶢 • 

    ٓ؎ـٓٔכ[JQחתה׭ג،حفٗ٦سׅ׷✲דⵃ欽〳腉 •  فٗإأأٖحسا؛حزָⵃ欽〳腉 •  㹋遤橆㞮ךⵃ欽ًٌٔ㺁ꆀ׾.#⽃⡘ד䭷㹀〳腉رؿٕؓزכ.# •  㹋遤儗꟦ךة؎ي،ؐزכ剑㣐猱رؿٕؓزכ猱 •  UNQ걄㚖ח♧儗涸זSFBEXJSUFָ〳腉 ⿫罋չ"84#MBDL#FMU5FDIءٔ٦ؤ"84-BNCEBպ ꬊ䌢ח䩛鯪ח،فٔ؛٦ءّٝ׾⡲䧭〳腉
  17.   )PXUP VTF 稢ְַ䩛갫כعٝؤؔٝ项俱ה׃גⰕꟚׁ׸גְ׷ךד ׉׸׾⿫罋חׅ׷ה良い

  18.   'JMFT щ TBNQMFKT с OPEF@NPEVMFT щ BTZOD щ NJNFUZQFT с OPEF[JQ •  -BNCEBؿ؋ؙٝءّٝהז׷+4ؿ؋؎ٕכ䗳׆

    ٕ٦زחꂁ縧ׅ׷ •  ⵃ欽ׅ׷ٓ؎ـٓٔכˑOPEF@NPEVMFT˒ؿٕؓت חתה׭׷ •  "844%,כ穈׫鴥׫幥׫ך׋׭ծNPEVMFTחろ׭ ׷䗳銲כזְSFRVJSFׅ׷׌ֽד0, 㹋ꥷך،حفٗ٦سؿ؋؎ٕ圓䧭⢽
  19.   $PEFT handler ໊Λࢦఆ Πϕϯτ ιʔεͷ ৘ใ 㹋ꥷך؝٦س⢽♧鿇׾䫙磏

  20.   $PEFT ॲཧऴྃ Λએݴ 実際の؝٦س⢽(一部を抜粋) ॲཧऴྃ Λએݴ Τϥʔ Ͱऴྃ

  21.  ࢀߟࢿྉ 3FGFSFODFNBUFSJBMT

  22. 3FGFSFODF NBUFSJBMT 参考資料     չ"84#MBDL#FMU5FDIءٔ٦ؤ "84-BNCEBպ IUUQXXXTMJEFTIBSFOFU

    "NB[PO8FC4FSWJDFT+BQBOBXTCMBDL CFMUUFDIBXTMBNCEB չ"84-BNCEB6QEBUFպ IUUQXXXTMJEFTIBSFOFULFJTVLF BXTMBNCEBVQEBUF չ"84-BNCEBعٝؤؔٝ5JFS،٦ؗ ذؙثٍד劢勻פպ IUUQXXXTMJEFTIBSFOFU "NB[PO8FC4FSWJDFT+BQBOBXTMBNCEBUJFS չ"84-BNCEB"EWFOU$BMFOEBSպ IUUQRJJUBDPNBEWFOUDBMFOEBSMBNCEB " # $ %
  23. #FIBQQZZPVS +4-*'& ׀꫼耮֮׶ָהֲ׀ְׂת׃׋