Slide 1

Slide 1 text

ϨΨγʔγεςϜ͔Βͷ σʔλϚΠάϨʔγϣϯ ͋Ε͜Ε 2020/05/14 ϖύϘɾ͸ͯͳٕज़େձʙ@ΦϯϥΠϯ ୍ᖒ ਸʢid:tkzwtks)

Slide 2

Slide 2 text

ࣗݾ঺հ • id:tkzwtks ୍ᖒ ਸ • 2015೥11݄ೖࣾ • ۀ຿ྺ • ΧΫϤϜʢKADOKAWA༷ʣ • GigaViewer • ͸ͯͳμΠΞϦʔऴྃ

Slide 3

Slide 3 text

ຊ೔͓࿩͢͠Δ͜ͱ

Slide 4

Slide 4 text

ຊ೔͓࿩͢͠Δ͜ͱ • 2020೥4݄ʹϦχϡʔΞϧͨ͠ʮຐ๏ͷiΒΜͲʯͷσʔλҠ ߦ • Ҡߦʹ͔͔Δ࣌ؒΛͰ͖Δ͚ͩ୹͘͢ΔͨΊʹԿΛߟ͑ɺ ԿΛ΍ͬͨͷ͔

Slide 5

Slide 5 text

ຐ๏ͷiΒΜͲ

Slide 6

Slide 6 text

ຐ๏ͷiΒΜͲ • KADOKAWA༷͕ӡӦ͢Δʮ೔ຊ࠷ େڃͷΨʔϧζΤϯλςΠϝϯταΠ τʯ • 1999೥ʹແྉϗʔϜϖʔδ࡞੒αʔ Ϗεͱͯ͠ελʔτ • খઆ౤ߘػೳͰ͸ʮ࿀ۭʕ੾φΠ࿀ ෺ޠʯ౳ͷਓؾ࡞඼͕ੜ·Ε͍ͯΔ • 4݄ʹখઆʹಛԽͨ͠αʔϏεͱͯ͠ ϦχϡʔΞϧ

Slide 7

Slide 7 text

ϦχϡʔΞϧ • γεςϜ࡮৽ • ৽γεςϜ΁খઆσʔλΛҠߦ͢Δඞཁ͕͋Δ • ࠓ೔͸͜ͷ࿩

Slide 8

Slide 8 text

Ҿӽ͠࡞ۀ • چγεςϜͱ৽γεςϜͷεΩʔϚͷϚοϐϯά • Ϛοϐϯάͨ͠ઌʹσʔλΛҠಈ • چεΩʔϚ͸׬શʹഇࢭͯ͠ɺσʔλߏ଄ͷϦϑΝΫλϦ ϯά΋ૂ͏ • Ұ෦σʔλ͸ม׵͢Δඞཁ͕͋Δ • چγεςϜͰར༻Մೳͩͬͨه๏͸શͯ৽γεςϜͷه๏ ʹม׵͢Δ

Slide 9

Slide 9 text

Ҿӽ͠࡞ۀͷ՝୊ ʮͱʹ͔͘ҠߦॲཧΛߴ଎ʹऴΘΒ͍ͤͨʯ • σʔλҠߦͦͷ΋ͷʹ͔͔ΔͩΖ͏͕࣌ؒಡΊͳ͍ɺಡΈͮ Β͍ • ࠷ऴతͳσʔλྔ͸֓Ͷ༧ଌՄೳ͕ͩͬͨɺ΍Δ͜ͱ͕ଟ ͍ͷͰ͕࣌ؒಡΊͳ͍ • Ҡߦલʹॻ͖ࠐΈΛఀࢭ͢Δඞཁ͕͋Δʢ= ϝϯςφϯεظ ؒΛ༻ҙ͢Δඞཁ͕͋Δʣ

Slide 10

Slide 10 text

σʔλؒͷґଘؔ܎ͱ ॲཧͷॱ൪ • ϢʔβʔҠߦ -> ࡞඼Ҡߦ -> ه๏ม ׵ ͱ͍͏ॱͰྲྀΕΔ • લͷॲཧ͕ऴΘ͍ͬͯͳ͍ͱ࣍ͷ ॲཧΛ։࢝Ͱ͖ͳ͍ • 500ϖʔδ͍࣋ͬͯΔ࡞඼΋ଘࡏ͠ɺ ͔ͳΓͷϘϦϡʔϜ͕͋Δ • શϖʔδʹؚ·ΕΔچه๏Λ৽ه๏ ʹม׵͢Δ

Slide 11

Slide 11 text

ϚωʔδυαʔϏεͷಋೖ • AWS StepFunctions + AWS Batch ͰҠߦॲཧΛฒྻ࣮ߦ͠Ұ ؾʹऴΘΒͤΔ࡞ઓ • BatchͰҠߦॲཧࣗମΛ࣮ߦ • StepFunctionsͰBatchͷδϣϒΛૹ৴ͭͭ͠ɺਐḿ؅ཧΛ ߦ͏

Slide 12

Slide 12 text

AWS Batch • ϑϧϚωʔδυͳόονॲཧ࣮ߦ؀ڥ • ඞཁͳͷ͸όονॲཧΛ࣮ߦ͢ΔͨΊͷDockerΠϝʔδ • δϣϒΛొ࿥͍ͯ͘͠ͱɺ࣮ߦ଴ͪͷδϣϒ਺΍ࢦఆͨ͠ Ϧιʔεཁ݅ʹ߹ΘͤͯউखʹεέʔϧΞ΢τɾεέʔϧ Πϯͯ͘͠ΕΔ • DBͷੑೳݶք·Ͱ͸ฒྻʹҠߦॲཧ͕Մೳ

Slide 13

Slide 13 text

AWS Batch • δϣϒΛͲ͏΍ͬͯൃߦ͢Δ? • SUBMITTEDͳδϣϒͷ࠷େ਺ʹ੍ݶ਺͕͋ΔͨΊɺશͯ ͷδϣϒΛ͍͖ͳΓൃߦ͢Δ͜ͱ͸ආ͚͍ͨ • ༷ࢠΛݟͳ͕ΒδϣϒΛൃߦ͢ΔॲཧΛࣗ෼Ͱ༻ҙͨ͘͠ ͳ͍

Slide 14

Slide 14 text

AWS StepFunctions • ϚωʔδυϫʔΫϑϩʔΤϯδϯ • AWSαʔϏεͱͷ౷߹͕ڧ͍ • StepFunctions͔ΒBatchͷδϣϒΛൃߦ͢Δ͜ͱ͕Մೳ • StepFunctions͔ΒଞαʔϏεΛಉظతʹ࣮ߦͰ͖Δ • ʮϢʔβʔҠߦॲཧ͕શͯऴΘͬͨΒখઆͷҠߦॲཧΛ͢ Δʯͱ͍͏Α͏ͳϫʔΫϑϩʔΛ૊Ή͜ͱ͕Ͱ͖Δ

Slide 15

Slide 15 text

AWS StepFunctions • Mapεςʔτ • 2019/9 ʹ௥Ճ͞Εͨಈతฒྻॲཧαϙʔτ • ฒྻϑΝϯΞ΢τΛ؆୯ʹ࣮૷Ͱ͖ΔΑ͏ʹͳͬͨ StepFunctionsͷεςʔτϚγϯ͔ΒBatchͷδϣϒΛൃߦ͢Δ ܗʹͨ͠

Slide 16

Slide 16 text

࣮ࡍͷεςʔτϚγϯ ఆٛ • εςʔτϚγϯΛೋஈߏ੒ʹ͢Δ • ֤޻ఔΛ਌Ͱ؅ཧ͠ɺࡉ͔͍ॲཧ ͸ࢠʹدͤΔ • ਌εςʔτϚγϯ

Slide 17

Slide 17 text

࣮ࡍͷεςʔτϚγϯ ఆٛ • ࢠεςʔτϚγϯ • batchδϣϒΛฒྻʹେྔൃߦ

Slide 18

Slide 18 text

࣮ࡍͷ࡞ઓ • ฒྻ࣮ߦՄೳͳ୯ҐͰάϧʔϐϯά ͢Δ • άϧʔϐϯάͨ͠΋ͷΛฒྻॲཧ ͢Δ • άϧʔϓ಺ͷ֤޻ఔΛ͞Βʹฒྻ ॲཧͯ͠΋ଞʹӨڹ͕ͳ͍ • ֤άϧʔϓͷ࣮ߦঢ়ଶΛS3ʹอଘ ͓͖ͯ͠ɺਐḿ֬ೝɾϦτϥΠՄ ೳͳ࢓૊ΈΛ࡞Δ

Slide 19

Slide 19 text

࣮ࡍͷ࡞ઓ • Ҡߦॲཧͦͷ΋ͷ΋Ͱ͖Δ͚ͩߴ଎ ʹ͢Δ • ͱʹ͔͘INSERTจΛݮΒ͢

Slide 20

Slide 20 text

࡞ઓ੒ޭ • ʢ࣮ࡍͷ਺͸ݴ͑ͳ͍͕ʣ20೥෼ͷখઆΛ͍͍ͩͨ߹ܭ10h ఔ౓Ͱه๏ม׵·Ͱ׬ྃͯ͠ҠߦͰ͖ͨ • ϢʔβʔҠߦ -> খઆҠߦ -> ه๏ม׵ • ϓϩδΣΫτ౰ॳʹ໨ࢦ͍ͯͨ͠ʮԿ͔͠Βͷཧ༝Ͱࣦഊ ͨ͠৔߹ʹ΋͏Ұ౓͘Β͍Ͱ͖ΔΑ͏ͳ࣌ؒʯʹऩ·ͬͨ • ଞͷσʔλ΋ಉ͡࢓૊ΈΛྲྀ༻Ͱ͖ͨ • ElasticSearch΁ͷσʔλ౤ೖ΋1hఔ౓Ͱ׬ྃͨ͠

Slide 21

Slide 21 text

ৼΓฦΔʢAWS Batch) • ΦʔτεέʔϦϯάΛউखʹ΍ͬͯ͘ΕΔͷ͸ඇৗʹྑ͍ • ʮϦιʔε͕ͲΕ͘Β͍ඞཁʹͳΓͦ͏͔ʯΛ࠷ॳʹ༧ଌ ͢Δඞཁ͕ͳ͍ • ࡉ͔͍ϋϚΓͲ͜Ζ͸͋Δ • ىಈʙ࣮ߦ·Ͱͷ଎͕҆͞ఆ͠ͳ͍͜ͱ͕͋Δ • cloudwatchͷϩάάϧʔϓ͕શͯʹͳͬͯ͠·͏౳

Slide 22

Slide 22 text

ৼΓฦΔʢAWS Batch) • DockerΠϝʔδ͕͋Ε͹ಈ͘ͷͰݴޠબ୒ͷ෯͕޿͍ • LambdaͰ΋௕Ίͷॲཧ͕࣮ߦͰ͖Δ͕͜ͷ఺͕ҧ͏ • ࠓճ͸Webଆͱಉ͡ݴޠΛબ୒͍ͯ͠Δ • Fargate͸ࠓճબ͹ͳ͔ͬͨ • λεΫͷಉ࣮࣌ߦ਺ʹ੍ݶ͕͋Δ

Slide 23

Slide 23 text

ৼΓฦΔ(AWS StepFunctions) • ֤޻ఔΛ୯ಠͰಈ͘όονॲཧͱ࣮ͯ͠૷Ͱ͖ɺͦΕΛ૊Έ ߹Θͤͯେ͖ͳॲཧΛ࡞Εͨ • ֤޻ఔΛෳ਺ਓͰ࣮૷Ͱ͖ͨ • ్தʹॲཧΛࠩ͠ࠐΉͷ΋༰қ • ޙॲཧʹ௨஌Λࠩ͠ࠐΉͳͲ

Slide 24

Slide 24 text

ৼΓฦΔ(AWS StepFunctions) • ͋ΔεςʔτϚγϯ͔ΒผͷεςʔτϚγϯΛݺͼग़͢͜ͱ ΋Մೳ • ݸʑͷॲཧΛϞδϡʔϧͱ࣮ͯ͠૷Ͱ͖ͨ • ׳ΕΔ·Ͱ͸গ͠େมʢͱݸਓతʹ͸ߟ͍͑ͯΔʣ • εςʔτϚγϯͷೖग़ྗ͸݁ߏΫη͕͋Δ • σόοάͮ͠Β͍