Slide 1

Slide 1 text

au WebϙʔλϧαΠτϦχϡʔΞϧ ΠϯϑϥͷऔΓ૊Έ

Slide 2

Slide 2 text

ࣗݾ঺հ લᖒਖ਼ٓʢ·͑͟Θ·͞Α͠ʣ • גࣜձࣾmediba • ΠϯϑϥετϥΫνϟʔ෦ / ΋ͷͮ͘Γਪਐ෦ • PerlΤϯδχΞ 7೥ • ࣾ಺SE 2೥ • Πϯϑϥྺ 3೥ • AWSೝఆ • ιϦϡʔγϣϯΞʔΩςΫτ ΞιγΤΠτ • ιϦϡʔγϣϯΞʔΩςΫτ ϓϩϑΣογϣφϧ

Slide 3

Slide 3 text

Agenda • au WebϙʔλϧͷϦχϡʔΞϧ • Fargateʹ͍ͭͯ • ͳͥFargateΛར༻͢Δͷ͔ • Fargateͷར༻ύλʔϯ • ࣮ࡍʹ͔ͭͬͯΈͯͲ͏ͩͬͨͷ͔ • ·ͱΊ

Slide 4

Slide 4 text

ΠϯϑϥΤϯδχΞͷਓʁ

Slide 5

Slide 5 text

AWS࢖͍ͬͯΔਓʁ

Slide 6

Slide 6 text

ίϯςφ࢖͍ͬͯΔਓʁ

Slide 7

Slide 7 text

ϓϩμΫγϣϯͰίϯςφӡ༻͍ͯ͠Δਓʁ

Slide 8

Slide 8 text

au WebϙʔλϧͷϦχϡʔΞϧ

Slide 9

Slide 9 text

ΦϯϓϨˠAWS

Slide 10

Slide 10 text

VM→ίϯςφ

Slide 11

Slide 11 text

au WebϙʔλϧϦχϡʔΞϧͷΠϯϑϥߏ੒ਤʢҰ෦ൈਮʣ

Slide 12

Slide 12 text

Fargateʹ͍ͭͯ

Slide 13

Slide 13 text

ͷલʹ

Slide 14

Slide 14 text

AWSͷίϯςφؔ࿈αʔϏε • ίϯτϩʔϧϓϨʔϯ ίϯςφͷΦʔέετϨʔγϣϯΛ୲౰ • ECS • EKS • σʔλϓϨʔϯ ίϯςφ͕࣮ࡍʹಈ࡞͢Δ؀ڥ • EC2 • Fargate

Slide 15

Slide 15 text

ECS for Fargateʹ͍ͭͯ • ίϯςφ͕ىಈ͢ΔϗετͱΫϥελ؅ཧΛAWS͕໘ ౗ݟͯ͘ΕΔϚωʔδυαʔϏε

Slide 16

Slide 16 text

&$4$MVTUFS &$*OTUBODF ECS for EC2 5"4, /HJOY /PEF 5"4, /HJOY /PEF &$*OTUBODF 5"4, /HJOY /PEF 5"4, /HJOY /PEF

Slide 17

Slide 17 text

&$4$MVTUFS ECS for Fargate 5"4, /HJOY /PEF 5"4, /HJOY /PEF 5"4, /HJOY /PEF 5"4, /HJOY /PEF

Slide 18

Slide 18 text

ίϯτʔϧϓϨʔϯ΋ σʔλϓϨʔϯ΋ ϑϧϚωʔδυ

Slide 19

Slide 19 text

ͳͥECS for FargateΛར༻͢Δͷ͔ • ϑϧϚωʔδυαʔϏε • ίϯτϩʔϧϓϨʔϯ͚ͩͰͳ͘σʔλϓϨʔϯͷϗετ؅ཧ͕ෆཁ • ଞͷAWSαʔϏεΛར༻͠΍͍͢ • λεΫʹରͯ͠IAM RoleΛ෇༩Ͱ͖Δ • λεΫຖʹENI͕Ξλον͞ΕΔͨΊSecurityGroup͕ઃఆͰ͖Δ • CloudWatchLogsͰϚωʔδυͳϩά؅ཧ • CodePipelineͰϚωʔδυͳܧଓతͳσϓϩΠ

Slide 20

Slide 20 text

Fargateͷར༻ύλʔϯ

Slide 21

Slide 21 text

ϥΠϑαΠΫϧͷ௕͍λεΫ

Slide 22

Slide 22 text

ϥΠϑαΠΫϧͷ௕͍λεΫ • Webαʔό΍ΞϓϦέʔγϣϯαʔόͷϓϩηε • ALB഑Լʹෳ਺ͷίϯςφλεΫΛىಈ • σϓϩΠ࣌ʹ৽͍͠λεΫͷىಈͱALB΁ͷ෇͚ସ͑

Slide 23

Slide 23 text

ϥΠϑαΠΫϧͷ୹͍λεΫ

Slide 24

Slide 24 text

ϥΠϑαΠΫϧͷ୹͍λεΫ • όονॲཧͳͲඞཁͳ࣌ʹλεΫΛ࣮ߦͯ͠ऴྃ • εέδϡʔϦϯάͰͷఆظత࣮ߦ • όοναʔό͕ෆཁʹͳΔͷͰׂ҆

Slide 25

Slide 25 text

Ͱ࣮ࡍ࢖ͬͯͲ͏ͩͬͨͷʁ

Slide 26

Slide 26 text

σϓϩΠ͕ίϯςφʹͯ͠͸஗͍

Slide 27

Slide 27 text

σϓϩΠ͕ίϯςφʹͯ͠͸஗͍ • λεΫ͕Runningঢ়ଶʹͳΔͷʹ໿̍෼΄Ͳ͔͔Δ • ENIͷΞλον࣌ؒ΋໿10ඵ΄Ͳ͔͔Δ • ίϯςφΠϝʔδͷPullʹ͕͔͔࣌ؒΔ • Fargate͸ΠϝʔδͷΩϟογϡΛอ࣋Ͱ͖ͳ͍ ʢࠓ͸ʣ 5"4, /HJOY /PEF 5"4, /HJOY /PEF

Slide 28

Slide 28 text

NATGWͷ༧ظͤ͵࢖༻ྔ

Slide 29

Slide 29 text

NATGWͷ༧ظͤ͵࢖༻ྔ • ECR΁ͷ઀ଓ͸Πϯλʔωοτܦ༝ʢσϑΥϧτʣ • Fargate͸ΠϝʔδͷΩϟογϡΛอ࣋Ͱ͖ͳ͍ʢࠓ͸ʣ • DockerHub΁͸౰વΠϯλʔωοτܦ༝ • ΠϝʔδΛPull͗͢͠ΔͱBAN͞ΕΔ͜ͱ΋(͞Εͨ)

Slide 30

Slide 30 text

ECR΁ͷ઀ଓ͸σϑΥϧτΠϯλʔωοτܦ༝ *OUFSOFU

Slide 31

Slide 31 text

ରࡦ

Slide 32

Slide 32 text

PrivateLinkΤϯυϙΠϯτܦ༝ʹϧʔτมߋ *OUFSOFU

Slide 33

Slide 33 text

NATGWʹฏԺ͕͓ͱͣΕΔ PrivateLinkಋೖલ PrivateLinkಋೖޙ

Slide 34

Slide 34 text

Fargateͷ؂ࢹ

Slide 35

Slide 35 text

CloudWatch MetricsͰͷ؂ࢹ • ϝτϦΫε • CPU Utilization • Memory Utilization • σΟϝϯγϣϯ • Ϋϥελʔ୯Ґ • αʔϏε୯Ґ

Slide 36

Slide 36 text

Ϋϥελʔ &$4$MVTUFS 5"4, 5"4, 5"4, 5"4,

Slide 37

Slide 37 text

λεΫ୯ҐͷϝτϦΫεݟ͍ͨ

Slide 38

Slide 38 text

λεΫ୯ҐͰϝτϦΫεΛऔಘ͍ͨ͠ &$4$MVTUFS 5"4, %BUB EPH /PEF 5"4, %BUB EPH /PEF 5"4, %BUB EPH /PEF 5"4, %BUB EPH /PEF Datadog AgentͷαΠυΧʔίϯςφΛ্ཱͪ͛Δ

Slide 39

Slide 39 text

λεΫ୯ҐͰϝτϦΫεΛऔಘ͍ͨ͠ Agentܦ༝ͰϝτϦΫε৘ใΛٵ্͍͛Δ ʢ౰વAgent෼ͷFargateඅ༻͔͔Γ·͢ʣ

Slide 40

Slide 40 text

Datadog AgentΛར༻ͨ͠؂ࢹ • DatadogAgentͷΠϝʔδͷஔ͖৔ॴ͸ECR • DatadogAgentͷόʔδϣϯͷ௥ै͕ඞཁ • ϥΠϑαΠΫϧͷ୹͍λεΫ͸ϝτϦΫεͷऔಘ͕೉͍͠ • Logू໿ͱ؂ࢹ͕ॏཁ

Slide 41

Slide 41 text

ίϯςφͷ؂ࢹͱӡ༻ • Cattle,not petsʢϖοτͰ͸ͳ͘ɺՈசʣ • VMͷ؅ཧͱҧ͍Ϛγϯͷӡ༻ΑΓ΋αʔϏεͷՄ༻ੑͱੑೳΛॏࢹ͢Δ • ໰୊͕ൃੜͨ͠λεΫ͸༰ࣻͳ͘ఀࢭ • ΦʔτώʔϦϯάͰએݴͨ͠λεΫͷ୆਺ʹ໭Δ

Slide 42

Slide 42 text

·ͱΊ

Slide 43

Slide 43 text

·ͱΊ • Fargate͸ίϯςφΛར༻͢Δ৔߹ʹ࠷ॳʹݕ౼͢΂͖બ୒ࢶ • FargateͷίϯςφΠϝʔδ͸ΩϟογϡͰ͖ͳ͍ • PrivateSubnetͰίϯςφΛىಈ͢Δ৔߹PrivateLinkΛར༻͢Δ • ίϯςφͷಛੑʹΑͬͯ؂ࢹํ๏ͱ؂ࢹର৅Λߟ͑Δඞཁ͕͋Δ