Slide 1

Slide 1 text

γεςϜج൫ͱͯ͠ͷ AWS׆༻ Hatena Engineer Seminar #11 id:cohalz

Slide 2

Slide 2 text

ࣗݾ঺հ • id:cohalz / @cohalz • 2018೥৽ଔೖࣾ • γεςϜϓϥοτϑΥʔϜ෦ॴଐSRE

Slide 3

Slide 3 text

γεςϜج൫ͱ͸

Slide 4

Slide 4 text

γεςϜج൫ͱ͸ • αʔϏε։ൃͷ଎౓Λ޲্ͤ͞ΔΑ͏ͳɼ ଞͷSRE΍ΞϓϦέʔγϣϯΤϯδχΞ΋࢖͏πʔϧ • αʔϏεͷ਺ʹεέʔϧ͢ΔΑ͏ͳ΋ͷ • σϓϩΠπʔϧ΍ӡ༻ΦϖϨʔγϣϯπʔϧͳͲछྨ͸༷ʑ

Slide 5

Slide 5 text

طଘͷγεςϜج൫ͷ՝୊఺ • खݩͰ࣮ߦ • ؀ڥͷ੔උ͔Βඞཁ • ΦϖϨʔγϣϯ༻αʔόͰ࣮ߦ • ΦϖϨʔγϣϯαʔόͷอक͕ඞཁ • ͦ΋ͦ΋ख࡞ۀͩͱ͍͏໰୊

Slide 6

Slide 6 text

γεςϜج൫ʹ࢖͏AWSαʔϏε

Slide 7

Slide 7 text

AWS Lambda • AWSͷαʔόϨείϯϐϡʔςΟϯά؀ڥ • ଞAWSαʔϏεͷ࿈ܞ

Slide 8

Slide 8 text

AWS LambdaͷϝϦοτ • AWSαʔϏεͱͷ࿈ܞ • APIܦ༝Ͱෳ਺αʔϏεͷΞΫγϣϯΛࣗಈԽ • ݖݶ؅ཧ΋LambdaʹدͤΒΕΔ

Slide 9

Slide 9 text

αʔόϨεͷϝϦοτ αʔό͕ͳ͍͜ͱʹΑΔϝϦοτ͸େ͖͍ • Մ༻ੑ • SLA͸99.95% • อकੑ • ΦϖϨʔγϣϯ༻αʔόɾόοναʔό͔Βͷղ์

Slide 10

Slide 10 text

AWS CloudFormation • YAMLϑΝΠϧͰهड़ͯ͠ɼAWSϦιʔεΛσϓϩΠͰ͖Δ • ݕূ؀ڥΛ͙͢࡞ΕΔ • มߋͷࣄલϨϏϡʔ • υΩϡϝϯτԽ • ෆ۩߹࣌ͷ੾Γ໭͠ • Infrastructure as Codeͷ࣮ફ

Slide 11

Slide 11 text

Lambda + CloudFormation ͷ։ൃεϐʔυΛ্͛ΔͨΊʹ

Slide 12

Slide 12 text

Serverless Application Model • ௨শSAM • AWSެࣜʹΑΔαʔόϨε؀ڥϑϨʔϜϫʔΫ • CloudFormationͷ֦ு • هड़ྔͷ࡟ݮ • ։ൃʹศརͳCLIπʔϧ܈ • ϩʔΧϧ࣮ߦɾσϓϩΠ

Slide 13

Slide 13 text

AWSΛ׆༻͍ͯ͠Δج൫ͷྫ

Slide 14

Slide 14 text

ʮεέδϡʔϧ͞ΕͨΠϕϯτʯ ΁ͷରԠ

Slide 15

Slide 15 text

Ϟνϕʔγϣϯ • EC2ͷΠϯελϯε࠶ىಈ΍ϦλΠΞ༧ࠂ͕དྷΔ • ࣄલʹରԠ͠ͳ͍ͱো֐ʹͳΔ͜ͱ΋ • Πϕϯτ͕͋ͬͨΒSlackʹ௨஌͢Δόον͕ಈ͍͍ͯͨ • Slack௨஌ΛݟͯissueʹखಈͰ௥Ճ͍ͯͨ͠ • όοναʔόͷ໘౗΋ݟ͍ͯͨ

Slide 16

Slide 16 text

ొ࿥ͷࣗಈԽ • ʮεέδϡʔϧ͞ΕͨΠϕϯτʯ͸CloudWatch EventsͰΠ ϕϯτΛड͚औΔࣄ͕Ͱ͖Δ • LambdaΛ࣮ߦ͠ɼAPIܦ༝ͰGitHubͱGoogleΧϨϯμʔʹ ࣗಈͰ௥Ճ͢Δ

Slide 17

Slide 17 text

issue͕ࣗಈͰొ࿥͞ΕΔ

Slide 18

Slide 18 text

خ͔ͬͨ͜͠ͱ • ຊདྷͷΠϕϯτରԠҎ֎ʹඞཁͳख࡞ۀ͸ͳ͘ͳͬͨ • ຊདྷ΍Δ΂͖ରԠ͚ͩʹूதͰ͖ͨ • όοναʔόΛࢭΊΔ͜ͱ͕Ͱ͖ͨ

Slide 19

Slide 19 text

Let's Encryptূ໌ॻͷ ߋ৽ɾ؅ཧͷࣗಈԽ

Slide 20

Slide 20 text

Ϟνϕʔγϣϯ • ख࡞ۀͳ্ʹෳࡶ • ΦϖϨʔγϣϯαʔόͰ࣮ߦ • ূ໌ॻͷసૹͳͲؾΛ͚ͭͳ͍ͱ͍͚ͳ͍෦෼΋͋Δ • ఆظతʹൃੜ͢ΔׂΓࠐΈ • ূ໌ॻͷ༗ޮظݶ͸ࡾϲ݄

Slide 21

Slide 21 text

ΞʔΩςΫνϟ 1. ར༻ऀ͸औಘ͍ͨ͠ূ໌ॻ༻ͷ CloudWatch EventsΛ௥Ճ 2. ఆظ࣮ߦ͞ΕɼLambda͕ূ໌ॻΛ औಘɾS3΁อଘ 3. S3όέοτ͔Βূ໌ॻΛऔಘͯ͠ Ϧϩʔυ

Slide 22

Slide 22 text

࣮ࡍͷಈ࡞ ϒϩά: http://developer.hatenastaff.com/entry/2018/12/11/133000

Slide 23

Slide 23 text

خ͔ͬͨ͜͠ͱ • ख࡞ۀ͸࠷ॳ͚ͩ • CloudWatch EventsʹΑΔఆظ࣮ߦ • ৴པੑ΋޲্ • Lambdaࣗମͷ৴པੑʹدͤΒΕΔ • ূ໌ॻΛ҆શʹѻ͑ΔΑ͏ʹ • S3 + KMSʹΑΔՄ༻ੑͱػີੑ

Slide 24

Slide 24 text

OSSԽ • ࣾ಺Ϧιʔεʹґଘͯ͠ͳ͍ͷͰOSSԽ • https://github.com/cohalz/CertUpdater

Slide 25

Slide 25 text

AWSͷγεςϜج൫Ͱେࣄͳ͜ͱ

Slide 26

Slide 26 text

ଞͷਓ͕ϝϯςͰ͖ΔΑ͏ʹ͢Δ • ࠓ·Ͱͷج൫ʹൺ΂ͯن໛͕େ͖͘ͳΓ͕ͪ • υΩϡϝϯτΛ͔ͬ͠Γ༻ҙ͢Δ • ͳΔ΂͘ެࣜͷπʔϧΛ࢖͏ • Θ͔Βͳ͔ͬͨΒαϙʔτʹฉ͘

Slide 27

Slide 27 text

είʔϓɾ੹೚ڥք • ج൫͕Ͳ͜·Ͱ΍Δͷ͔͸͖ͬΓͤ͞Δ • ࿈ܞ͕͠΍͍͔͢Βܾͦ͜ΊΔ • ར༻ऀͷ͜ͱΛߟ͑Δ • ஌Βͳ͍͍ͯ͘͜ͱΛҙࣝ

Slide 28

Slide 28 text

͜Ε͔ΒͷγεςϜج൫ • ΨΠυϥΠϯΛ࡞Δ • AWS͸୭Ͱ΋؆୯ʹѻ͑ͯ͠·͏ • ϚϧνΞΧ΢ϯτରԠ • ڞ௨ج൫ΛͲ͏ల։͍͔ͯ͘͠ʁ

Slide 29

Slide 29 text

·ͱΊ • ৴པੑͷͨΊʹLambdaΛج൫ͱͯ͠ར༻͍ͯ͠Δ • CloudFormation͸ڞ௨ݴޠͱͯ͠ར༻ • SAMͷొ৔ʹΑΓɼαʔόϨεج൫ͷ։ൃ଎౓΋޲্ͨ͠ • AWS͔ͩΒͦ͜ߟ͑ͳ͍ͱ͍͚ͳ͍෦෼΋͋Δ