ࣗ༝ͰηΩϡΞͳڥͷ ͭ͘Γ͔ͨHokuto HoshiHead of Infrastructure, Cookpad Inc.[email protected]
View Slide
ే (΄͠ ΄͘ͱ) / @kani_b• ΫοΫύουגࣜձࣾ ΠϯϑϥετϥΫνϟʔ෦ ෦ ݉ ίʔϙϨʔτΤϯδχΞϦϯά෦ ݉ ࠪҕһձ ࠪิॿऀ• SRE, ηΩϡϦςΟΤϯδχΞ• AWS ೝఆ SA, DevOps ΤϯδχΞ (Professional)
https://speakerdeck.com/kanny
Ϩγϐສࠃͷ݄ؒར༻ऀ ສਓ
ରԠݴޠݴޠΧࠃւ֎ͷ݄ؒར༻ऀ ສਓ
৽͍͠औΓΈ• cookpadTV https://www.cookpad.tv/• Cookpad DO! https://cookpad.do/• OiCy https://oicy.cookpad.com/• komerco https://komer.co/• etc…
ΫοΫύουͱΫϥυ• 2011ʹ DC ͔ΒશҠߦ͠ϑϧΫϥυԽ• ଟ͘ͷαʔϏε͕ AWS ͰՔಇ• Ұ෦ͷαʔϏε Google Firebase ্ͰՔಇ
എܠ• ػೳɺࣄۀͳͲ৽͍͠औΓΈΛՃ͍ͨ͠
࣌ͷ৫ߏ• ࣄۀ෦ + ػೳԣஅ෦ॺ (e.g. Πϯϑϥ෦)• ΠϯϑϥͷཧશͯΠϯϑϥ෦͕ߦ͏ (= AWS ͷཧશͯΠϯϑϥ෦)• AWS ʹؔ͢ΔϊϋશͯΠϯϑϥ෦ʹू• ηΩϡϦςΟରࡦ΄΅Πϯϑϥ෦͕ओಋࣄۀ෦Πϯϑϥ෦ࣄۀ෦ ࣄۀ෦
தԝཧͷݶք• ςετ༻ΠϯελϯεϦιʔεΛ࡞Δͷʹ Πϯϑϥ෦Ͱ࡞ۀΛߦ͏ඞཁ͕͋ͬͨ• ηΩϡϦςΟͷϨϏϡʔ• ʮͦͦ AWS ͷྑ͞Λࡴͯ͠ΔͷͰʁʁʁʁʁʁʯ• αʔϏεͷ҆ఆੑηΩϡϦςΟΛଛͳΘͣʹ࣮ݱ͍ͨ͠
ཧํͷస• ݖݶͱΛ֤։ൃऀʹҠৡ͢Δํʹγϑτ• ཧ͖͢෦Λ͓͑ͯ͞Ҡৡ͍ͯ͘͠
։ൃऀ༻ΞΧϯτ• ։ൃऀͰ͋Ε୭Ͱࣗ༝ʹར༻Ͱ͖Δ AWS ΞΧϯτ• ຊ൪ͷ AWS ΞΧϯτͱ͞Ε͍ͯΔ• AWS IAM ͷۭؒΛׂ͢Δ͜ͱ͕Ͱ͖Δ• ϩάΠϯ SAML ܦ༝
ݖݶཧ• ඞཁͳαʔϏεͷ AdminݖݶΛ͘༩• “ಛఆαʔϏεͷΈڐՄ͠ͳ͍” ϙϦγʔ\7FSTJPO 4UBUFNFOU<\&⒎FDU"MMPX /PU"DUJPO<DMPVEUSBJM DPOpH EJSFDUDPOOFDU SPVUF SPVUFEPNBJOT BXTQPSUBM.PEJGZ"DDPVOU BXTQPSUBM.PEJGZ#JMMJOH BXTQPSUBM.PEJGZ1BZNFOU.FUIPET JBN$SFBUF6TFS FD$SFBUF7QD> 3FTPVSDF^>^
ϩάͷه• CloudTrail, VPC Flow Logs• AWS શମͷ API ϩά VPC ͷ௨৴ϩάΛهͰ͖Δ• ຊ൪ΞΧϯτͷ S3 όέοτʹอ࣋• ϩάͷมߋআͰ͖ͳ͘ͳΔ
ϩάͷੳ• Graylog ʹऔΓࠐΈੳͰ͖ΔΑ͏ʹhttps://speakerdeck.com/mizutani/ohuisuawshuan-jing-wosekiyuritei-jian-shi-surutamefalserokushou-ji
AWS Config• EC2 ֤छϦιʔεͷมߋཤྺΛهͰ͖Δ
͍ํ• Output ઌΛຊ൪ΞΧϯτ (CloudTrail ͱಉ͡) ʹηοτͯ͠༗ޮԽ• “͜Εมߋͨ͠ͷ୭ͩΖ͏ʁ” Λ୳͢ࡍʹར༻• ಛఆͷΠϯελϯεηΩϡϦςΟάϧʔϓͳͲʹඥ͚ͮͯ୳ͤΔͷͰศར
AWS Config Rules• ઃఆมߋΛτϦΨͱͯ͠ lambda function ͰઃఆΛνΣοΫͰ͖Δ• ηΩϡϦςΟάϧʔϓͷΠϯλʔωοτղ์ͳͲΛνΣοΫ• Fail ͨ͠߹ Slack ͳͲʹ௨ͤ͞Δ• શαʔϏεରԠͯ͠΄͍͠…
awslabs/aws-config-rules• ศརϨϙδτϦ• https://github.com/awslabs/aws-config-rules• Config Rules ʹ͑Δ Lambda function ͕͍Ζ͍Ζ͋Δ• EBS ҉߸Խ͞Ε͍ͯΔ͔ʁ• IAM Ϣʔβͷ MFA ༗ޮԽʁ• etc…
Amazon GuardDuty• CloudTrail VPC FlowLog Λੳͯ͠Ξϥʔτ• Ξϥʔτͷྫ• ීஈΘΕͳ͍ IP ͔Βͷ API ίʔϧ• Πϯελϯεͷ௨৴ઌ͕͍ͭͱҧ͏• Πϯελϯεͷ௨৴ઌ͕ C&C ͬΆ͍αʔό
ΫοΫύουͰͷ͍ํ• Ξϥʔτ GitHub -> PagerDuty ܦ༝Ͱൃใ͠ ηΩϡϦςΟνʔϜ͕ࢹ• ௐࠪੳʹ CloudTrail Config Λ͏• ϩά Graylog ʹੵ• ͪΐͬͱաහͳͷ͕࠷ۙͷΈ
ωοτϫʔΫߏ• ౿Έ SSH αʔό͕͋Δ VPC (ຊ൪ΞΧϯτ) ͔Β VPC Peering ܦ༝ͰଓͰ͖ΔΑ͏ʹ͢Δ• ౿ΈΛू (TOTP FIDO U2F ʹରԠ͍ͯͯ͠ศར)• Name λάΛͬͨਖ਼Ҿ͖ɺٯҾ͖Λఏڙ
https://speakerdeck.com/kanny/machine-learning-ops-at-cookpad
։ൃऀΞΧϯτͷಛ• “Λະવʹ͙” ͜ͱΑΓ “Λ͋ͱ͔ΒͰ͍͍ͷͰݕग़Ͱ͖Δ” ରࡦʹϑΥʔΧε• ΞΧϯτʹٻΊΒΕΔॊೈੑͳͲ͔Βߟ͑ͨ݁Ռ• AWS αʔϏεΛׂͱૉʹͬͨߏ• ͜͏͍͏ͱ͜Ζ·ͰͰ͖ΔΑ͏ʹͳͬͨɺͱ͍͑Δ
࣮ࡍͷӡ༻• ։ൃऀΞΧϯτ͔ΒͷΞϥʔτଟ͘ͳ͍ঢ়گ• ར༻ͷ૯ྔଟ͍• EC2 ΠϯελϯεΛىಈͯ͠ͷ࣮ݧ• AWS ৽αʔϏεͳͲͷݕূ
·ͱΊ• ηΩϡϦςΟͱࣗ༝͞Λཱ྆ͤͨ͞։ൃڥΛͭ͘Δ• ͍ΘΏΔ “ηΩϡϦςΟଆ” ͕Ͳ͏ߟ͑ΒΕΔ͔ʹΑͬͯ ࣮ݱͰ͖Δࣗ༝͕มΘͬͯ͘Δ• AWS αʔϏεΛϑϧʹͬͯΈΔ͚ͩͰׂͱ৭ʑͰ͖Δ• ʮ͏ͪͰ͜͏͍͏ײ͡ʯͳͲ͕͋Εڭ͑ͯ΄͍͠Ͱ͢
PR
We’re Hiring!!!• Software Engineer (Security)• Software Engineer (Site Reliability)• ͦͷଞͷϙδγϣϯ͍Ζ͍Ζ͋Γ·͢• https://cookpad.jobs/
Q?