Slide 1

Slide 1 text

1 ຽྠҰത ීஈ࢖ͬͯΔΠϯϑϥߏ੒ͳͲʹͭ ͍ͯ

Slide 2

Slide 2 text

2 ໨࣍ • ࣗݾ঺հ • શମߏ੒ • Docker • CI / AWS ECSσϓϩΠ • CloudFormationʹΑΔઃఆ؅ཧ ࣌ؒ଍Γͳ͍ͷͰলུ͠ͳ͕Βɻɻɻ ؒҧͬͨ͜ͱઆ໌ͯͨ͠ΒऴΘ͔ͬͯ Βͬͦ͜Γڭ͍͑ͯͩ͘͞m(_ _)m

Slide 3

Slide 3 text

3 ࣗݾ঺հ • ̠ɽ̨ɽϩδϟʔεגࣜձࣾ • ίʔυϨϏϡʔ໺࿠ • ΞϓϦ։ൃ / ΢Σϒ։ൃ / ͦͷଞR&D • ࠷ۙΑ͘࢖͏ݴޠ
 PHP/Ruby/Java/Kotlin/Swift etc Ұॹʹ࡞ͬͨਓ→

Slide 4

Slide 4 text

4 શମߏ੒

Slide 5

Slide 5 text

5 Amazon
 Route 53 Application Load Balancer Auto Scaling group web app server web app server Amazon S3 
 bucket CloudFront distribution Amazon
 RDS શମߏ੒ Amazon
 RDS multi-AZ ϝʔϧૹ৴ Τϥʔ؂ࢹ CloudWatch Logs ϩʔΧϧ GitLab Runner GitLab ECS ECR GitLab PhalconPHP(PHP7.x) ϩάղੳ

Slide 6

Slide 6 text

6 AWSߏ੒ਤ

Slide 7

Slide 7 text

7 Docker

Slide 8

Slide 8 text

8 D o c k e r Docker ࣗલͰ։ൃ؀ڥͷ%PDLFSGJMF࡞੒ ࡞੒ͨ͠*NBHFΛ(JU-BC$POUBJOFS3FHJTUSZʹQSJWBUFʹอଘ %PDLFS$PNQPTFΛ࡞੒
 ˠ%#"QQMJDBUJPO 3FEJT&MBTUJD4FBSDI4PMS w ։ൃ؀ڥΛॳΊͯࢀՃ͢ΔϦϞʔτͷΤϯδχΞͰ΋3&"%.&͚ͩ Ͱઆ໌ͳ͠ʙ࣌ؒ͘Β͍Ͱߏஙͱ࢖͍ํͷཧղ͕׬ྃ ͦͷ݁Ռ

Slide 9

Slide 9 text

9 ։ ൃ ؀ڥ ஈ ֊Ͱ ಘ ΒΕͨ ΋ ͷ Docker શһͷ։ൃ؀ڥͷ౷Ұ
 ηοτΞοϓͳͲͷ࣌ؒ୹ॖ
 ςϯϓϨʔτΞϓϦέʔγϣϯΛ࡞੒͢Δ͜ͱͰॳ଎ͷ͋Δ։ൃ

Slide 10

Slide 10 text

10 ECSσϓϩΠ

Slide 11

Slide 11 text

11 ج ຊ తྲྀ Ε ECSσϓϩΠ GitLab Runner (CI) GitLab ECR GitLab Auto Scaling group web app server web app server ECS develop push master push ίϯςφ ΠϝʔδΛ push ίϯςφϦϙδτϦ

Slide 12

Slide 12 text

12 Gi t L a b R u nner ECSσϓϩΠ $*πʔϧɻϊϦ͸$JSDMF$*΍5SBWJT$*Έ͍ͨͳ͔Μ͡ ઃఆϑΝΠϧ͸ZBNM (JU-BCͷQJQFMJOF͔Β

Slide 13

Slide 13 text

13 E C R ECSσϓϩΠ ίϯςφͷΠϝʔδϦϙδτϦ &$3͸&$4ͷϦϙδτϦ͔Β࡞੒

Slide 14

Slide 14 text

14 E C S ECSσϓϩΠ λεΫఆٛΛ࡞੒
 ίϯςφͷ৘ใͷઃఆ
 %PDLFSΠϝʔδͷઃఆ$16ϝϞϦFUD 
 ΫϥελʔΛ࡞੒
 &$·ΘΓઃఆ
 &$ΠϯελϯελΠϓFUD 
 αʔϏεΛઃఆ͢Δ
 ΫϥελʔͰ࣮ߦͯ͠ҡ࣋͢ΔλεΫఆٛΛઃఆ
 &-#ͷઃఆͳͲ

Slide 15

Slide 15 text

15 E C S ɿ λ ε Ϋ ECSσϓϩΠ

Slide 16

Slide 16 text

16 E C S ɿ Ϋ ϥε λʔ ECSσϓϩΠ

Slide 17

Slide 17 text

17 E C S ɿ Ϋ ϥε λʔ ECSσϓϩΠ

Slide 18

Slide 18 text

18 E C S ɿ α ʔ Ϗ ε ECSσϓϩΠ ←ΊͬͪΌॏཁ

Slide 19

Slide 19 text

19 E C S ɿ σ ϓ ϩ Πϝϯτ Φ ϓγϣϯ ECSσϓϩΠ λεΫͷ਺: 4 ࠷খϔϧε཰: 50%ɺ࠷େ཰: 100% [ग़ల] https://aws.amazon.com/jp/ blogs/compute/amazon-ecs- launches-new-deployment- capabilities-cloudwatch- metrics-singapore-and- frankfurt-regions/ λεΫͷ਺ʹैͬͯɺߋ৽࣌ʹλεΫఆٛ ͷΠϯελϯεΛΫϥελʔʹ഑ஔ࣮ͯ͠ ߦঢ়ଶʹ͞ΕΔɻ͜ͷͱ͖4×50%=2୆ͣͭ ߋ৽͞ΕΔɹϩʔϦϯάɾσϓϩΠ

Slide 20

Slide 20 text

20 E C S ɿ σ ϓ ϩ Πϝϯτ Φ ϓγϣϯ ECSσϓϩΠ λεΫͷ਺: 4 ࠷খϔϧε཰: 100%ɺ࠷େ཰: 200% [ग़ల] https://aws.amazon.com/jp/ blogs/compute/amazon-ecs- launches-new-deployment- capabilities-cloudwatch- metrics-singapore-and- frankfurt-regions/ Πϯελϯε͸8୆·Ͱ࢖͑ΔͷͰɺ 4×100%=4୆͕Ұؾʹߋ৽͞ΕΔ
 ϒϧʔάϦʔϯɾσϓϩΠ

Slide 21

Slide 21 text

21 E C S ɿ st a g ingͱprod uctio n ECSσϓϩΠ TUBHJOH
 ୆ߏ੒Ͱे෼ͳͷͰɺλεΫͷ਺ɺ࠷খϔϧε཰ɺ࠷େ཰ ͰϩʔϦϯάɾσϓϩΠ QSPEVDUJPO
 O୆ߏ੒ͰɺλεΫͷ਺Oɺ࠷খϔϧε཰ɺ࠷େ཰Ͱϩʔ ϦϯάɾσϓϩΠɻαʔϏεεέʔϧͨ͠Β࠷খϔϧε཰ɺ ࠷େ཰ͷϒϧʔάϦʔϯɾσϓϩΠΛ࠾༻ɻ ׬ྃޙ$*͔Β4MBDL΁ ׬ྃ௨஌

Slide 22

Slide 22 text

22 ͸ · Γϙ Π ϯτ ECSσϓϩΠ &-#Λ͋ͱ͔ΒઃఆͰ͖ͳ͍ ΞϓϦέʔγϣϯͱ͔Ϛ΢ϯτͯ͠։ൃͯ͠ΔͷͰɺEPDLFSDQ͠ ͳ͍ͱσϓϩΠ͞Εͨίϯςφ্ͰΞϓϦέʔγϣϯͷྶѹ͕ফ͑ Δ (JU-BC3VOOFS͸ࣗલͷαʔόʔͰ༻ҙ͢ΔͷͰɺຖճϏϧυͷͨ ͼʹJNBHF͕ͨ͘͞Μ૿͑ΔɻσϓϩΠऴΘͬͨΒEPDLFSSNJ͠ͳ ͍ͱϠόΠɻͲ͏ͤ&$3Ͱอଘ͞Ε·͢͠ɻ

Slide 23

Slide 23 text

23 Φ ʔ τεέʔϧ ECSσϓϩΠ $MPVE8BUDIͷΞϥʔτϕʔεͰΦʔτεέʔϧͷᮢ஋Λઃఆ Ϋϥελʔͷεέʔϧʹ͔͔Δ࣌ؒɿ෼͘Β͍ &$4αʔϏεͷεέʔϧʹ͔͔Δ࣌ؒɿʙඵ ΫϥελʔεέʔϧΞ΢τɿ$16࢖༻཰Ҏ্ αʔϏεεέʔϧΞ΢τɿ$16࢖༻཰Ҏ্ ΫϥελʔεέʔϧΠϯɿ$16࢖༻཰ҎԼ αʔϏεεέʔϧΠϯɿ$16࢖༻཰ҎԼ

Slide 24

Slide 24 text

24 CloudFormation ࣗಈԽ "84ϦιʔεͷઃఆΛZBNM্ʹఆٛͯ͠؅ཧ͢Δ͜ͱ͕Ͱ͖Δ ˠ"84ͷΠϯϑϥઃఆߏஙΛࣗಈԽ
 ྨࣅαʔϏεɿ5FSSB'PSN w "84ͷߏஙͷςϯϓϨʔτΛ࡞੒͢Δ͜ͱͰΠϯϑϥ·ΘΓͷ޻਺ ͕࡟ݮ w ZBNMΛHJU؅ཧ͢Δ͜ͱͰΠϯϑϥߏஙͷมߋΛHJUͰ͓͏͜ͱ͕Ͱ ͖Δ ͦͷ݁Ռ

Slide 25

Slide 25 text

25 AWSߏ੒ਤ

Slide 26

Slide 26 text

26 CloudFormation ࣗಈԽ ஈ֊ͷZBNMʹ෼͚͍ͯΔ #BTJPO4FSWFS ౿Έ୆αʔόʔ ݉$*ͷߏங
 71$TVCOFUͳͲͷύϥϝʔλઃఆ 4UBHJOH༻ͷ&$43%4ͱύϥϝʔλͷઃఆ 1SPEVDUJPO༻ͷ&$43%4ͱύϥϝʔλͷઃఆ ͨͩ͠ɺ"$.ͳͲ͸खಈͷઃఆ͕ඞཁ

Slide 27

Slide 27 text

27 ͋Γ͕ͱ͏͍͟͝·ͨ͠ (ɾωɾ)ůŢ