Slide 1

Slide 1 text

αʔϏε΁ͷӨڹΛ཈͑ͯ σʔλϕʔεͷҠߦΛ࣮ࢪ ͨ͠͸ͳ͠ "VSPSB.Z42-$MPVE42- @kimihiro_n

Slide 2

Slide 2 text

2 ࣗݾ঺հ +9௨৴ࣾγχΞΤϯδχΞ l ೥ೖࣾ l ϦεΫ৘ใऩू4BB4ʮ'"45"-&35ʯ l 1ZUIPOɺ(PͰόοΫΤϯυ୲౰ l Πϯϑϥઐ໳Ͱ͸ͳ͍ झຯ l ϩʔυόΠΫ l ͓ֆ͔͖ l ΞʔΫφΠπ kimihiro_n

Slide 3

Slide 3 text

3 ニュースアプリも作ってます

Slide 4

Slide 4 text

"84"VSPSB ͔Β $MPVE42- ΁ͷ͓Ҿͬӽ͠

Slide 5

Slide 5 text

5 "VSPSBˠ$MPVE42- "NB[PO"VSPSB.Z42- l "84ͷϚωʔδυͳ3%# l .Z42-ޓ׵ l ετϨʔδϨΠϠͰͷߴ଎ͳϨϓϦέʔγϣϯ $MPVE42-GPS.Z42- l (PPHMF$MPVEͷϚωʔδυͳ3%# l ελϯμʔυͳ.Z42-

Slide 6

Slide 6 text

6 2ͳͥҾͬӽ͢ͷ͔ l "େਓͷࣄ৘ l τʔλϧͰΈͨͱ͖ͷίετ l ར༻έʔεʹڧ͘ґଘ͢ΔͷͰҰ֓ʹ҆͘ͳΔ Θ͚Ͱ͸ͳ͍Ͱ͢ l ࠓճ͸Ҡߦίετ͔͚ͯ΋ར͕͋Δͱͷ൑அ l #JH2VFSZͱͷ࿈ܞͱͷ͠΍͢͞ l ϚϧνϦʔδϣϯߏ੒ͷͱΓ΍͢͞

Slide 7

Slide 7 text

Ҡߦલͷߏ੒ Writer Reader Reader Service 1 Service 2 Service 3 Aurora クラスタ 別リージョン AWS VPC

Slide 8

Slide 8 text

8 Ҡߦલͷߏ੒ l %#ɺར༻αʔϏε͸ಉ͡71$಺ʹ഑ஔ l ୆ͷ"VSPSBΫϥελΛෳ਺ͷαʔϏεͰڞ༗ l σʔλϕʔε͝ͱʹߏங͢Δͱߴ͍ͷͰڞ༻ l 8SJUFSɺ3FBEFSͷ࢖͍෼͚ l 3FBEFSͷ୆਺͸ॊೈʹมߋՄೳ l ผϦʔδϣϯͷϗοτελϯόΠ l େن໛ࡂ֐࣌΁ͷඋ͑

Slide 9

Slide 9 text

Ҡߦޙʹ໨ࢦ͢ߏ੒ Writer Reader Reader Service 1 Service 2 Service 3 CloudSQL 別リージョン AWS VPC Google Cloud VPC VPN

Slide 10

Slide 10 text

10 Ҡߦޙʹ໨ࢦ͢ߏ੒ l $MPVE42-Λ(PPHMF$MPVEͷ71$಺ʹ഑ஔ l 71$ؒΛ71/Ͱ઀ଓ͠૬ޓ௨৴Ͱ͖ΔΑ͏ʹ l 4FSWJDF͸"84ଆ͔Β%#ʹΞΫηε l ॱ࣍αʔϏε΋(PPHMF$MPVE΁Ҿͬӽ͠ l %#ͷߏ੒͸"VSPSBͷͱ͖ͱ͍͍ͩͨଗ͑Δ l ผϦʔδϣϯͷϗοτελϯόΠ΋༻ҙ

Slide 11

Slide 11 text

Ҡߦͷ՝୊

Slide 12

Slide 12 text

12 σʔλϕʔεҠߦͷ՝୊ l ҠߦલޙͰσʔλͷ੔߹ੑΛͲ͏อ͔ͭ l աڈ෼ؚΊͯσʔλΛ׬શͳܗͰҠߦ͍ͨ͠ l ੾Γସ͑લޙͰܽଛ΍ෆ੔߹ͷൃੜΛ๷͍͗ͨ l Ҡߦதͷμ΢ϯλΠϜΛͲ͏཈͑Δ͔ l ΞϓϦέʔγϣϯ͸৽چͲͪΒ͔ͷ%#Λࢀর l Ҡߦ࡞ۀதͷαʔϏεӨڹΛ཈͍͑ͨ Old New

Slide 13

Slide 13 text

13 σʔλϕʔεҠߦͷํ਑ᶃ l ҠߦલޙͰσʔλͷ੔߹ੑΛͲ͏อ͔ͭ l $MPVE42-ଆʹϨϓϦΧΛߏங l .Z42-ͷϨϓϦέʔγϣϯػೳͰಉظ l 3FBEFSΠϯελϯεͱͯ͠ѻ͑ΔΑ͏ʹ l ੾Γସ͑࣌ʹ$MPVE42-ଆΛ8SJUFS΁ঢ֨ l ͜ͷͱ͖ॻ͖ࠐΈΛҰ࣌ఀࢭ͠ෆ੔߹Λ๷͙

Slide 14

Slide 14 text

14 σʔλϕʔεҠߦͷํ਑ᶄ l Ҡߦதͷμ΢ϯλΠϜΛͲ͏཈͑Δ͔ l ׬શແఀࢭ͸໨ࢦ͞ͳ͍͜ͱʹ l ແఀࢭ͸೉қ౓΋޻਺΋௓Ͷ্͕ΔͷͰɺ μ΢ϯλΠϜΛۃྗ཈͑Δํ਑ͰҠߦ l ސ٬प஌ͯ͠ϝϯςφϯε࣌ؒΛ֬อ l ॻ͖ࠐΈఀࢭಡΈࠐΈఀࢭ l ఀࢭ͢Δ৔߹΋ʮಡΈࠐΈ͚ͩ͸ੜ͖͍ͯΔʯ ঢ়ଶΛ༏ઌ͠ސ٬ͷମײΛଛͳΘͳ͍Α͏ʹ l ಡΈࠐΈ͕ੜ͖͍ͯΕ͹ಈ͍͍ͯΔΑ͏ʹݟ͑Δ

Slide 15

Slide 15 text

15 σʔλϕʔεҠߦͷํ਑ᶅ l ෳ਺ͷαʔϏεͷ%#઀ଓͷ੾Γସ͑ l Ҡߦ࣌ɺͦΕͧΕͷαʔϏεͰ੾Γସ͕͑ඞཁ l શ෦׬ྃ͢Δ·Ͱ৽͍͠%#ʹॻ͖ࠐΈͰ͖ͳ͍ l Ұ੪ʹ੾Γସ͕͑Ͱ͖Ε͹μ΢ϯλΠϜݮΒͤΔ l ˠ%/4Λ࢖ͬͯ઀ଓΛ؅ཧ l ಡΈऔΓॻ͖ࠐΈͦΕͧΕυϝΠϯׂΓ౰ͯ l %/4Λมߋ͢Ε͹઀ଓ΋੾ΓସΘΔΑ͏ʹ l ίωΫγϣϯϓʔϧͷੜଘظؒʹ஫ҙ

Slide 16

Slide 16 text

16 "VSPSB$MPVE42-ͷ՝୊ l ύϑΥʔϚϯεੑೳͷมԽ l "VSPSB͸ಠࣗʹ࠷దԽ͞Ε͍ͯΔ l ໛ٖ؀ڥͰϕϯνϚʔΫ૸Βͤͯݕূ l 3FBEFSΤϯυϙΠϯτ l ಡΈऔΓ༻ͷΤϯυϙΠϯτ͕ͳ͍ l Πϯελϯεʹ*1ϕʔεͰͷΞΫηε l 3FBEFSΛ૿΍ͨ͠ͱ͖ࣗಈͰ෼ࢄ͠ͳ͍ l ΍Δͱͨ͠Β%/4ͷϥ΢ϯυϩϏϯʜʁ

Slide 17

Slide 17 text

Ҡߦ࡞ۀ

Slide 18

Slide 18 text

18 Ҡߦखॱ "84㲗($ؒͷ71/࡞੒ $MPVE42-ͰϨϓϦΧΛ࡞੒ ಡΈऔΓૢ࡞Λ$MPVE42-ʹҠߦ ϨϓϦέʔγϣϯΛऴྃͯ͠8SJUFSʹ ॻ͖ࠐΈૢ࡞Λ$MPVE42-ʹҠߦ ผϦʔδϣϯʹϨϓϦΧ࡞੒ "VSPSBଆ͓ย෇͚

Slide 19

Slide 19 text

Service 3 खॱϨϓϦΧͷ࡞੒ Writer Reader Service 1 AWS VPC Service 3 Writer Reader Service 1 AWS VPC Reader GC VPC 移⾏前 レプリカ作成後

Slide 20

Slide 20 text

20 खॱϨϓϦΧͷ࡞੒ ($1ଆͰϨϓϦέʔγϣϯΛ࡞Δ l .Z42-ͷμϯϓΛͱͬͯ%#࡞੒ l ϨϓϦέʔγϣϯͷઃఆΛͯ͠ಉظ։࢝ l ࣮ࡍ΍Ζ͏ͱ͢Δͱ݁ߏͳखؒ %BUBCBTF.JHSBUJPO4FSWJDF %.4 Λར༻͢Δ͜ͱʹ IUUQTDMPVEHPPHMFDPNEBUBCBTFNJHSBUJPO IMKB

Slide 21

Slide 21 text

21 %BUBCBTF.JHSBUJPO 4FSWJDF l (PPHMF$MPVE͕ఏڙ͍ͯ͠Δ%.4 l .Z42-ɺ1PTUHSF42-ରԠ l ϨϓϦΧͷ࡞੒͔ΒɺҠߦ࣌ͷ੾Γ཭͠ૢ ࡞·ͰΛ൒ࣗಈԽͯ͘͠Ε͍ͯΔ l ҟͳΔछผɺόʔδϣϯͷҠߦ΋αϙʔτ l 3%4ɺ"VSPSB͔ΒϨϓϦΧΛ࡞Δ࣌͸ Ұ࣌తͳॻ͖ࠐΈఀࢭ͕࣌ؒඞཁ

Slide 22

Slide 22 text

खॱಡΈऔΓૢ࡞ͷҠߦ Service 3 Writer Reader Service 1 AWS VPC Reader GC VPC 前の状態 読み取り移⾏後 Service 3 Writer Reader Service 1 Reader GC VPC AWS VPC

Slide 23

Slide 23 text

23 खॱಡΈऔΓૢ࡞ͷҠߦ l ࡞ͬͨϨϓϦΧ΁ಡΈऔΓૢ࡞Λ੾Γସ͑ l த਎͸ಉ͡ͳͷͰαʔϏε΁ͷӨڹͳ͠ l ૢ࡞͸%/4Λॻ͖׵͑Δ͚ͩ l "VSPSBͷಡΈऔΓΤϯυϙΠϯτ $/".&Ϩίʔυ l ˠ$MPVE42-ͷΠϯελϯε*1 "Ϩίʔυ l ύϑΥʔϚϯεͳͲ໰୊ͳ͍͜ͱΛ֬ೝ l ͳʹ͔͋Ε͹͙͢໭ͤΔΑ͏ʹ

Slide 24

Slide 24 text

खॱॻ͖ࠐΈͷҠߦ AWS VPC 前の状態 書き込み移⾏後 Service 3 Writer Service 1 Writer GC VPC AWS VPC Service 3 Writer Reader Service 1 Reader GC VPC Reader

Slide 25

Slide 25 text

25 खॱॻ͖ࠐΈૢ࡞ͷҠߦ l $MPVE42-ʹಡΈॻ͖ͱ΋Ҡߦ l %.4ͷ౎߹্·ͩϨϓϦΧ͸࡞Εͳ͍ l ̍୆Ͱࡹ͚ΔΑ͏ڧΊͷεϖοΫʹ͓ͯ͘͠ l %.4ͰϓϩϞʔτૢ࡞ l ϓϩϞʔτΛ࣮ࢪ͢Δͱԡ͢ͱϨϓϦέʔγϣϯ͕ ऴྃ͠ॻ͖ࠐΈՄೳͳঢ়ଶʹ l ͜ͷͱ͖਺෼ͷॻ͖ࠐΈఀࢭ͕࣌ؒൃੜ l ॻ͖ࠐΈՄೳʹͳͬͨΒαʔϏεଆ΋੾Γସ͑

Slide 26

Slide 26 text

खॱϨϓϦΧ࡞੒ย෇͚ AWS VPC 前の状態 移⾏完了 Service 3 Service 1 Writer GC VPC Service 3 Writer Service 1 Writer GC VPC Reader AWS VPC Reader

Slide 27

Slide 27 text

27 खॱϨϓϦΧ࡞੒ย෇͚ l ϨϓϦΧΛ࡞੒ͯ͠ಡΈࠐΈΛมߋ l ϓϩϞʔτޙ͸௨ৗͷ$MPVE42-ʹͳΔ l ϝΠϯͷϦʔδϣϯͱϗοτελϯόΠ༻ʹผ ϦʔδϣϯͰϨϓϦΧΛ࡞੒ l Πϯελϯεͷ*1͕ݟ͑ͨΒ%/4ॻ͖׵͑ͯಡ ΈࠐΈΛ੾Γସ͑ l "VSPSBΛย෇͚ͯ׬ྃ l ා͍ͷͰ̍िؒ͘Β͍༷ࢠΈ͔ͯΒ࡟আ͠·ͨ͠

Slide 28

Slide 28 text

28 Ҡߦͯ͠Έͯ l %.4ɺ%/4ͷ׆༻Ͱগͳ͍μ΢ϯλ ΠϜͰҠߦ͕׬ྃͰ͖ͨ l ̑෼ఔ౓ͷॻ͖ࠐΈͷఀࢭY̎ճ l ਺ඵఔ౓ͷಡΈࠐΈఀࢭY̎ճ l ੑೳ໘Ͱ΋τϥϒϧͳ͘ҠߦͰ͖ͨ l Ҡߦݕ౼࣌ؾ͕͔ΓͳεϩʔΫΤϦ΋͕͋ͬͨ ಛʹωοΫʹͳΔ͜ͱͳ͘ಈ͍͍ͯΔ l ॻ͖ࠐΈϔϏʔͰͳ͍ͷ͕޾͍͔ͨ͠΋

Slide 29

Slide 29 text

·ͱΊ

Slide 30

Slide 30 text

30 ·ͱΊ l "VSPSB͔Β$MPVE42-ʹҠߦͰ͖ͨ l μ΢ϯλΠϜΛݮΒ͢޻෉ l ಡΈࠐΈܥ౷Λۃྗҡ࣋ l %/4Λར༻ͨ͠ૉૣ͍੾Γସ͑ l %.4ͷ׆༻ l खؒͷ͔͔ΔҠߦ࡞ۀΛলྗԽ

Slide 31

Slide 31 text

31 ςοΫϒϩά l ฐٕࣾज़ϒϩάʹ΋Ҡߦʹؔͯ͠ͷ هࣄॻ͍ͯ·͢ IUUQTUFDIKYQSFTTOFUFOUSZHDQ@EBUBCBTF@NJHSBUJPO l ϒϩάͷ಺༰ͦͷ··ൃද͢Δͭ΋ΓͰ͕ͨ͠ɺ -5޲͚ʹ·ͱΊ͍ͯͨΒ͍ͩͿத਎͔ΘΓ·ͨ͠

Slide 32

Slide 32 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ JX PRESS Engineer Guide https://engineer-guide.jxpress.net/