Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ママリを支えるAmazonECS~Docker駆動でのサービス開発事例~
Shoichiro Nagai(shnagai)
October 30, 2017
Technology
1
1.1k
ママリを支えるAmazonECS~Docker駆動でのサービス開発事例~
Amazon Container Service 事例祭り の発表資料です。
Shoichiro Nagai(shnagai)
October 30, 2017
Tweet
Share
More Decks by Shoichiro Nagai(shnagai)
See All by Shoichiro Nagai(shnagai)
shoichiron
1
76
shoichiron
10
4.2k
shoichiron
0
300
shoichiron
2
3.2k
shoichiron
11
4.3k
shoichiron
4
8.3k
shoichiron
1
1.7k
shoichiron
11
9.7k
shoichiron
1
920
Other Decks in Technology
See All in Technology
manuelmeyer
0
130
yamamuteki
2
590
buildersbox
0
130
mamix1116
3
400
karabish
0
210
1stship
0
240
pohjus
1
740
grapecity_dev
0
130
kaedemalu
0
310
conciergeu
0
140
myhomenwlab
1
230
syoshie
0
200
Featured
See All Featured
trallard
14
710
jensimmons
207
10k
destraynor
223
47k
hursman
107
9.2k
sugarenia
233
850k
lara
172
9.6k
searls
205
36k
revolveconf
200
9.7k
keavy
107
14k
chriscoyier
780
240k
malarkey
192
8.6k
hatefulcrawdad
257
17k
Transcript
ҰาΛࢧ͑Δ "NB[PO$POUBJOFS4FSWJDFࣄྫࡇΓ $POOFIJUP JODɹӬҪউҰ ϚϚϦΛࢧ͑Δ"NB[PO&$4 d%PDLFSۦಈͰͷαʔϏε։ൃࣄྫd
$POOFIJUP*OD ࣗݾհ ӬҪউҰ IUUQRJJUBDPNOBHBJT IUUQLPCJUPTBOIBUFOBCMPHDPN !TIOBHBJ $POOFIJUP JOD&OHJOFFS ৬ྺɿ SIerɹɹɹɹ3
Ұٳɹɹɹ 7 ίωώτ ࠓ5݄͔Βjoin
$POOFIJUP*OD ϚϚϦͷαʔϏεհ
$POOFIJUP*OD ϚϚϦͷαʔϏεհ
$POOFIJUP*OD ΞδΣϯμ w ίωώτͰͷ%PDLFSಋೖࣄ w &$4Λͬͨຊ൪ӡ༻5*14 w όον࣮ߦڥͷࣄྫ w &$4ͷϝϦοτͱվળΛظ͢Δ
$POOFIJUP*OD ίωώτͰͷ%PDLFSಋೖࣄ
$POOFIJUP*OD %PDLFSಋೖͷྺ࢙ w ։ൃڥΛ%PDLFSԽ ݄ 7BHSBOUͷΘΓͱͯ͠ɻ։ൃऀͷධྑ͘͜Εྑͦ͞͏ w ·ͣɺग़དྷΔͱ͜Ζ͔Βຊ൪ಋೖ
݄ %PDLFSຊ൪Ͱྑͦ͞͏ɻ৭ʑݕূ͢Δதɺ&$4ͱग़ձ͏ w ৽ن্ཱͪ͛ͷαʔϏεΛશͯ&$4ͰαʔϏεΠϯ ݄ αʔϏεΠϯޙ҆ఆͯ͠ಈ͘͜ͱΛ֬ೝ w طଘαʔϏεΛॱ࣍&$4 %PDLFSԽ ʹϦϓϨΠε ݄ʙ ࠓ͜͜ͷਅͬ࠷த
$POOFIJUP*OD &$4Ͱಈ͘αʔϏεͷن
$POOFIJUP*OD ͜͜Ͱɺ &$4ؔ࿈ͷ༻ޠΛҰཧ͠·͢
$POOFIJUP*OD &$4&$3ͷ༻ޠͷཧ &$3 "84Ϛωʔδυͷ%PDLFSΠϝʔδϨδετϦ λεΫ %PDLFSίϯςφ λεΫఆٛ ɹ%PDLFSίϯςφͷىಈύϥϝʔλͷఆٛ QVMM͢Δ%PDLFS*NBHFί ϯςφͷύϥϝʔλΛఆٛ
αʔϏε ɹλεΫΛ·ͱΊΔάϧʔϓ λεΫىಈ"-# /-#࿈ܞ"VUPTDBMF Ϋϥελ ɹλεΫΛಈ͔͢ϗετ &$ ͷू߹ମ "VUP4DBMMJOH(SPVQPSΧελϜ &$
$POOFIJUP*OD &$4%PDLFSΛ"84ڥͰָʹ ಈ͔ͨ͢ΊͷΦʔέετϨʔγϣϯπʔϧ
$POOFIJUP*OD &$4Ͱಈ͘αʔϏεͷن w Ϋϥελ 4UBHJOHڥؚΉ αʔϏεΫϥελͷߏ αʔϏεͷεύΠΫͰΫϥελ͕ѹഭ͞ΕͯɺଞͷαʔϏεʹ ӨڹΛ༩͑ΔͷΛආ͚ͨ
w λεΫ ίϯςφ CBUDIআ͘ ฏৗ࣌ͷϗετͨΓ࠷େλεΫ ෛՙࢼݧͯ͠Έͨͱ͜ΖɺλεΫҎ্ʹͯ͠ύϑΥʔϚϯε ͕มΘΒͳ͔ͬͨ
$POOFIJUP*OD &$4Ͱಈ͘ຊ൪αʔϏεͷछྨ w 8FCΞϓϦέʔγϣϯΤϯυϙΠϯτ w εέδϡʔϧόον $SPO w %%-ͷ࣮ߦڥ
w GMVFOUEΞάϦήʔλ
$POOFIJUP*OD %PDLFSಋೖΛਐΊΔதͰͷجຊํ w ΠϯϑϥαΠυ͚ͩͰɺ%PDLFSԽΛ݁ͤ͞ͳ͍ αʔόαΠυϑϩϯτΤϯυΤϯδχΞͱҰॹʹ%PDLFSGJMFΛ ࡞͍ͬͯ͘ɻ ΞϓϦέʔγϣϯͷϙʔλϏϦςΟ্͕͕ͬͯɺͦΕΛ৮ΕΔ ਓ͕ݶΕΔͱޮՌݮͳͷͰɺ΄ͱΜͲͷέʔεͰɺ13ͷϨϏϡʔ Λ։ൃऀʹߦͬͯΒ͏Α͏ʹ͍ͯ͠Δɻ w
%PDLFSԽͰϛυϧΣΞߋ৽ͷোนΛԼ͛Δ ϩʔΧϧͱಉ͡ͷ ͕ຊ൪Ͱಈ͍͍ͯΔ҆৺ײ
$POOFIJUP*OD &$4Λͬͨຊ൪ӡ༻5*14
$POOFIJUP*OD 5*14ᶃσϓϩΠ
$POOFIJUP*OD 5*14ᶃσϓϩΠdछྨd ຊ൪ӡ༻͢Δʹ͋ͨΓɺछྨͷσϓϩΠϑΣʔζΛ༻ҙ ᶃ4UBHJOHڥͷσϓϩΠ ᶄ1SPEVDUJPOڥͷσϓϩΠ ᶅϩʔΧϧΛ4UBHJOHڥʹ͍࣋ͬͯ͘σϓϩΠ ᶆϩʔϧόοΫ
$POOFIJUP*OD 5*14ᶃσϓϩΠdجຊํd w &$3ʹ͋Δ%PDLFSΠϝʔδͷλάΛத৺ͱͨ͠σϓϩΠϑ ϩʔ w (JUͷNBTUFSϒϥϯν%PDLFSΠϝʔδͷMBUFTUλάͱͯ͠ ͍Δ 4UBHJOHMBUFTU 1SPEVDUJPOSFMFBTF
MBUFTUͷίϐʔ w &$4ͷσϓϩΠɺ৽͍͠λεΫఆٛΛ࡞Γɺͦͷఆٛ ΛݩʹରαʔϏεͷߋ৽Λߦ͏ࣄͰ࣮ݱ ͜ͷ෦ɺFDTEFQMPZͱ͍͏πʔϧΛ͍ͬͯΔ
$POOFIJUP*OD 5*14ᶃσϓϩΠd&$4ͷαʔϏεߋ৽d w &$4ͰɺλεΫىಈ࣌ʹλεΫఆٛʹઃఆͨ͠ɺλά ͷ%PDLFSΠϝʔδΛQVMMͯ͘͠Δ ˠ%PDLFSΠϝʔδͷQVTIޙʹɺ&$4ͰαʔϏεΛߋ৽ Λ͢Ε࠷৽ͷίʔυͰ৽نͷλεΫΛ্ཱͪ͛Δ͜ͱ ͕ग़དྷΔ
$POOFIJUP*OD 5*14ᶃσϓϩΠdશମ૾d
$POOFIJUP*OD 5*14ᶃσϓϩΠd·ͱΊd w ։ൃऀɺ%PDLFSͷ։ൃڥͰಈ͍ͨίʔυΛ௨ৗ௨Γͷ(JUૢ ࡞ 13.BTUFS.FSHF ͢Δ͚ͩͰɺ4UBHJOHڥ·Ͱ͍࣋ͬͯ ͘͜ͱ͕ग़དྷΔ w σϓϩΠؔ࿈ͷΞΫγϣϯ4MBDLͷಛఆνϟϯωϧʹ௨
ଞͷϝϯό͕ɺσϓϩΠͷΞΫγϣϯʹؾ͚ͮΔ༷ʹ͢Δ w ίϯςφೖସ͑ɺ"-#͔ΒͷΓ͠ͷΦʔέετϨʔγϣ ϯɺશͯ&$4ʹͤΔ &$4Λ͍ͬͯΕɺσϓϩΠΛΉ࣌ʹਏ͘ͳΓ͕ͪͳɺΦʔ έετϨʔγϣϯͷ෦Λશͯ&$4ʹͤΔࣄ͕ग़དྷΔ
$POOFIJUP*OD 5*14ᶄ ڥࠩڥม͚ͩʹ͢Δ
$POOFIJUP*OD 5*14ᶄڥࠩڥม͚ͩʹ͢Δ w ڥࠩग़དྷΔݶΓڥมʹدͤͯɺ։ൃڥͱಉ ͡ίϯςφΛຊ൪Ͱಈ͔͢Α͏ʹ৺͕͚Δ w ΞϓϦέʔγϣϯίʔυͷڥࠩɺ%PDLFSԽΛܖػ ʹڥม͔ΒಡΈࠐΉܗʹม͑ͯΒ͍ͬͯΔ &$4ͳΒɺλεΫఆٛͰؾܰʹڥมΛ༻ҙ͢Δ͜ͱ͕ग़དྷΔ w
ຊ൪͚ͩͱ͔4UBHJOH͚ͩͷઃఆΛग़དྷΔݶΓݮΒͯ͠ ͍ͬͨ΄͏͕ͤʹͳΕΔ
$POOFIJUP*OD 5*14ᶅ ϞχλϦϯά
$POOFIJUP*OD 5*14ᶅϞχλϦϯά w ϞχλϦϯά$MPVE8BUDIͰݟ͍ͨͷ͕ҰͰ͖Δͷ Λ࡞ͬͯΈ͍ͯΔɻ ʲXFCͷྫʳ "-#ͷίωΫγϣϯ "-#ϨεϙϯελΠϜ BWH Q
Q Q "-##BDLFOEYY YY Ϋϥελͷ$16༧༻ .FNPSZ༧༻ λεΫͷIFBMUIZ VOIFMUIZ "VUP4DBMF(SPVQͷ&$4UBUVT$IFDL'BJMFE@*OTUBODFTZTUFN w શͯඪ४Ͱऔಘ͞ΕΔϝτϦΫεΛΈ߹ΘͤΔ͚ͩͰ͜͜·Ͱݟ ΕΔ อظ͕ؒिؒͳͷͰظ͕ඞཁͳέʔεσʔλΛଞʹಀ͕ ͢ඞཁ͋Δ
$POOFIJUP*OD 5*14ᶅϞχλϦϯάd࣮ࡍͷάϥϑd
$POOFIJUP*OD &$4 "84 Ͱ༻ҙ͞Ε͍ͯΔػೳ͚ͩͰ ָʹ%PDLFSӡ༻ग़དྷΔͷ͕͍͍ͱ͜Ζ
$POOFIJUP*OD όον࣮ߦڥͷࣄྫ
$POOFIJUP*OD εέδϡʔϧܥͷόονॲཧΛɺ طʹ%PDLFSԽ͞Ε͍ͯΔࢿ࢈Λͬͯ "84্Ͱಈ͔͍ͨ͠ɻ
$POOFIJUP*OD "84্Ͱͷ࣮ߦํࣜͷൺֱ w $SPOPO&$ ރΕ͍ͯΔ͕&$ͷӡ༻͕ඞཁ w -BNCEB ࠷େ࣮ߦ࣌ؒͱݴޠ 1)1 ͕ཁ݅ຬͨͤͣ
w "84#BUDI δϣϒΩϡʔ༻ͳͷͰεέδϡʔϧىಈग़དྷͳ͍ w ίϯςφʹDSPOΛఆ࣮ٛͯ͠ߦ ίϯςφഁغͷαΠΫϧ͕όονॲཧʹϚον͠ͳ͍ w "NB[PO&$4ͷ4DIFEVMF5BTL ݮࡐྉ͕ͳ͔ͬͨʂʂ
$POOFIJUP*OD &$4ͷ4DIFEVMF5BTL ·͞ʹٻΊ͍ͯͨͷ
$POOFIJUP*OD όονͷΈํ w Ϋϥελ NVMUJ";Ͱ༻ҙ͓ͯ͘͠ͷ͕ແ w λεΫఆٛ $.%۟ʹόονͷ࣮ߦίϚϯυΛهड़ͯ͠ɺҰͭͷॲཧ͚ͩΛ࣮ ߦ͢Δίϯςφͱͯ͠ఆٛ ऴྃ࣌ʹίϯςφഁغ
w %PDLFSΠϝʔδ &$3 ϑϨʔϜϫʔΫϛυϧΣΞͳͲͷ࣮ߦʹඞཁͳڥͱιʔε ίʔυ͕ύοέʔδϯά͞Εͨ%PDLFSΠϝʔδ w Ϋϥελͷ4DIFEVMF5BTL λεΫఆٛຖʹɺͭͷεέδϡʔϧΛ༻ҙ
$POOFIJUP*OD 4DIFEVMF5BTLͷը໘
$POOFIJUP*OD ࣮ࡍͷӡ༻ ୯ମ࣮ߦ w δϣϒ͕ࣦഊͨ࣌͠ͷϦϥϯଈ࣮࣌ߦ͍ͨ͠έʔε ͜Ε͚ͩͰ0,
$POOFIJUP*OD ࣮ࡍͷӡ༻ λεΫͷಈ࡞ঢ়گΛݟ͍ͨ w ىಈ࣌ؒεςʔλεɺλεΫఆٛͷ༰ͳͲ͕ݟΕΔ ͔͜͜ΒϦϥϯఀࢭ͢Δ͜ͱग़དྷΔ
$POOFIJUP*OD ࣮ࡍͷӡ༻ σόοάΤϥʔ௨ w ࣮ߦϩά $MPVE8BUDI-PHTͰλεΫىಈຖʹඪ४ग़ྗ͕ग़ΔͷͰɺσόο άʹ͏ ৽نͷόονɺ͜ͷϩάݟͳ͕Βಈ࡞Λ֬ೝͯ͠ೖ͢Δ w Τϥʔ௨
ίϯςφଆͷΤϥʔग़ྗɺ$MPVE8BUDI-PHTܦ༝ͰTMBDLʹ௨
$POOFIJUP*OD 4DIFEVMF5BTLͷྑ͍ॴ
$POOFIJUP*OD 4DIFEVMF5BTLͷྑ͍ॴ w DSPOه๏ͰεέδϡʔϧΛఆٛ͢Δࣄ͕ग़དྷΔͷͰΘ͔ Γ͍͢ w σϓϩΠ࣌ʹ࣮ߦதͷόονʹӨڹΛ༩͑Δ͜ͱ͕ͳ͍ w
&$4Ϋϥελͱͯ͠ϗετΛݻఆग़དྷΔͷͰɺEPDLFS QVMM࣌ʹΩϟογϡ͕ޮ͖ىಈ͕ૣ͍ w طଘͷ%PDLFSΠϝʔδͷࢿ࢈Λ͑Δ w $MPVE8BUDI-PHTͱͷ࿈ܞͰϩάָ͕ʹݟΕΔ
$POOFIJUP*OD ӡ༻্ͷҙ w δϣϒεέδϡʔϥʹ͋ΔΑ͏ͳδϣϒνΣʔϯͷ࣮ߦ ϦτϥΠग़དྷͳ͍ w 4DIFEVMFଆʹొ͍ͯ͠ΔλεΫఆ͕ٛফ͑Δͱಈ͔ͳ ͍ͷͰҙ͕ඞཁ ˞UFSSBGPSNͰλεΫఆٛཧग़དྷͳ͍ w
ͦͷଞɺৄ͍͠Լهϒϩάʹॻ͍ͯ͋Γ·͢ <"NB[PO&$44DIFEVMF5BTLͰ࣮ݱ͢ΔεϚʔτͳ%PDLFSϕʔεͷόον࣮ߦڥ> IUUQUFDIDPOOFIJUPDPNFOUSZ
$POOFIJUP*OD ͬͯΈͯײͨ͡&$4ͷϝϦοτ
$POOFIJUP*OD ᶃ"-# /-# &-# ͱͷγʔϜϨεͳ࿈ܞ w "-# /-#ͷಈతϙʔτϚοϐϯάΛ͑Δ λεΫఆٛͰɺϗετϙʔτΛʹ͢Δ͚ͩ w
λεΫͱϗετΛμΠφϛοΫϙʔτϚοϐϯά͢Δ͜ ͱͰɺҰͭͷϗετʹಉछྨͷίϯςφΛ͍ͭ͘Ͱཱ ͯΔ͜ͱ͕ग़དྷΔ w λεΫͷσϓϩΠͱ"-#ଆϔϧενΣοΫ͕࿈ಈɻ λεΫ͕ىಈ͠ɺ"-#ͷϔϧενΣοΫʹ߹֨͢Δͱσ ϓϩΠऴྃͱ͍͏ϑϩʔΛ"84ଆʹͤΔ͜ͱ͕ग़དྷΔ
$POOFIJUP*OD ᶄίϯςφͷىಈ͕ૣ͍ w Πϯελϯε͕ݻఆ͞Ε͍ͯΔͷऑΈͱಉ࣌ʹڧΈͰ ͋Δ w QVMM࣌ʹΩϟογϡ͕ޮ͔͘Βىಈ͕ૣ͍ αΠζ͕খ͞ ͚ΕʹͳΒͳ͍͕
w σϓϩΠͷʹޮ͍ͯ͘Δ w εέδϡʔϧόον TͰऴΘΔ
$POOFIJUP*OD ᶅ%PDLFSΛϓϨʔϯͳঢ়ଶͰ͑Δ w ϦϙδτϦʹ͋Δ%PDLFSΠϝʔδΛɺͦͷ··"84αʔϏ εͱ࿈ܞͯ͠ಈ͔͍ͨ͠ͱ͍͏ཁʹ͑Δ͜ͱ͕ग़དྷΔɻ &MBTUJD#FBOTUBMLͱൺ੍ֱ͕ͯ͠গͳ͍ w &$4ͷΈΛֶश͢Δඞཁ͋Δ
$POOFIJUP*OD ᶆָʹ#MVF(SFFOσϓϩΠ w ࠷খϔϧεͱ࠷େΛઃఆ͢Δ͜ͱͰ#MVF(SFFOσϓϩ Π͕Մೳ ৽λεΫىಈޙ"-#ͷϔϧενΣοΫʹ߹֨ͨ࣌͠ͰτϥϑΟο Ϋ͕ΓସΘΔ w ࠷খ࠷େPS࠷খ࠷େ ύλʔϯͰӡ༻
w ΧφϦΞσϓϩΠͰͳ͍ͷͰɺ৽چڥʹτϥϑΟο Ϋ͕ྲྀΕΔλΠϛϯά͕Ұ࣌తʹग़དྷΔͷڐ༰͍ͯ͠ Δ
$POOFIJUP*OD ᶇ$MPVE8BUDI-PHTͱͷ࿈ܞ w λεΫఆٛͰϩάυϥΠόΛBXTMPHTʹ͓͚ͯͩ͘͠Ͱɺ λεΫͷඪ४ग़ྗ͕ྲྀΕΔͷͰσόοάָ͕ w ϩάάϧʔϓΛࣄલʹ࡞͍ͬͯͳ͍ͱλεΫىಈ࣌ʹ͜ ͚ΔͷͰҙ w ΞΫηεϩάΛඪ४ग़ྗʹग़͢Α͏ʹͯ͠ɺ
$MPVE8BUDI-PHTαοͱ֬ೝग़དྷΔΑ͏ʹ͍ͯ͠Δ Կ࡞Δඞཁ͕ͳ͍ͷͰָɻ
$POOFIJUP*OD ᶈ&$3 w *".ϩʔϧͰೝূ͕ग़དྷΔͷͰɺଓใΛ࣋ͨͣʹΠ ϝʔδ͕QVMMग़དྷΔ w "84ͳͷͰQVMMૣ͍ w *".ͰΞοϓϩʔυݖݶߜΕΔͷͰɺ։ൃϝϯόͷΞο ϓϩʔυݖݶ"84ϢʔβͱϚοϐϯάग़དྷΔ
w ϥΠϑαΠΫϧϙϦγʔΛ͏͜ͱͰɺࣗಈͰաڈΠϝʔ δΛআग़དྷΔɻ
$POOFIJUP*OD ᶉ*".3PMF w λεΫʹରͯ͠ɺ*".3PMF͕Ϛοϐϯά͞ΕΔ w ϗετଆͷ&$Ͱͳ͘ɺλεΫ୯ҐͰͷࡉ͔ͳΞΫη ε੍ޚ͕Մೳ
$POOFIJUP*OD &$4վળͯ͠΄͍͠
$POOFIJUP*OD &$4վળͯ͠΄͍͠ w ΫϥελΛҙࣝͤͣʹ%PDLFSίϯςφΛӡ༻ग़དྷΔΑ͏ ʹͳΔͱ࠷ߴ ίϯςφͷىಈ࣌ؒʹରͯ͠ͷ՝ۚʹͳΔͱͱͯͤ w 4DIFEVMF5BTLͷ"1*͕ఏڙ͞ΕΔͱखಈͷΦϖϨʔγϣ ϯ͕ݮΒͤΔ w
4DIFEVMF5BTLͰɺδϣϒεέδϡʔϥʹ͋ΔΑ͏ͳδϣ ϒνΣʔϯͷ࣮ߦࣗಈϦτϥΠ͕͋Δͱ༻్͕Δ w &$4Ͱͳ͍͕ɺ$MPVE8BUDI-PHTͰ߱ॱͷιʔτ͍ͨ͠
$POOFIJUP*OD "84Ͱ%PDLFSΛಈ͔͢ͳΒ ݱঢ়ɺ&$4Ұ൪ͷબࢶʹͳΔͱࢥ͏
$POOFIJUP*OD ։ൃڥ͔Β%PDLFSԽͯ͠ ΞϓϦέʔγϣϯΛύοέʔδϯάԽ ˣ &$4Ͱಈ͔ͤ ָʹӡ༻ίετ͘αʔϏεӡ༻ग़དྷΔ
$POOFIJUP*OD ·ͱΊ w &$4ͷྑ͞ɺʑͷ༏Εͨ"84αʔϏεͱͷ࿈ܞʹ͋Δ w ଏʹ͍͏ਏ͍Πϯϑϥతͳӡ༻ࣄɺ&$4ʹΦʔέετ ϨʔγϣϯΛͤΔࣄͰ͍ͩͿݮग़དྷΔ w ༻ޠ͕ཧղͰ͖Εɺ%PDLFSΠϝʔδΛ&$4Ͱಈ͔͢ͷ ؆୯
w ผͷ%PDLFSؔ࿈αʔϏε͕ग़͖ͯͯɺͲͷϓϥοτ ϑΥʔϜͰಈ͔ͤΔͱ͍͏ͷ͕͍͍ͱ͜Ζ ྗ͕ແବʹͳΓʹ͍͘ͱ͍͏ͷେࣄ