Slide 1

Slide 1 text

ຊ൪؀ڥΛ AWS ECSͰߏஙͨ͠࿩ גࣜձࣾRe:Build
 ͯͭ (@kaoru6strings) 2019೥05݄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-cli͸AWSެࣜͷ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