一休 ✕ bitFlyer コラボイベントでのLT資料です
Ұٳ.com ʹ͓͚ΔASP.NET։ൃվળࣄྫͷ͝հ2017.1.16Kensuke Tanaka (@kentana20)
View Slide
͓ͼॾࣄʹΑΓλΠτϧͱ༰Λมߋ͓͍ͯͨ͠͠·͢
ΠϕϯτϖʔδΑΓ
ࠓͷ͓ΫϥυҠߦ͚ͨαʔϏεվળͷࣄྫʢϑΝΠϧετϨʔδฤʣ
About me• ాத ݈հ• @kentana20• 20065݄͔ΒҰٳ
Agenda• αʔϏε๊͕͍͑ͯͨ՝ʢετϨʔδपΓʣ• վળ༰ͱޮՌ• ࠓޙʹ͚ͯ• ·ͱΊ
αʔϏεͷ՝ʢετϨʔδฤʣ
എܠ• ҰٳͰɺ2017தʹݱࡏͷΦϯϓϨڥ͔Β Ϋϥυڥ(AWS)ͷҠߦΛ༧ఆ֤ٕͯ͠ज़՝ ʹର͢ΔվળΛਐΊ͍ͯΔ
લఏ• Ұٳ.com Ͱ༻͍ͯ͠Δը૾جຊతʹϗςϧɾཱྀ͔ؗΒఏڙΛड͚͍ͯΔ
1. ϗςϧɾཱྀ͚ؗͷཧը໘ ͔ΒΞοϓϩʔυ 2. ϝʔϧͰΒͬͯࣾͷσβΠφʔ ͕Ճͯ͠Ξοϓϩʔυ(ϦϦʔε)ը૾ͷఏڙύλʔϯ
γεςϜ๊͕͍͑ͯͨ՝
՝• ڞ༗ετϨʔδ• ϨϙδτϦσΧ͗͢
ڞ༗ετϨʔδ• ϗςϧɾཱྀ͕ؗΞοϓϩʔυ͢Δը૾• ImageMagickͰϦαΠζॲཧ(ಉظॲཧͰ͍…)• Shared DiskํࣜͰڞ༗ετϨʔδʹஔ• ϗςϧɾཱྀؗ૿Ճʹ͍ɺڞ༗ετϨʔδͷ σΟεΫ༰ྔΛѹഭ & ը૾৴༻αʔόͷϦΫΤετ૿Ճ
ڞ༗ετϨʔδ
ϨϙδτϦσΧ͗͢• σβΠϯࢿࡐͯ͢Gitཧ• σβΠφʔͱσϓϩΠϑϩʔΛἧ͑ΔͨΊʹ࣮ࢪ͕ͨ͠ɺѱखͩͬͨ• ϨϙδτϦαΠζ͕1.5Ͱ4ഒʹ• clone / fetch / pull ͳͲͷGitૢ࡞͕ඇৗʹॏ͍
ϨϙδτϦσΧ͗͢
վળ༰ͱޮՌ
վળ༰
ڞ༗ετϨʔδΛΊΔ• Ξοϓϩʔυ͢Δը૾ʢσʔλը૾ʣͯ͢S3 ஔ͠Shared Nothingͳߏʹ• ϦαΠζॲཧLambdaͰ࣮ࢪ• CDNͷOriginΛS3ʹ͚ɺը૾৴αʔόʹର͢Δ ϦΫΤετΛݮ
มߋલͷߏը૾ΞοϓϩʔυˍϦαΠζڞ༻ετϨʔδը૾ͷOriginը૾৴αʔόը૾৴༻αʔόwww.ikyu.comcdn.ikyu.com
มߋޙͷߏը૾ΞοϓϩʔυϦαΠζॲཧڞ༻ετϨʔδ༻͠ͳ͍σʔλը૾ͷOriginS3Ξηοτը૾ͷOriginҰٳαʔόcdn.ikyu.comwww.ikyu.com
σβΠϯࢿࡐͷGitཧΛΊΔ• σβΠφʔ͕Ճͨ͠ը૾S3ʹΞοϓϩʔυ͠ɺGitཧΛΊΔ• ϨϙδτϦʹೖΕΔͷ࠷ݶͷΞηοτͷΈ• GitͷϩάγεςϜมߋͷΈʹ(ਐߦத)
มߋલͷӡ༻ڞ༻ετϨʔδը૾৴༻αʔόՃޙը૾ΛCommit&PushϦϦʔεσβΠφʔ
มߋޙͷӡ༻Ճޙը૾ΛΞοϓϩʔυσβΠφʔGitɺڞ༻ετϨʔδ༻͠ͳ͍
+αͰ࣮ࢪͨ͠ରԠ• Always on SSLʢAOSSLʣ ରԠΛݟਾ͑ͯS3ʹҠߦͨ͠ ը૾ͷύεΛͯ͢SSLԽʢMixed Contentsରࡦʣ
ϋϚͬͨ͜ͱ• S3ҠߦʹΑͬͯCase SensitiveʹͳΓɺը૾͕ݟ͑ͳ͍• AkamaiଆͰΩϟογϡ͢ΔͱCase Insentiveʹͳͬͯ༨ܭʹ͔ͬͨ͜͠(AkamaiଆΦϓγϣϯ)• ͱͱΞοϓϩʔυ͞Εͨը૾ͷେจࣈ/খจࣈ͕όϥόϥͩͬͨͷͰɺΞοϓϩʔυ࣌ʹͯ͢LowerCaseΛ͔͚ͯରԠ
ޮՌ
ޮՌ• ڞ༻ετϨʔδෆཁʹ• ը૾ΞοϓϩʔυߴԽˍ҆ఆԽ• ը૾৴αʔόͷϦΫΤετܹݮ• σβΠφʔͷӡ༻γϯϓϧʹ
ޮՌ• σβΠφʔΑΓ• ʮը૾ͷࠩ͠ସ͑ͳͲɺසߴ͘ߦ͏࡞ۀ͕ ɹεϐʔυΞοϓ͠·ͨ͠ʂʯ• ӦۀΞγελϯτΑΓ• ʮը૾ͷΞοϓϩʔυ͕ΊͬͪΌૣ͘ͳͬͨʂʯ
ࠓޙʹ͚ͯ
ࠓޙͷରԠʢਐߦதʣ• લड़ͷϨϙδτϦܰྔԽ• σβΠϯࢿࡐͱͦͷཤྺΛফ͢• Ұ෦ͷσβΠϯ࡞ۀΛCMSԽ• ϦϦʔεͤͣʹίϯςϯπߋ৽ՄೳͳՕॴΛ૿͢
σβΠϯ࡞ۀCMSԽ• ߴසͰߋ৽͢Δࠂ/͓͢͢ΊͳͲͷཧ• TOPϖʔδͷϩʔςʔγϣϯͳͲΛ ผΞϓϦέʔγϣϯͰCMSԽ
ͦͷଞͷվળਐΜͰ͍·͢• ϝʔϧ৴ج൫ͷSaaSҠߦ• όονॲཧج൫RundeckԽ• ΞʔΩςΫνϟ৽ɾΞϓϦέʔγϣϯׂ• ΫϥυҠߦ etc..
ͦͷଞͷվળਐΜͰ͍·͢• ϝʔϧ৴ج൫ͷSaaSҠߦ• όονॲཧج൫RundeckԽ• ΞʔΩςΫνϟ৽ɾΞϓϦέʔγϣϯׂ• ΫϥυҠߦ etc..ؾʹͳΔํ͜ͷޙͷ ύωϧσΟεΧογϣϯ͔࠙ձͰ͓͠·͠ΐ͏ʂ
·ͱΊ
·ͱΊɾॴײ• ࡢࠓͰͨΓલͷ• σʔλը૾ετϨʔδαʔϏε• ϨϙδτϦγεςϜʹؔΘΔมߋͷΈ• ݱߦͷઃܭɾΞʔΩςΫνϟʹҾͬுΒΕͳ͍• ͋Δ͖͔࢟ΒվળࡦΛߟ͑Δ• αʔϏεΛଓ͚Δͱ՝ग़Δ• ܧଓͨ͠վળΛ͜Ε͔Β࣮ࢪ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠