本番環境をECSで構築した話
by
NakanishiTetsuhiro
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ຊ൪ڥΛ AWS ECSͰߏஙͨ͠ גࣜձࣾRe:Build ͯͭ (@kaoru6strings) 201905݄07ʢՐʣ Cloud Native Okinawa #01 https://cnjp.connpass.com/event/126877/
Slide 2
Slide 2 text
ࣗݾհ • த େʢͯͭʣ • גࣜձࣾRe:BuildɿWebΤϯδχΞ • Laravel + Vue.js, Ruby on rails • ϦϞʔτϫʔΫͯ͠·͢ • @kaoru6strings
Slide 3
Slide 3 text
ٕज़ؔ࿈ͷεΩϧηοτ Ͱ͖Δ ͪΐͬͱͰ͖Δ ษڧத ϑϩϯτΤϯυ +4 K2VFSZ 7VFKT όοΫΤϯυ -BSBWFM 3VCZPOSBJMT 1ZUIPO 3VCZ Πϯϑϥ "84 %PDLFS -JOVY 7JSUVBM#PY 7BHSBOU ,VCFSOFUFT 3BODIFS ($1
Slide 4
Slide 4 text
Why ECS?
Slide 5
Slide 5 text
ࠓ֮͑ͯؼͬͯ΄͍͜͠ͱ ʮECSͷσϓϩΠECS CLIΛ͔͓ͭ͏ʯ
Slide 6
Slide 6 text
Infrastructure Architecture
Slide 7
Slide 7 text
Deploy Flow (JUQVTI 5FTUJOH 1VTIJNBHF UP &$3 6QEBUF &$45BTL CircleCI
Slide 8
Slide 8 text
ϙΠϯτ1 ECSͷσϓϩΠECS CLIΛ͔͓ͭ͏ • ecs-cliAWSެࣜͷECSͷσϓϩΠࢧԉ πʔϧ • docker-compose.ymlͬΆ͘ઃఆϑΝΠϧΛ͔ ͚ΔͨΊΘ͔Γ͍͢
Slide 9
Slide 9 text
CircleCIͰͷઃఆྫ config.yml
Slide 10
Slide 10 text
ϙΠϯτ1 ECSͷσϓϩΠECS CLIΛ͔͓ͭ͏ • app-service.yml • ֤ίϯςφͷઃఆใ • Cloud watchͷઃఆใ • ecs-params.yml • ωοτϫʔΫఆٛ • SSMͱͷ࿈ܞ෦ͷઃఆใ
Slide 11
Slide 11 text
ϙΠϯτ1 ϋϚͬͨͱ͜ • ࠷ॳecs-deployͱ͍͏πʔϧΛ͓͏ͱͨ͠ ͕ɺ2ͭҎ্ͷίϯςφͷߋ৽ํ๏͕Θ͔Β ͣɺ٧Μͩ • FargateΛར༻͢Δ߹ecs-params.ymlͷத Ͱnetwork_configurationͷઃఆΛ͢Δඞཁ͕ ͋Δ
Slide 12
Slide 12 text
ϙΠϯτ1 ඞਢઃఆ߲ʹ໎ͬͨͱ͖ϒϥβΛࢀߟʹ ͢Δ͠
Slide 13
Slide 13 text
ϙΠϯτ2 ൿಗใSSMͰཧ͢Δ • RDSͷଓใͳͲͷ࿙Ε͍͚ͯͳ͍ ใSSMͰཧ͢Δ͜ͱ
Slide 14
Slide 14 text
• ecs-cliͰͷઃఆྫԼهͷ௨Γɹɹɹ ʢ࠷ॳઃఆํ๏͕Θ͔ΒͣΜͩ෦ʣ ϙΠϯτ2 ൿಗใSSMͰཧ͢Δ
Slide 15
Slide 15 text
ECS + Fargate ͷϝϦοτͱ͔ • ͩΕͰ؆୯ʹϩʔϦϯάΞοϓσʔτͷΈ͕ ߏஙͰ͖Δ • ͏·ࣗ͘ಈσϓϩΠͷΈ͕ߏஙͰ͖ΕΠϯϑ ϥ෦ͷϨΠϠʔΛଐਓԽͤ͞ͳ͍ํʹ͍࣋ͬͯ ͖͍͢ • GCPͰECSͬΆ͍αʔϏε͍ͨ͘ͳͬͨΒCloud Run
Slide 16
Slide 16 text
ࠓޙͷ՝ • ͜Ε͔Βӡ༻ͷϑΣʔζʹೖ͍ͬͯ͘ͷͰυΩυΩ͠ ͯΔ • ࣍ճҊ݅GCPͰΠϯϑϥߏஙͯ͠ΈΔ • ࠷ऴඪɺνʔϜϝϯόʔ͕Πϯϑϥͷ͜ͱߟ͑ͣ ʹΞϓϦέʔγϣϯͷ࣮ʹूதͰ͖Δڥͮ͘Γ • AWS CodepipelineະݕূͷͨΊɺػձ͕͋Ε ৮ͬͯΈΔ
Slide 17
Slide 17 text
ϦϯΫू • ECS CLIͷϦϙδτϦ • https://github.com/aws/amazon-ecs-cli • ECS CLIͷϦϑΝϨϯε • https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_CLI.html • ecs-deploy • https://github.com/silinternational/ecs-deploy