Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サービスへの影響を抑えてデータベースの移行を実施したはなし Aurora MySQL -> Cloud SQL

kimihiro_n
September 24, 2023

サービスへの影響を抑えてデータベースの移行を実施したはなし Aurora MySQL -> Cloud SQL

2023/09/26
「データベース移行のウラガワ- 円滑なリリースのために取り組んだLT」
にて発表予定のスライドです。
https://findy.connpass.com/event/294868/

kimihiro_n

September 24, 2023
Tweet

More Decks by kimihiro_n

Other Decks in Technology

Transcript

  1. 6 2ͳͥҾͬӽ͢ͷ͔ l "େਓͷࣄ৘ l τʔλϧͰΈͨͱ͖ͷίετ l ར༻έʔεʹڧ͘ґଘ͢ΔͷͰҰ֓ʹ҆͘ͳΔ Θ͚Ͱ͸ͳ͍Ͱ͢ l

    ࠓճ͸Ҡߦίετ͔͚ͯ΋ར͕͋Δͱͷ൑அ l #JH2VFSZͱͷ࿈ܞͱͷ͠΍͢͞ l ϚϧνϦʔδϣϯߏ੒ͷͱΓ΍͢͞
  2. Ҡߦલͷߏ੒ Writer Reader Reader Service 1 Service 2 Service 3

    Aurora クラスタ 別リージョン AWS VPC
  3. Ҡߦޙʹ໨ࢦ͢ߏ੒ Writer Reader Reader Service 1 Service 2 Service 3

    CloudSQL 別リージョン AWS VPC Google Cloud VPC VPN
  4. 14 σʔλϕʔεҠߦͷํ਑ᶄ l Ҡߦதͷμ΢ϯλΠϜΛͲ͏཈͑Δ͔ l ׬શແఀࢭ͸໨ࢦ͞ͳ͍͜ͱʹ l ແఀࢭ͸೉қ౓΋޻਺΋௓Ͷ্͕ΔͷͰɺ μ΢ϯλΠϜΛۃྗ཈͑Δํ਑ͰҠߦ l

    ސ٬प஌ͯ͠ϝϯςφϯε࣌ؒΛ֬อ l ॻ͖ࠐΈఀࢭಡΈࠐΈఀࢭ l ఀࢭ͢Δ৔߹΋ʮಡΈࠐΈ͚ͩ͸ੜ͖͍ͯΔʯ ঢ়ଶΛ༏ઌ͠ސ٬ͷମײΛଛͳΘͳ͍Α͏ʹ l ಡΈࠐΈ͕ੜ͖͍ͯΕ͹ಈ͍͍ͯΔΑ͏ʹݟ͑Δ
  5. 15 σʔλϕʔεҠߦͷํ਑ᶅ l ෳ਺ͷαʔϏεͷ%#઀ଓͷ੾Γସ͑ l Ҡߦ࣌ɺͦΕͧΕͷαʔϏεͰ੾Γସ͕͑ඞཁ l શ෦׬ྃ͢Δ·Ͱ৽͍͠%#ʹॻ͖ࠐΈͰ͖ͳ͍ l Ұ੪ʹ੾Γସ͕͑Ͱ͖Ε͹μ΢ϯλΠϜݮΒͤΔ

    l ˠ%/4Λ࢖ͬͯ઀ଓΛ؅ཧ l ಡΈऔΓॻ͖ࠐΈͦΕͧΕυϝΠϯׂΓ౰ͯ l %/4Λมߋ͢Ε͹઀ଓ΋੾ΓସΘΔΑ͏ʹ l ίωΫγϣϯϓʔϧͷੜଘظؒʹ஫ҙ
  6. 16 "VSPSB$MPVE42-ͷ՝୊ l ύϑΥʔϚϯεੑೳͷมԽ l "VSPSB͸ಠࣗʹ࠷దԽ͞Ε͍ͯΔ l ໛ٖ؀ڥͰϕϯνϚʔΫ૸Βͤͯݕূ l 3FBEFSΤϯυϙΠϯτ

    l ಡΈऔΓ༻ͷΤϯυϙΠϯτ͕ͳ͍ l Πϯελϯεʹ*1ϕʔεͰͷΞΫηε l 3FBEFSΛ૿΍ͨ͠ͱ͖ࣗಈͰ෼ࢄ͠ͳ͍ l ΍Δͱͨ͠Β%/4ͷϥ΢ϯυϩϏϯʜʁ
  7. Service 3 खॱϨϓϦΧͷ࡞੒ Writer Reader Service 1 AWS VPC Service

    3 Writer Reader Service 1 AWS VPC Reader GC VPC 移⾏前 レプリカ作成後
  8. 21 %BUBCBTF.JHSBUJPO 4FSWJDF l (PPHMF$MPVE͕ఏڙ͍ͯ͠Δ%.4 l .Z42-ɺ1PTUHSF42-ରԠ l ϨϓϦΧͷ࡞੒͔ΒɺҠߦ࣌ͷ੾Γ཭͠ૢ ࡞·ͰΛ൒ࣗಈԽͯ͘͠Ε͍ͯΔ

    l ҟͳΔछผɺόʔδϣϯͷҠߦ΋αϙʔτ l 3%4ɺ"VSPSB͔ΒϨϓϦΧΛ࡞Δ࣌͸ Ұ࣌తͳॻ͖ࠐΈఀࢭ͕࣌ؒඞཁ
  9. खॱಡΈऔΓૢ࡞ͷҠߦ Service 3 Writer Reader Service 1 AWS VPC Reader

    GC VPC 前の状態 読み取り移⾏後 Service 3 Writer Reader Service 1 Reader GC VPC AWS VPC
  10. 23 खॱಡΈऔΓૢ࡞ͷҠߦ l ࡞ͬͨϨϓϦΧ΁ಡΈऔΓૢ࡞Λ੾Γସ͑ l த਎͸ಉ͡ͳͷͰαʔϏε΁ͷӨڹͳ͠ l ૢ࡞͸%/4Λॻ͖׵͑Δ͚ͩ l "VSPSBͷಡΈऔΓΤϯυϙΠϯτ

    $/".&Ϩίʔυ l ˠ$MPVE42-ͷΠϯελϯε*1 "Ϩίʔυ l ύϑΥʔϚϯεͳͲ໰୊ͳ͍͜ͱΛ֬ೝ l ͳʹ͔͋Ε͹͙͢໭ͤΔΑ͏ʹ
  11. खॱॻ͖ࠐΈͷҠߦ AWS VPC 前の状態 書き込み移⾏後 Service 3 Writer Service 1

    Writer GC VPC AWS VPC Service 3 Writer Reader Service 1 Reader GC VPC Reader
  12. 25 खॱॻ͖ࠐΈૢ࡞ͷҠߦ l $MPVE42-ʹಡΈॻ͖ͱ΋Ҡߦ l %.4ͷ౎߹্·ͩϨϓϦΧ͸࡞Εͳ͍ l ̍୆Ͱࡹ͚ΔΑ͏ڧΊͷεϖοΫʹ͓ͯ͘͠ l %.4ͰϓϩϞʔτૢ࡞

    l ϓϩϞʔτΛ࣮ࢪ͢Δͱԡ͢ͱϨϓϦέʔγϣϯ͕ ऴྃ͠ॻ͖ࠐΈՄೳͳঢ়ଶʹ l ͜ͷͱ͖਺෼ͷॻ͖ࠐΈఀࢭ͕࣌ؒൃੜ l ॻ͖ࠐΈՄೳʹͳͬͨΒαʔϏεଆ΋੾Γସ͑
  13. खॱϨϓϦΧ࡞੒ย෇͚ AWS VPC 前の状態 移⾏完了 Service 3 Service 1 Writer

    GC VPC Service 3 Writer Service 1 Writer GC VPC Reader AWS VPC Reader
  14. 27 खॱϨϓϦΧ࡞੒ย෇͚ l ϨϓϦΧΛ࡞੒ͯ͠ಡΈࠐΈΛมߋ l ϓϩϞʔτޙ͸௨ৗͷ$MPVE42-ʹͳΔ l ϝΠϯͷϦʔδϣϯͱϗοτελϯόΠ༻ʹผ ϦʔδϣϯͰϨϓϦΧΛ࡞੒ l

    Πϯελϯεͷ*1͕ݟ͑ͨΒ%/4ॻ͖׵͑ͯಡ ΈࠐΈΛ੾Γସ͑ l "VSPSBΛย෇͚ͯ׬ྃ l ා͍ͷͰ̍िؒ͘Β͍༷ࢠΈ͔ͯΒ࡟আ͠·ͨ͠
  15. 28 Ҡߦͯ͠Έͯ l %.4ɺ%/4ͷ׆༻Ͱগͳ͍μ΢ϯλ ΠϜͰҠߦ͕׬ྃͰ͖ͨ l ̑෼ఔ౓ͷॻ͖ࠐΈͷఀࢭY̎ճ l ਺ඵఔ౓ͷಡΈࠐΈఀࢭY̎ճ l

    ੑೳ໘Ͱ΋τϥϒϧͳ͘ҠߦͰ͖ͨ l Ҡߦݕ౼࣌ؾ͕͔ΓͳεϩʔΫΤϦ΋͕͋ͬͨ ಛʹωοΫʹͳΔ͜ͱͳ͘ಈ͍͍ͯΔ l ॻ͖ࠐΈϔϏʔͰͳ͍ͷ͕޾͍͔ͨ͠΋