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

AWS Summit Tokyo 2015

AWS Summit Tokyo 2015

A8f802dfbbdd43f6e3be9936c3cbed7f?s=128

Shuhei Kimura

June 02, 2015
Tweet

More Decks by Shuhei Kimura

Other Decks in Technology

Transcript

  1. ʰϦΞϧλΠϜλʔήςΟϯά޿ࠂͷ ഑৴ɾ෼ੳج൫ͷ։ൃͷཪଆʱ d"NB[PO,JOFTJTͷ׆༻d גࣜձࣾαΠόʔΤʔδΣϯτ ΞυςΫελδΦ%ZOBMZTU ໦ଜऺฏ

  2. 1SPpMF ໊લ  ໦ଜऺฏ4IVIFJ,JNVSB   IUUQTXXXGBDFCPPLDPNTIVIFJLJNVSB ॴଐ  גࣜձࣾαΠόʔΤʔδΣϯτ

      ΞυςΫຊ෦"E5FDI4UVEJP    %ZOBMZTU։ൃ੹೚ऀ ܦྺ  d޿ࠂޮՌܭଌγεςϜͷ։ൃ  d1$ͷ35#޿ࠂ഑৴ʹ͓͚Δ࠷దԽΤϯδϯͷઃܭ։ൃ  d41޲͚ւ֎%41γεςϜͷઃܭ։ൃ  d41޲͚μΠφϛοΫϦλʔήςΟϯά޿ࠂ഑৴γεςϜͷઃܭ։ൃ
  3. "HFOEBPGUIJTTFTTJPO ΦϯϥΠϯ޿ࠂͷ͍· ࡢࠓͷ޿ࠂ഑৴ʹٻΊΒΕΔ͜ͱ͸Կ͔ʁ %ZOBMZTU͕ఏڙ͢ΔՁ஋ͱ͸Կ͔ʁ %ZOBMZTUͷγεςϜߏஙʹ͓͚Δίϯηϓτ γεςϜͷେن໛Խʹ൐ͬͯ௚໘ͨ͠՝୊ͨͪ ϩάͷྔ͚ͩͰͳ͘ϩάͷ಺༰͕ଟ༷Խ͢Δ͜ͱʹରԠ͠ʹ͍͘໰୊ σʔλͷར༻༻్ͷଟ༷Խͱॊೈੑͷ໰୊ Ϩϙʔτूܭج൫㱠ΞυϗοΫ෼ੳج൫ "NB[PO,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔ

    ͳͥ,JOFTJTͰղܾͰ͖Δͱߟ͔͑ͨʁ ,JOFTJTΛίΞͱ͢Δσʔλ׆༻ઓུͱ࣮ݱͨ͠γεςϜʹ͍ͭͯ
  4. 4JHOJpDBOUDIBOHFTPGUIFFOWJSPONFOU GPSPOMJOFEJTQMBZBEWFSUJTJOH dΦϯϥΠϯσΟεϓϨΠ޿ࠂΛऔΓר͘؀ڥd

  5. 8IBU`TIBQQFOJOH ΑΓࡉ͔ͳλʔήςΟϯά͕Մೳͳ࣌୅ 8)ʹ͓͚Δ8IP͕ಛʹॏཁࢹ͞ΕΔ Ϣʔβͷߦಈʹجͮ͘޿ࠂ഑৴ ޿ࠂ༧ࢉͷద੾ͳ഑෼ͱ30*ޮ཰ͷ޲্ ޿ࠂग़ߘͷҙࢥܾఆ͸ϦΞϧλΠϜԽdNTFDPSEJFd ͍ͭ Ͳ͜Ͱ ͩΕʹ ͲΜͳ޿ࠂΛ͍͘ΒͰग़͢PSग़͞ͳ͍

    3FBM5JNF#JEEJOHऔҾ͸౰ͨΓલͷੈք ޿ࠂ഑৴ٕज़͸೥ʑɺߴ౓ʹෳࡶʹ "SFZPVBOVTFSXIPN XFTIPVMEEFMJWFSPVSBE
  6. 8IBUJT

  7. 3FBM5JNF6TFS1FSTPOBMJ[FE%ZOBNJD"ETFSWJDF1SPWJEFS JTGVMMZQPXFSFECZ

  8. ,FZXPSET 3FBM5JNFdԿ͕ϦΞϧλΠϜͳͷ͔ d  αΠτ಺Ϣʔβߦಈ͕ϦΞϧλΠϜʹ޿ࠂʹ൓ө͞ΕΔ 35#࣌୅͔ͩΒͦ͜Ͱ͖Δ 6TFS1FSTPOBMJ[FE"EdϨίϝϯυٕज़d  Ϣʔβͷझຯᅂ޷ʹ߹Θͤͯ޿ࠂ͕μΠφϛοΫʹมԽ

  9. ,FZ$PODFQUGPS%ZOBMZTU4ZTUFN"SDIJUFDUVSF γεςϜӡ༻ίετ͸খ͘͞   dνʔϜόϥϯεΛ࠷దԽɺ0QT %FW #J[d  গ͠ઌΛݟӽͨ͠εέʔϥϏϦςΟ 

     dεϐʔυΛ༏ઌͯ͠ҙਤతʹແࢹͯ͠ෛ࠴Λ࡞Δέʔε͸΋ͪΖΜ͋Γ·͢d  ࡞Βͳͯ͘ࡁΉ΋ͷ͸࡞Βͳ͍   dͦ΋ͦ΋࡞Βͳ͚Ε͹ϝϯς͠ͳͯ͘Α͍d    d"84͸40"ͳͷͰιϦϡʔγϣϯ͸୳͢ɺ΋͘͠͸૬ஊ͢Ε͹ݟ͔ͭΔd
  10. 1SPCMFNTXFGBDFE XIFOCVTJOFTTTZTUFNFYQBOET dγεςϜͷେن໛Խʹ൐ͬͯ௚໘ͨ͠՝୊ͨͪd

  11. %BUBWPMVNF%BUBWBSJBUJPO B[B B[D ʜ GPSFBDITFSWFS ʜ ഑৴ɾܭଌϩάͷσʔλӡൖϑϩʔ  ᶃqVFOUEESJWFOEBUBPQFSBUJPO 

    ᶄ43FETIJGUͷܧଓ$01:աఔͰςʔϒϧఆٛΛ༰қʹมߋͰ͖ͳ͍ σʔλͷྔ΁ͷ഑ྀ̋σʔλͷ࣭΁ͷ഑ྀ˚ USBDLJOHMPHT GPSCJHEBUBBOBMZTJT PO3FETIJGU$MVTUFS TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS ˞ʰ͋ͷ৘ใ΋ཉ͍͠ͳ͊ɻɻʱ˰ΧϥϜΛ௥Ճʂʁ
  12. %J⒎FSFOURVFSZSFRVJSFNFOUGSPNTBNFEBUBTPVSDF B[B B[D ʜ GPSFBDITFSWFS BDDFTTMPHT ʜ ഑৴࣮੷෼ੳͷͨΊͷΫΤϦ ؤுΕ͹3FETIJGUͰͳΜͰ΋Ͱ্ཱ͖ͨͪ͛ظʂ˰ͦΖͦΖݟ௚࣌͢ظʁ USBDLJOHMPHT

    GPSCJHEBUBBOBMZTJT PO3FETIJGU$MVTUFS TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS ΞυϗοΫΫΤϦͱۀ຿ܥΫΤϦ͕ಉډ͍ͯ͠Δͷ͸ͦΖͦΖݶք  ˞8-.ͳͲͰͷΫΤϦ༏ઌ౓ௐ੔ தؒςʔϒϧઃܭͳͲͰ͸Ͳ͏ʹ΋ͳΒͳ͍ਫ਼ਆతෛ୲ ޿ࠂओ༷޲͚ͷϨϙʔτूܭΫΤϦ
  13. 'SFTI%BUB PS#JH%BUB σʔλͷ઱౓͕ԿΑΓ΋ॏཁʁ աڈͷ഑৴࣮੷ͷ܏޲ͳͲσʔλͷྔ͕ॏཁʁ ͋Δ޿ࠂ࿮ͷ഑৴අ༻ޮՌ͸Ͳ͏͔ʁ ͋Δ޿ࠂ࿮ͷࡏݿٴͼ୯Ձ͸Ͳ͏͔ʁ 3FETIJGU·ͰσʔλΛӡΜͰ͔Β͕ελʔτͰ͸ͪΐͬͱ஗͍ ͲΜͳ঎඼ͷ޿ࠂΛͲΕ͚ͩ഑৴͔ͨ͠ʁ ͋Δ঎඼ͷ޿ࠂΛ഑৴͍͗ͯ͢͠ͳ͍͔ʁ

  14. )PXXFTPMWFEUIFTFQSPCMFNT CZVTJOH"NB[PO,JOFTJT d,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔd

  15. 8IZ"NB[PO,JOFTJT 

  16. $PODFQU.BUDIFT JOQVUOPVUQVU ,JOFTJT4USFBNΛى఺ͱͨ͠ σʔλϑϩʔ͕ཁ݅ʹ߹͍ͦ͏ʁʁ 'SFTI%BUB#JH%BUB 4·Ͱӡ΂Ε͹3FETIJGUͱͷ*OUFHSBUJPO͸Ͱ͖Δʁʁ ͦͷ৔ͰσʔλΛऔΓग़ͯ͠ॲཧ͢Ε͹'SFTIσʔλͱͯ͠ѻ͑Δʁʁ ෼ੳج൫ͱूܭج൫ͷ໾ׂͷ෼཭ σʔλϑϩʔΛγϯϓϧʹͭͭ͠෼ੳج൫ڧԽͷͨΊͷࢪࡦΛଧ͍ͪͨ 40"ͷࢥ૝ͦͷ··ʹ৭ʑͳαʔϏεͱ࿈ܞͰ͖Δʁʁ

  17. σʔλӡൖϑϩʔͷ֦ுdେ·͔ͳྲྀΕd B[B B[D ʜ DPOTVNFS" DPOTVNFS# DPOTVNFS$ BTQSPEVDFS DPOTVNFS% DPOTVNFS&

    ଱ো֐ੑͷߴ͍ϩάऩूύΠϓϥΠϯͱͯ͠ͷ໾ׂʂ ϩάऩूαʔό͍ΒͣɺqVFOUE͸CVGGFSͯ͠1VU3FDPSET
  18. σʔλӡൖϑϩʔͷ֦ுdࢼߦࡨޡͷաఔd B[B B[D ʜ DPOTVNFS" DPOTVNFS# DPOTVNFS$ BTQSPEVDFS DPOTVNFS% DPOTVNFS&

    1VU3FDPSET"1*͕·ͩͳ͔ͬͨ ˰qVFOUEͰQVU͕௥͍͔ͭͳ͍ qVFOUEͰεϨου਺Λ૿΍͢ͷ͸ͪΐͬͱ ˰ΞϓϦέʔγϣϯαʔό಺Ͱͷ1VU3FDPSEͰҰ࣌ରॲ 1VU3FDPSET"1*͕ϦϦʔε͞ΕΔ˞"844%,GPS3VCZW͔Β ˰Ͳ͏ߟ͑ͯ΋CVGGFSͯ͠qVFOUEͰॲཧͤ͞Δͷ͕҆ఆ͢Δʂ
  19. σʔλӡൖϑϩʔͷ֦ுd#FGPSF"GUFSd B[B B[D ʜ USBDLJOHMPHT TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS B[B B[D

    ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT DPOUJOVFTDPQZ #FGPSF "GUFS
  20. σʔλӡൖϑϩʔͷ֦ுd#FGPSF"GUFSd B[B B[D ʜ USBDLJOHMPHT TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS B[B B[D

    ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT DPOUJOVFTDPQZ #FGPSF "GUFS 4΁ͷσʔλͷӡͼํΛ,JOFTJTΛܦ༝͢Δํࣜʹมߋ ˰,JOFTJT$POTVNFSΞϓϦΛ࣮૷͠ɺϦΞϧλΠϜͳԿ͔Λ͢Δ؀ڥΛ࣮ݱ ˰qVFOUEͷ໾ׂͷ੔ཧ  424 4ͱͷJOUFHSBUJPOͷղফ  ,JOFTJT1SPEVDFSͱͯ͠ͷ໾ׂ
  21. ෼ੳج൫ͱूܭج൫ͷ໾ׂͷ෼཭ B[B B[D ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT 3VOOJOH4QBSLXJUI :"3/PO&.3$MVTUFS DPOUJOVFTDPQZ ఆܗϨϙʔτۀ຿ܥॲཧΛ3FETIJGU͔Β&.3΁

    ˰෼ੳܥΫΤϦΛ෼ੳऀ͕ετϨεͳ͘౤͛ΒΕΔ؀ڥͷ࣮ݱ ˰3FETIJGUʹ͸ఆظతʹ$01:ͯ͠ϩάσʔλΛͨΊΔ ˞ ஌Γ͍ͨ͜ͱΛ42-ҰຊͰهड़Ͱ ͖Δ఺Ͱ3FETIJGU͸෼ੳऀϑϨϯ υϦʔ ˞ ෼ੳΞϓϩʔνͷ܏޲͔Βҙ֎ͱ ੜϩάΛى఺ͱͨ͠෼ੳ͕ଟΊ 3FQPSUJOH SFQPSUBQJ BOBMZTU BEWFSUJTFST
  22. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ ޿ࠂओ༷αΠτΛ๚ΕͨϢʔβ͕Έͨ঎඼͕ %ZOBMZTUͰ؅ཧ͢Δ঎඼%#ʹ͋Δ͔൱͔ΛνΣοΫ͍ͨ͠ TVQMPBEDPOTVNFS   DPWFSBHFDPVOUDPOTVNFS GPPUQSJOUTUSFBN JOQVU qVFOUEͰ1VU3FDPSET

    ඵؒdSFDPSE͘Β͍QVU TIBSE਺͸ͰTUSFBNΛ࡞੒ PVUQVU ϓϩηεͰDPOTVNFSΛ&$্Ͱ࣮ߦͤ͞Δ TDBMBBQQ ,$-Ͱ࣮૷ EBFNPOԽͯ͠QSPDFTT؅ཧ TUSFBN͔ΒҰׅͰ(FU3FDPSET͠ɺ ·ͱΊͯॲཧͯ݁͠ՌΛ&MBTUJ$BDIF΁
  23. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ   DPWFSBHFDPVOUDPOTVNFSQSPD GPPUQSJOUTUSFBN ,$-ͷڍಈཧղ CVJMEͨ͠ΞϓϦͷ&$΁ͷσϓϩΠQSPD ॳճىಈ࣌ʹ%ZOBNP%#΁DIFDLQPJOU؅ཧ༻ͷUBCMF͕࡞੒͞ΕΔ νΣοΫϙΠϯτΛߋ৽͠ͳ͕ΒΞϓϦ͸TIBSEݸ෼ͷσʔλΛॲཧ ΋͏ҰͭΞϓϦΛ&$ʹσϓϩΠQSPD

    DIFDLQPJOU؅ཧςʔϒϧΛࢀরͯ͠ɺݸTIBSEΛୣͬͯॲཧ։࢝ TIBSEQSPDͰॲཧ͞ΕΔঢ়ଶʹͳΔ QSPDΛTIVUEPXO͢ΔͱQSPD͕TIBSEݸ෼ॲཧ࢝͠ΊΔ DPWFSBHFDPVOUDPOTVNFSQSPD GFFEDPWFSBHFTUPSF DIFDLQPJOUNBOBHFUBCMF leaseKey checkpoint leaseOwner shard-0000 seq-abcd123 consumer01:xxx x shard-0001 seq-efgh456 consumer02:yyy y ˞ ͲͷTIBSEΛͲ͜·ͰͩΕ͕ॲཧͨ͠ʁ ˞,$-͸ඇৗʹߴػೳͰศར
  24. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ   DPWFSBHFDPVOUDPOTVNFSQSPD GPPUQSJOUTUSFBN ,$-ར༻࣌ͷϋϚͬͨϙΠϯτ ϐʔΫ࣌ʹҰํͷQSPD͕ؤுΓɺଞํͷQSPD͕ؤுΒͳ͍໰୊  %ZOBNP%#ͷDIFDLQPJOU؅ཧςʔϒϧͷ8SJUFΩϟύΦʔόʔ ॳظ͕8SJUF$BQBDJUZͰ࡞੒͞ΕΔͷͰॲཧͷ୯Ґɺ಺༰ʹΑͬͯ͸Ͱ଍Γͳ͍ͷͰ૿΍͢

    ৽͍͠όʔγϣϯͷΞϓϦΛσϓϩΠͨ͠ΒͲ͏ͳΔͷʁ  QSPD QSPDΛىಈ TIBSE਺ݸͷ৔߹͸ݹ͍QSPD QSPD͕࢓ࣄΛୣΘΕΔ ࣮࣭SPMMJOHVQEBUFతͳڍಈΛࣔ͢ QSPD QSPDΛด͔ͯ͡ΒQSPD QSPDΛىಈͨ͠΄͏͕͍͍ͱ͖΋͋Δ͔΋ʁ TIBSE਺͕଍Γͳ͍ͷͰBQJܦ༝ͰTQMJUTIBSEͨ͠ɺΞϓϦ͸Ͳ͏ͳΔʁ  DIFDLQPJOU؅ཧςʔϒϧ͕Α͠ͳʹ΍ͬͯ͘ΕΔ TQMJUTIBSE͢ΔલͷTIBSEͷॲཧΛऴ͑ͨΒ৽͍͠TIBSEͰͷॲཧΛҾ͖ܧ͙ DPWFSBHFDPVOUDPOTVNFSQSPD GFFEDPWFSBHFTUPSF DIFDLQPJOUNBOBHFUBCMF ˞ ͜ͷTIBSEͷ਌͸ͩΕʁ ˞,$-͸ඇৗʹߴػೳͰศར leaseKey checkpoint leaseOwner parentShardId shard-0002 seq-abcd123 consumer01:xx xx {"shard-0000"} shard-0003 seq-efgh456 consumer02:yy yy {"shard-0000"}
  25. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ ୈࡾऀ഑৴ͱ35#഑৴ ߹ΘͤͯͲΕ͘Β͍഑৴Մೳͳػձ͕͋ͬͨͷ͔஌Γ͍ͨʂ BEDBOEJEBUFDPOTVNFS  BETUSFBN   CJETUSFBN 

    CJEDBOEJEBUFDPOTVNFS ෳ਺ͷTUSFBNͷσʔλΛ࢖͍͍ͨঢ়گͰͲ͏͢Δʁ BETUSFBNͷྲྀྔ͸ SQT TIBSE਺ CJETUSFBNͷྲྀྔ͸ SQT TIBSE਺
  26. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ BEDBOEJEBUFDPOTVNFS  BETUSFBN   CJETUSFBN  CJEDBOEJEBUFDPOTVNFS ෳ਺ͷTUSFBNͷσʔλΛ࢖͍͍ͨঢ়گͰͲ͏͢Δʁ

    BETUSFBNͷྲྀྔ͸ SQT TIBSE਺ CJETUSFBNͷྲྀྔ͸ SQT TIBSE਺ %ZOBMZTUͰ͸ɺɺ DPOTVNFS͸TUSFBNຖʹͦΕͧΕ࣮૷͢Δ DPOTVNFSͷதͰผͷTUSFBNʹ࠶QSPEVDF͢ΔॲཧΛೖΕΔ DBOEJEBUFTUSFBNͷDPOTVNFSͰ໨తͷॲཧΛ࣮૷͢Δʂ DBOEJEBUFDPOTVNFS DBOEJEBUFTUSFBN
  27. ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ BEDBOEJEBUFDPOTVNFS  BETUSFBN   CJETUSFBN  CJEDBOEJEBUFDPOTVNFS ෳ਺ͷTUSFBNͷσʔλΛ࢖͍͍ͨঢ়گͰͲ͏͢Δʁ

    BETUSFBNͷྲྀྔ͸ SQT TIBSE਺ CJETUSFBNͷྲྀྔ͸ SQT TIBSE਺ (FU3FDPSETͨ͠΋ͷΛू໿͠ɺ Ϩίʔυ਺ΛݮΒͯ͠࠶QSPEVDFʂ DBOEJEBUFDPOTVNFS
  28. ϦΞϧλΠϜͳॲཧͱόονॲཧd0WFSWJFXd "EWFSUJTJOH 4JUF5SBDLJOH "E5SBDLJOH GFFECBDL GFFECBDL DBNQBJHONBOBHFNFOUYSFQPSUJOHGPS"EWFSUJTFS 3VOOJOH4QBSLXJUI :"3/PO&.3$MVTUFS

  29. 4VNNBSZPGUIJTTFTTJPO ΦϯϥΠϯ޿ࠂͷ͍· ࡢࠓͷ޿ࠂ഑৴ʹٻΊΒΕΔ͜ͱ͸Կ͔ʁ %ZOBMZTU͕ఏڙ͢ΔՁ஋ͱ͸Կ͔ʁ %ZOBMZTUͷγεςϜߏஙʹ͓͚Δίϯηϓτ γεςϜͷେن໛Խʹ൐ͬͯ௚໘ͨ͠՝୊ͨͪ ϩάͷྔ͚ͩͰͳ͘ϩάͷ಺༰͕ଟ༷Խ͢Δ͜ͱʹରԠ͠ʹ͍͘໰୊ σʔλͷར༻༻్ͷଟ༷Խͱॊೈੑͷ໰୊ Ϩϙʔτूܭج൫㱠ΞυϗοΫ෼ੳج൫ "NB[PO,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔ

    ͳͥ,JOFTJTͰղܾͰ͖Δͱߟ͔͑ͨʁ ,JOFTJTΛίΞͱ͢Δσʔλ׆༻ઓུͱ࣮ݱͨ͠γεςϜʹ͍ͭͯ
  30. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠