Share
Embed
Transcript
30 slides
-
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ΞδΣϯμ • ࣗݾհ
• ϑϥϯεྉཧਓ͔ΒRailsΛษڧ͠ɺۦ͚ग़͠ΤϯδχΞ • MENTAͱͷग़ձ͍ • ϙʔτϑΥϦΦ࡞ͷϙΠϯτ • ϥϯαʔζΠϯλʔϯೖࣾ • Lancers Assistant/Creativeͷհ • ϝʔϧૹ৴ΛSendGridҠߦ • ·ͱΊ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ࣗݾհ ฏ ୡ(ͻΒͷ
ͨͭ ) • Lancers৽ଔΤϯδχΞ • ϑϥϯεྉཧਓˠ2020/11ʹΠϯλʔϯ ͱͯ͠δϣΠϯɻ4݄͔Βਖ਼ࣾһʹ • RailsͷLCC(LancersCreativeCloud)Λ։ൃ • झຯ: ஈ͍͚҆Ͳྉཧ͕ඒຯ͍͠ ډञΛ୳͢͜ͱ(࠷ۙࣗॗؾຯɻɻ ) tatuya4451 @44511336tatuya -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ಇ͍ͯͨళฮ •
ϑϥϯεͷҰͭϨετϥϯʮChartronʯ • େࡕҰͭʮAgneldorʯ • ϋΠΞοτϦʔδΣʔϯγʔେࡕ ߴߍੜͷ࣌ɺͱϑϨϯνΛ৯ʹ͍͖িܸΛड͚Δɻ →⁋ௐཧࢣઐֶߍೖֶ • แஸͷ͍ํ͔Βϑϥϯεޠɺௐཧ࣮शΛ௨ͯ͠ϑϨϯνͷجຊΛֶͿ • ଔۀޙɺϑϥϯεҰཹֶ • ؒϑϥϯεୈೋͷࢢϦϤϯͷ͓Ͱ(ߍࣷ)ͰޠֶɺྉཧΛษڧ • ΓͷݱݚमΛߦ͏ • ؼࠃޙେࡕͷொϗςϧͰݚᮎΛੵΉ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ • ౦ژͰग़ళ͢ΔλΠϛϯάͰίϩφ͕ྲྀߦ
• ͲΜͳڥͰࣗͰίϯτϩʔϧͯ͠ࣄ͕Ͱ͖Δ ৬छʹઓ͍ͨ͠ • ࣌ؒͱॴʹͱΒΘΕͳ͍ಇ͖ํΛ͍ͨ͠ • ҰͭͷεΩϧʹґଘͨ͘͠ͳ͍ స৬Λܾҙ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ • ϓϩάϥϛϯάεΫʔϧͰ2ϲ݄ษڧ
• HTM L • CS S • Rub y • Rail s • Javascrip t • ϝϧΧϦͷΫϩʔϯΞϓϦʮFURIMAʯ ΛνʔϜͰ੍࡞ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ •
ΦϯϥΠϯͰษڧ͕ؒͰ͖ΔʮLIve-StudyʯΛ੍࡞ • ௨ػೳ • DMػೳ • ϑΥϩʔػೳ • ݕࡧػೳ • ܝࣔ൘ػೳ • Slack௨ • Πϕϯτͷ։࠵ɺฤूɺআɺࢀՃɺऴྃ(CRUD ) • ϩʔΧϧͰ։ൃ • ຊ൪ڥECSΛ༧ఆ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup MENTAͰSREͷ҆ୡ(@adachin0817)͞Μͱग़ձ͍ ΠϯϑϥͷجૅΛڭ͑ͯ͘͜ͱʹ •
LinuxͰͷίϚϯυͷૢ࡞ • DockerͰͷ։ൃڥͷߏங • AWSͰͷαʔόʔߏங • AnsibleΛར༻ͨ͠ΠϯϑϥίʔυԽ • CircleCIͰͷϦϦʔεࣗಈԽ ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ։ൃڥߏਤ •
։ൃڥDockerΛ࠾༻ • nginxͱunicornΛϦόʔεϓϩΩγ • supervisorͰىಈ͢ΔϓϩηεΛཧ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ຊ൪ڥߏਤ •
ຊ൪αʔόʔAWS/EC 2 • ߏཧAnsibleΛ࠾༻ • CircleCIͰࣗಈσϓϩΠ • SSLԽLet`sEncrypt ALBRDSΛ༻͔͕ͨͬͨ͠ ίετݮͷͨΊ࠷খݶͷߏͰӡ༻ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϙʔτϑΥϦΦ࡞ͷϙΠϯτ • όάͷͳ͍ΞϓϦέʔγϣϯΛ࡞Δ
• > ͍͠ػೳɺڽͬͨσβΠϯ • ༻ٕज़ͷબఆཧ༝Λઆ໌Ͱ͖Δ • ࠷৽ͷٕज़ΛऔΓೖΕͯཧ༝͕આ໌Ͱ͖ͳ͍ͱ୯७ʹٕज़͕͍͍ͨਓͳͷ͔ͳͱ ࢥΘΕͯ͠·͏ • ݱͰ՝ʹଇٕͨ͠ज़બఆΛ͢Δඞཁ͕͋Δ • ࢤઌͷٕज़ελοΫʹ߹ΘͤΔ • Πϯϑϥ໘ͰͳΔ͘ίετΛ͑ͨΠϯϑϥઃܭΛ͢Δ͖(݄/2000~3000ԁ ) • ࣌ࣗECS/FargateͰӡ༻ֶ͔͕ͨͬͨ͠शίετ(ӡ༻ίετ)͕ߴ࣮͗ͯ͢Ͱ͖ͳ͔ͬͨ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup LancersCreativeCloud→AWS ECS/Fargate •
Ruby 2.7. 1 • Rails 6.0. 3 • Jque y • AW S • ECS/Fargat e • Docke r • CircleC I • DATADO G • SendGrid ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup • ෳࡶͳόονॲཧͷ࣮͔Βద༻·Ͱ •
TerraformΛॻ͖͑ͯυϝΠϯΛมߋ • ΫϥΠΞϯτͷϚΠϖʔδ • Docker։ൃڥͷվળ • DBཧ • CircleCiͷϦϑΝΫλϦϯά • ใुཧػೳ • ϝʔϧαʔόʔΛSendGridʹҠߦ • etc. • SREͷ҆ୡ͞Μ͕͍ۙҐஔʹ͍ΔͷͰΞϓϦέʔγϣϯͷ ࣮͚ͩͰͳ͘ΠϯϑϥΒͤͯ͘ػձ͕͋ΔͷͰ ෯͍࣮ܦݧ͕Ͱ͖Δ • ΠϯλʔϯͰࡋྔͷ͋ΔλεΫΛͯ͑͠Δ ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧαʔόʔΛSendGridʹҠߦ ՝ (NBJMΞΧϯτݻ༗ͷ
w ଘࡏ͠ͳ͍ϝʔϧΞυϨεʹϝʔϧૹ৴Λ͢ΔͱεύϜೝఆ͞Εϝʔϧૹ৴͕Ұ࣌తʹ ετοϓ͢Δ w Ұͷϝʔϧૹ৴্ݶ͕ݶΒΕ͍ͯΔ LCCΞϓϦͰͷ௨ػೳ͕ແ͍ͷͰ ϝʔϧ͕ૹ৴͞Εͳ͍ͱΫϥΠΞϯτ͔Βͷ ཁΛݟಀͯ͠͠·͏͜ͱɺɺ ݱ͔ΒͷΞϥʔτ্͕͕͍ͬͯͨͷͰ ૣٸʹରԠ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧαʔόʔΛSendGridʹҠߦ SMTP API
ϝϦοτ ϝϦοτ σϝϦοτ σϝϦοτ • ػೳʢਖ਼͘͠ૹ৴͞Ε͔ͨ֬ೝͰ͖Δʣ • ੳػೳʢϚʔέςΟϯάʹ׆༻ʣ • ૹ৴ͷվળʢSPFɺDKIMͷᘳͳઃఆʣ • HTTPͰૹ৴͢Δ͜ͱʹΑͬͯrailsΞϓϦଆͷॲཧϦΫΤετΛ ͛Δ͚ͩʹͳΔ • ActionMailer͕defalutͰ༻ҙ͍ͯ͠Δ৴ํ๏ Λ͏͜ͱrails wayʹΔ͜ͱͰ͋ΔͷͰ(rails ͷֶͱͯ͜͠Εॏཁ)ɺ࣮ͷखؒল͚Δ • طଘͷActionMailerͱͷڞଘ • RailsαʔόʔଆͰඇಉظॲཧΛ͠ͳ͍ͱ͍͚ͳ͍ • GmailͰૹ৴͍ͯ͠ΔͷͰ্ड़͕ͨ͠ൃੜ͍ͯ͠Δ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup w 4.51͔Β4FOE(SJE"1*Ҡߦ w
"DUJPO.BJMFSͷ֤ϝʔϥʔͷॲཧͦͷ··ྲྀ༻ w "DUJPO.BJMFSͷ৴ํ๏Λ4FOE(SJE"1*༻ʹ৽ͨʹՃ w طଘͷ֤ϝʔϥʔͰ࡞͞ΕͨϝʔϧΦϒδΣΫτ͕࣮ߦ͞ΕͨλΠϛϯάͰ .BJM4FOE(SJEΫϥεΛݺͼग़͠4FOE(SJE༻ͷΦϒδΣΫτʹஔ͖͑ w ϝʔϧૹ৴ςετϞοΫίϯςφΛ༻͍ͯςετ ࣮ํ SMTP SendGrid API -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧૹ৴ςετʹ͍ͭͯ • SREۚᖒ͞Μ͕࡞ͬͯ͘ΕͨϞοΫίϯςφͰ
ϝʔϧૹ৴Λςετ • ϞοΫίϯςφͰ༻ҙͨ͠ϞοΫAPIʹϦΫΤετ Λૹ৴(ӈਤͷHTTP3030 ) • sendgrid-devܦ༝ͰmaildevSMTPͰϝʔϧ৴ • http://xxx.xxx.xxx.xxx:1080/ɹʹΞΫηε͢Δ͜ͱͰ maildevϝʔϧ͕ૹ৴͞Ε͍ͯΔ͜ͱ͕ϒϥβ্Ͱ ֬ೝͰ͖Δ • ΞϓϦଆͷ࣮Mail:SendGridΫϥεͰڥຖʹ APIଓઌͷϗετΛऔಘ -
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup Ҡߦͯ͠Ͳ͏ͳ͔ͬͨ • ϝʔϧͷૹ৴্ݶ͕ͳ͘ͳͬͨͷͰΞϓϦέʔγϣϯͷ֦ுʹ͚ͯҰาલਐ
• ϥϯαʔζຊՈͰSendGridAPIͰૹ৴͍ͯ͠ΔͷͰݟΛ׆༻Ͱ͖Δ • ػೳ(ϝʔϧͷ৴ঢ়گΛݟ͑ΔԽ ) • ϝʔϧͷΧςΰϦʔઃఆ͕Ͱ͖ΔͷͰϚʔέςΟϯάʹ׆༻ • ૹ৴ͷվળ(SPFɺDIKMͷᘳͳઃఆ ) • APIʹΑΔૹ৴(SMTPͰͳ͘HTTPͰૹ৴Ͱ͖Δ)