Slide 1

Slide 1 text

ϩʔΧϧ։ൃ؀ڥʹ DockerΛಋೖͨ͠࿩ ߹ಉษڧձ in େ౎ձԬࢁ -2017 Winter- ҳݟ੣(@mako_wis)

Slide 2

Slide 2 text

ࣗݾ঺հ w ҳݟ੣ ΁ΜΈ·͜ͱ  w 5XJUUFS!NBLP@XJT w גࣜձࣾΫϨΦϑʔΨʢԻૉࡐൢചɺ ԻָίϯςεταΠτӡӦʣ w ϑϩϯταʔόʔαΠυ৘γε

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

αʔϏεΠϯ౰࣌ͷߏ੒ EC2(App) EC2(Batch) RDS

Slide 5

Slide 5 text

S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS

Slide 6

Slide 6 text

S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch

Slide 7

Slide 7 text

S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch SQS

Slide 8

Slide 8 text

S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch SQS SNS

Slide 9

Slide 9 text

͜͜Ͱͪΐͬͱ໰୊͕

Slide 10

Slide 10 text

ൃੜ͍ͯͨ͠໰୊ • ֤ࣗͦΕͧΕͰઃఆͯͨ͠ͷͰൿ఻ͷλϨԽ • S3Λ։ൃ༻ʹڞ௨ͷόέοτΛݟ͍ͯͨΓ͠ ͯσʔλͷॏෳ͕ൃੜ • Ϛγϯങ͍ସ͑ͱ͔Ͱ؀ڥߏங΍Γ௚͠ͷ৔ ߹ʹ͕͔͔࣌ؒΔ

Slide 11

Slide 11 text

؀ڥߏங͕ϘτϧωοΫʹ

Slide 12

Slide 12 text

؀ڥߏஙΛ؆୯ʹͯ͠ޮ཰UP

Slide 13

Slide 13 text

ରॲํ๏ • ϩʔΧϧʹAWS୅ସαʔϏεΛར༻ͯ͠ຊ൪ ͱಉ౳ͷ؀ڥΛߏங • ։ൃऀຖʹຊ൪ͱಉ౳ͷ؀ڥΛAWS্ʹߏங

Slide 14

Slide 14 text

ରॲํ๏ • ϩʔΧϧʹAWS୅ସαʔϏεΛར༻ͯ͠ຊ൪ ͱಉ౳ͷ؀ڥΛߏங • ։ൃऀຖʹຊ൪ͱಉ౳ͷ؀ڥΛAWS্ʹߏங ࠓճ͸ͬͪ͜

Slide 15

Slide 15 text

DockerͰϩʔΧϧʹ؀ڥߏங

Slide 16

Slide 16 text

ࠓճͷํ਑ • DockerΛར༻ͯ͠ϩʔΧϧʹ։ൃ؀ڥΛߏங • खܰʹ؀ڥΛ্ཱ͍ͪ͛ͨͷͰdocker- composeͰίϯςφΛ؅ཧ • ୅ସ͑αʔϏε͕ແ͍΋ͷ͸ผ్ରࡦߟ͑Δ

Slide 17

Slide 17 text

ϝΠϯΞϓϦ όον S3 MySQL SQSɾSNS SQSɾSNSॳظԽ

Slide 18

Slide 18 text

S3ͷஔ͖׵͑ • MinioΛ࢖༻ • https://github.com/minio/minio • dockerΠϝʔδΛར༻ͯ͠΋ӬଓԽ͕༰қ • σΟϨΫτϦ=όέοτͱͯ͠Έͳͯ͘͠ΕΔ ͷͰόέοτ࡞੒ࡁͰ഑෍Ͱ͖Δ

Slide 19

Slide 19 text

SQSɾSNSͷஔ͖׵͑ • Localstack • https://github.com/localstack/localstack • ֤छawsαʔϏεͷ୅ସ͑αʔϏεΛఏڙ • s3͸minioͷํ͕࢖͍΍͍͢ͷͰࠓճ͸ະ࢖༻ • SNS΋SQSͷ྆ํରԠͯ͘͠Ε͍ͯΔ • Ωϡʔ࡞੒͸ผ్ઃఆόονΩοΫ༻ͷΠϝʔδΛ࡞੒ͯ͠ docker-compose up࣌ʹ࣮ߦ

Slide 20

Slide 20 text

RDSͷஔ͖׵͑ • ฐࣾMySQLͳͷͰMySQLͷdockerΠϝʔδΛ ࢖༻ • ֤ࣗೖΕ͍ͯΔMySQLΛ࢖༻͢Δख΋͋ͬͨ ͕ઃఆ΍όʔδϣϯ͕όϥͭ͘Մೳੑ΋͋Δ ͷͰ౷Ұ

Slide 21

Slide 21 text

CloudSearchɾɾɾ • ϕʔλ൛͔ͩΒͳͷ͔୅ସ͑αʔϏε͕ΠϚΠν • ݩʑΫϥ΢υαʔνͷઃఆ͕ͳ͔ͬͨΒDB΁ͷ ݕࡧʹ੾Γସ͑ΔϩδοΫ͕͋ͬͨͷͰͦΕΛ ར༻ • ʢͦͷ͏ͪElasticSearchʹ৐Γ׵͑Δ͔΋͠Ε ͳ͍ͷͰҰ୴ஔ͍͓ͯ͘

Slide 22

Slide 22 text

όονΞϓϦͷରԠ • όονͷDockerΠϝʔδͷ࡞੒ • DockerԽʹ൐͏ίʔυमਖ਼ • SQSʹґଘͯ͠ΔͷͰSQSͷ४උ׬ྃΛ଴ͭίʔυΛ௥Ճ • ϝΠϯΞϓϦͱಉ࣌ʹىಈ͍ͨ͠ • όονͷDockerϑΝΠϧΛϏϧυͯ͠ΠϝʔδΛ࡞੒͢ΔํࣜΛબ୒ • ϦϙδτϦ͕ผͳͷͰgit submoduleΛར༻ͯ͠ϝΠϯΞϓϦͷϦϙ δτϦʹ௥Ճ

Slide 23

Slide 23 text

ϝΠϯΞϓϦͷରԠ • RailsΞϓϦέʔγϣϯ • ࠷ॳ͸DockerΛར༻ͤͣͦͷ··ىಈ͢Δ༧ఆͰ͕ͨ͠ɾɾɾ • όονଆ͔ΒϝΠϯΞϓϦͷAPIΛୟ͘ඞཁ͕͋Γ • Dockerଆ͔ΒϗετOSͷΞυϨεΛऔಘ͢Δํ๏͕OSຖʹ·ͪ· ͪ • ϝϯόʔͷOS͸WindowsɺMacOSࠞࡏ • ϦϙδτϦϧʔτʹDockerϑΝΠϧΛஔ͍ͯΠϝʔδϏϧυ

Slide 24

Slide 24 text

Docker-compose up Ͱ։ൃ؀ڥ্ཱ͕͕ͪΔ

Slide 25

Slide 25 text

·ͱΊ • docker-compose upͰඞཁͳ։ൃ؀ڥ্ཱ͕͕ͪΔͷ͸ศར • ֤ࣗͦΕͧΕͰઃఆ͢Δख͕ؒল͚ͨ • Railsͷ֤छίϚϯυΛ࣮ߦ͢Δͷ͕໘౗ • ͍͍ͪͪdocker-compose run ~Λ࣮ߦ͢Δͷ͕ΊΜͲ͍͘͞ • γΣϧεΫϦϓτΛ४උͯ͠লྗԽ • DockerΠϝʔδ΍S3ϩʔΧϧԽͰPCͷ༰ྔ͕ඞཁ

Slide 26

Slide 26 text

͓ΘΓ