https://jawsug-container.connpass.com/event/71130/ での登壇内容
AWS FargateͰಘ͢Δਓଛ͢ΔਓJAWS-UG ίϯςφࢧ෦ #10
View Slide
SF*OWFOUࢀՃ͖ͯ͠·ͨ͠େຬʂʂ&,4ͷൃදͷॠؒˠ
Masato Oshimagithub.com/mpon@_mponiOS,Scala,Infra Engineerίϯςφ·ΘΓͷ͓༑ୡ͕ཉ͖ͯͬͯ͘͠·ͨ͠
։ൃࢧԉ(ͱ͍͏ͱ͜ΖͰಇ͍͍ͯ·͢։ൃࢧԉ(ɾɾɾw ֤αʔϏεͷΠϯϑϥߏஙɺӡ༻w ۀվળɺࣗಈԽਪਐw "84্ʹΠϯϑϥߏங
w ࡐͷελσΟαϓϦ&/(-*4)ʹ͍ͭͯw ϚΠΫϩαʔϏεԽͷഎܠw &$Ϋϥελʔͷ߹ͷw 'BSHBUFͱ&$Ϋϥελʔͷඅ༻ൺֱw 'BSHBUFͷϝϦοτw 'BSHBUFʹͨ͠ͱ͖ͷ՝w ʹئ͍Λ"HFOEB
ελσΟαϓϦ&/(-*4)ɾΦϯϥΠϯӳޠֶशαʔϏεɾӳձԻը૾ɾಈըͳͲΛ৴ɾΫΠζܗࣜͰֶशσʔλɺཤྺΛอଘɾJ04ɺ"OESPJEɺ8FCͰར༻Մೳ
ৗӳձίʔεϦϦʔεॳ
ৗӳձίʔε࠷ॳݸ͙Β͍ͷαʔϏεͩͬͨϦϦʔεॳ
ৗӳձίʔεαʔϏε͕ॱௐʹ৳ͼͯདྷͯ৽͍͠ίʔεΛ૿͢͜ͱʹ%#͕ωοΫʹͳͬͯ͘ΔϦϦʔεॳ
ϚΠΫϩαʔϏεԽ
https://www.slideshare.net/danveloper/microservices-the-right-way৺ʹਂ͍ইΛෛͬͨํͷ࡞
ελσΟαϓϦ&/(-*4)ͷαʔϏεؒͷίϯϙʔωϯτਤཁૉ͕ଟ͍ͷͰུ֓Ͱઆ໌͠·͢
ৗӳձίʔε50&*$ίʔεςΩετൢചϦϦʔε͔Β
ৗӳձίʔε50&*$ίʔεςΩετൢച͍ͬͺ͍૿͑ͨ෦௨৴H31$Ͱߦ͏%#ΛׂϦϦʔε͔Β
ϦϦʔεॳ ࠓΫϥελʔ ίϯςφΠϯελϯε े ഒΠϯελϯελΠϓ NNFEJVN NMBSHFαʔϏε ഒλεΫ ഒQSPEVDUJPOڥͷਪҠ
ίϯςφӡ༻͍͍ʂʂ&$4͍͍͍͍Αɺ͍͍Μ͚ͩͲͬͱ͓͍͖͍҆ͯͨ͘͠
&$4Λ&$Ͱ࡞Δ߹w σϓϩΠͷͨΊʹ༨ͳϦιʔε͕͍Δw εέʔϧΠϯ͠ʹ͍͘
.BYJNVNQFSDFOUΛʹ͍ͨ͠w Ұ࣌తʹEFTJSFE$PVOUͷഒͷۭ͖༰ྔ͕͍Δw EFTJSFE$PVOU͕ͩͱݸͷUBTL͕Ұ࣌తʹ্ཱ͕ͪΔw ಈతϙʔτϚοϐϯάͰ͖ͯͳ͍ͱ͞Βʹ൵ࢂͳ͜ͱʹi-0001tasktaski-0001tasktasktasktask৽͍͠UBTL͕ऩ·Γ͖Βͳ͍ͷͰ༨Πϯελϯε͕ඞཁi-0002
.BYJNVNNJOJNVNͰઅͰ͖Δ͚Ͳɾɾw গͣͭ͠ೖΕସ͑Λ͢ΔͷͰશ෦ೖΕସΘΔ·Ͱʹ͕͔͔࣌ؒΔi-0001tasktaski-0001tasktaski-0001tasktaski-0001taski-0001task
εέʔϧΠϯ͠ʹ͍͘w BVUPTDBMJOHͰεέʔϧΠϯ͢Δͱ͖ʹESBJOJOHରΛબͳ͍ʢݸผʹQSPUFDU͢Ε͍͚Δʣ%SBJOJOHΨνϟ
εέʔϧΠϯ͠ʹ͍͘w σϓϩΠͷ͚࣌ͩ૿ͯͦ͜͠ΛҰ࣌తͳॴͱͯ͠σϓϩΠʹͬͯ͘ΕΔΘ͚Ͱͳ͍ʢຬวͳ͘λεΫ͕ࢄΒΔͷͰESBJOJOHͰ͖ͳ͍ʣi-0001tasktasktasktaskཧ ݱ࣮i-0002i-0001tasktasktasktaski-0002Ͳͬͪফͤͳ͍
ɾΫϥελʔ࡞Βͳ͍͍ͯ͘ɾඵ՝ۚ
අ༻Λൺֱͯ͠ΈΑ͏
ϦϦʔεॳ ࠓΫϥελʔ ίϯςφΠϯελϯε े ഒΠϯελϯελΠϓ NNFEJVN NMBSHFαʔϏε ഒλεΫ ഒ·ͣ&$ͰΫϥελʔཱͯͨ߹ͷྉۚΛܭࢉ
NMBSHFINPOUINPOUIԾʹͱͯ͠ܭࢉ
W$16 NFNPSZશମʹΊΔUBTLͷׂ߹"1*H31$ (# ίϯςϯπೖߘ"1* (# 8FC৴OHJOY (# ίϯςϯπ৴OHJOY (# QSPEVDUJPOڥͷUBTL
QSPEVDUJPOڥͷUBTLW$16 NFNPSZશମʹΊΔUBTLͷׂ߹"1*H31$ (# ίϯςϯπೖߘ"1* (# 8FC৴OHJOY (# ίϯςϯπ৴OHJOY (# ·ͣ͜͜Λܭࢉͯ͠ΈΔ
NMBSHFINPOUINPOUIW$16ɺ(# INPOUI࣌ؒW$16͋ͨΓ࣌ؒ(#ϝϞϦ͋ͨΓ(#ϲ݄ͷIEBZTΛ͔͚Δ
NMBSHFINPOUINPOUIW$16ɺ(# INPOUIUBTLNPOUIݱঢ়͋ͨΓUBTL͕ฏۉݸೖ͍ͬͯΔͷͰɺͷ߹UBTLUBTLͱԾఆͯ͠ܭࢉ
W$16 NFNPSZશମʹΊΔUBTLͷׂ߹߹ܭNPOUI"1*H31$ (# ίϯςϯπೖߘ"1* (# 8FC৴OHJOY (# ίϯςϯπ৴OHJOY (# QSPEVDUJPOڥͷUBTL
NMBSHFINPOUINPOUIW$16ɺ(# INPOUIUBTL૯߹ܭ ฏۉNPOUI
NMBSHFINPOUINPOUIW$16ɺ(# INPOUIUBTL૯߹ܭ ฏۉNPOUI'BSHBUFͷํׂ͕ߴ͚ͩͲɺਓ݅අߟ͑ͨΒɾɾʁ
ͦΜͳʹѱ͘ͳ͍☺
NBYJNVNQFSDFOUΛʹؾܰʹͰ͖Δw ඵ՝ۚͳͷͰҰ࣌తʹ૿͑Δ΄΅ແࢹͰ͖Δw αʔϏεҰͭͣͭ͡Όͳ͘શαʔϏεฒྻͰҰʹσϓϩΠͰ͖ΔserviceA task:1task:1 task:2task:2serviceB task:1 task:2ۭ͖༰ྔΛؾʹ͠ͳͯ͘ྑ͍ͪ߹Θͤ͠ͳͯ͘ྑ͍
ؾܰʹ૿ͤΔw JOTV⒏DJFOUDQVʹ·͞Εͳ͍w αʔϏεՃ࣌BVUPTDMBJOHؾʹ͠ͳ͍BVUPTDBMJOHͷཧ͠ͳͯ͘0,
ؾܰʹݮΒͤΔw %SBJOJOHରΛߟ͑ͳͯ͘ྑ͍w ؾܰʹεέʔϧΠϯɾΞτ͕ՄೳʹͳΔw FYதUBTLΛݮΒ͢ͳͲtaskAtaskAtaskA taskAtaskB taskBUBTL"ΛtaskAtaskAtaskB taskBר͖ࠐΜͰผͷ5BTLΛLJMM͠ͳ͍
՝
'BSHBUFʹͨ͠߹ͷ՝w 5BTLͭʹରͯ͠&/*͕ͭBUUBDI͞ΕΔͷͰ&/*ͷ੍ݶΛؾʹ͠ͳ͍ͱ͍͚ͳ͍71$σϑΥϧτͰw TVCOFUͷ*1͕ރׇ͢ΔࣾࣄͰ੍ݶ͞Ε͍ͯͨΓ͢Δͱݫ͍͠w %BUBEPHBHFOUΛͲ͜ʹ͍ΕΔ͔TJEFDBSύλʔϯͪΐͬͱ໘w 4QPU'MFFUͱൺֱͯ͠͠·͏ͱྉۚతʹݫ͍͠ຊ൪POMZͰ͔͑͠ͳ͍w ґવͱͯ͠4FSWJDF%JTDPWFSZʹ&-#͕ඞཁ&,4ʹ͍͖͍ͨ
ʹئ͍ΛɾUBTL͕উखʹࢭΊΒΕͯ͠·͏͜ͱ͕͋Δ͕ೖࡳՄೳʹͳͬͨΒ·ͨىಈͯ͠0''ఔͷྉۚͰར༻Ͱ͖Δ'BSHBUFPO4QPU'MFFUɾ$MVTUFSΛҙࣝ͠ͳͯ͘Α͘ͳͬͨͷͰຊ&-#࡞Γͨ͘ͳ͍%PDLFSpMF͚ͩΛॻ͚͍͍ੈք
࠙ձͰ͜ͷลΓͷղܾࡦͳͲΛڭ͑ͯΒ͍͍ͨͰ͢͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠