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

データ移行について 〜大規模メディアJamstackリニューアルでヘッドレスCMSにデータ移行した件〜

itoudium
February 22, 2023

データ移行について 〜大規模メディアJamstackリニューアルでヘッドレスCMSにデータ移行した件〜

at ジャムスタックチョットデキル!! シブヤ!!

ちょっと株式会社では、最近、大型メディアをJamstackにリニューアルするプロジェクトを請け負いました。
その、Jamstackシステムの裏側、データ移行の部分について、実際の経験をお話しします。

ちょっと株式会社
https://chot-inc.com/

ジャムスタックチョットデキル!! シブヤ!!
https://chot.connpass.com/event/272088/

itoudium

February 22, 2023
Tweet

Other Decks in Programming

Transcript

  1. σʔλҠߦʹ͍ͭͯ
    ʙେن໛ϝσΟΞ+BNTUBDLϦχϡʔΞϧͰ
    ϔουϨε$.4ʹσʔλҠߦͨ݅͠ʙ
    ͪΐͬͱגࣜձࣾΤϯδχΞҏ౻େ஌!JUPVEJVN
    BUδϟϜελοΫνϣοτσΩϧ

    View Slide

  2. σʔλҠߦʹ͍ͭͯ
    +BNTUBDLγεςϜͷཪଆɺ
    σʔλҠߦʹ͍ͭͯɺ࣮ࡍͷܦݧΛ
    ͓࿩͠͠·͢ɻ

    View Slide

  3. w ೥Ҏ্ӡӦ
    w Ҡߦͨ͠هࣄສ݅ۙ͘
    w ʢશମͷσʔλͱϖʔδ਺͸͞Βʹ๲େʣ
    w Ҡߦͨࣸ͠ਅສ݅ۙ͘
    w ෳࡶͳσʔλϕʔε
    w ೔ʹهࣄҎ্
    ࠓճͷΫϥΠΞϯτ
    IUUQTXXXBMCBDPKQ

    View Slide

  4. σʔλҠߦʹ͍ͭͯ
    5BCMFPGDPOUFOUT
    σʔλҠߦͷ໨౰ͯ
    Ҡߦͷϓϥϯχϯά
    σʔλҠߦͷ࡞ΓࠐΈ
    ৼΓฦΓ 5*14
    1BSU
    1BSU
    1BSU
    1BSU

    View Slide

  5. σʔλҠߦͷ໨౰ͯ
    1BSU

    View Slide

  6. σʔλҠߦͱ͸
    +BNTUBDL։ൃ͸ɺ৽ن͚ͩͰͳ͘
    ϦχϡʔΞϧ΋ଟ͍
    چγεςϜ͔Βɺ৽͍͠γεςϜʹɺσʔλΛٵ͍ग़ͯ͠Ҡߦ͠
    ·͢ɻ

    View Slide

  7. ʢҰൠతʹɾɾɾʣ
    +BNTUBDL΁ͷϦχϡʔΞϧͷಓے
    σʔλҠߦ͚͕ͩखஈͰ͸ͳ͍ɻ
    1SPT $POT
    σʔλΛҠߦ
    ϔουϨε$.4ͷԸܙΛڗड
    ʢྫηΩϡϦςΟ΍ฤूମݧʣ
    σʔλͷ݅਺YಠࣗੑͰ
    ೉қ౓͕௓Ͷ্͕Δ
    چγεςϜʹ
    "1*ΛΞυΦϯ
    ಋೖ͕༰қ
    γεςϜઃܭෳࡶ
    $.4͸ͦͷ··
    Ҡߦͤͣʹ
    ৐Γ׵͑
    ࠷దԽͯ͠࠶ઃܭͰ͖Δ طଘࢿ࢈Λ૕ࣦ

    View Slide

  8. ࠓճͷߏ੒
    wهࣄɺը૾ͱ͍ͬͨίϯςϯπΛNJDSP$.4ʹҠߦ
    wը૾͸ɺ਺͕ଟ͗͢ΔͷͰɺ৽نɾಠࣗͷը૾؅ཧγεςϜΛߏங
    w7FSDFM΍JNHJYͳͲͷը૾ม׵ɾ഑৴Ͱ͸ίετա৒
    wࢼ߹σʔλͳͲͷυϝΠϯσʔλ͸Ҡߦ͠ͳ͍
    wෳࡶͳσʔλ࿈ܞ͕͋Δ
    wچγεςϜ΁ͷ"1*௥Ճ͸ɺΫϥΠΞϯτ΍چϕϯμʔʹ΍ͬͯ΋Β͏
    ʢϓϩδΣΫτશମͰ͸ʣ
    σʔλҠߦͱɺ"1*ΞυΦϯΛ.*9͢Δߏ੒

    View Slide

  9. ࠓճͷߏ੒

    View Slide

  10. Ҡߦͷϓϥϯχϯά
    ͲͷΑ͏ʹҠߦ͢Δͷ͔
    1BSU

    View Slide

  11. Ҡͤ͹ऴΘΓͬͯΘ͚͡Όͳ͍
    Ҡߦઓུ
    w ͍ͭ৽$.4ʹΦϖϨʔγϣϯΛҠ͢ͷ͔
    w ฤूऀʢΤσΟλɺΦϖϨʔλʣͷτϨʔχϯά
    w ֎෦࿈ܞ΋བྷΉɻ164)ܕχϡʔε഑৴
    w μ΢ϯλΠϜ͓Αͼߋ৽ෆՄ࣌ؒ
    w هࣄ഑৴͸ੜ໋ઢɻͳΔ΂͘୹͍΄͏͕ྑ͍
    ͲͷσʔλΛɺͲ͏΍ͬͯҠ͢ͷ͔
    ෳࡶͳҊ݅Ͱ͸ɺ৻ॏʹઓུΛཱͯͳ͚Ε͹͍͚ͳ͍

    View Slide

  12. ੾Γସ͑ͷύλʔϯྫ
    Ϗοάόϯܕ
    w දͷαΠτΛ੾Γସ͑ΔλΠϛϯάͰɺ$.4΋੾Γସ͑
    w γϯϓϧ͕ར఺
    w େن໛σʔλͰ͸ϦεΫߴ

    View Slide

  13. ੾Γସ͑ͷύλʔϯྫ
    ೋॏӡ༻ܕ
    w ҠߦϦεΫΛܰݮ
    w ӡ༻໘΍ɺ֎෦࿈ܞ໘
    w ΦϖϨʔγϣϯෛ୲
    w ൥ࡶͰ៛ີͳਐߦ؅ཧ͕ඞཁ

    View Slide

  14. ࠓճ࠾༻
    ࠩ෼ܕ
    w ϋΠϖʔεͳهࣄ഑৴͕αΠτͷੜ໋ઢɻ࠷খͷϑϦʔζظؒ
    w ೔ʑɺࠩ෼ʢهࣄͷ௥Ճɾमਖ਼ɾ࡟আʣΛҠߦ
    w ೋॏӡ༻΄ͲͰ͸ͳ͍͚ͲɺҠߦϦεΫΛܰݮ
    w ͨͩ͠ɺෳࡶͳσʔλҠߦγεςϜ

    View Slide

  15. ٕज़తͳௐࠪ
    4PVSDFଆ
    %FTUJOBUJPOଆ
    Ҡߦϓϥϯχϯά

    View Slide

  16. ࣮ࡍʹσʔλΛҠ͢෦෼
    ٕज़తͳ໰୊
    4PVSDF
    w Ͳ͏΍ͬͯσʔλΛऔΓࠐΉͷ͔
    w υϝΠϯΤΩεύʔτͱ࿈ܞ
    w ՄೳͳΒɺ͓٬ʹσʔλΛΤΫεϙʔτͯ͠΋Β͏ɻʢݱ࣮͸೉͍ͩ͠Ζ͏ʣ
    w ࠓճ͸ɾɾɾ
    w 71/
    w σʔλϕʔε 3%#.4
    ͔Β௚઀ʢεϧʔϓοτ˒˒˒˒ʣ
    w 44)Ͱը૾σʔλΛऔಘʢεϧʔϓοτ˒˒˒˒ʣ

    View Slide

  17. ࣮ࡍʹσʔλΛҠ͢෦෼
    ٕज़తͳ໰୊
    %FTUJOBUJPO
    w NJDSP$.4
    w "1*ͷௐࠪʢεϧʔϓοτ˒˒ˑˑʣ
    w ࠓճ͸ϏϧτΠϯͷΠϯϙʔτػೳ͸ϛεϚον
    w Φʔτϝʔγϣϯ QMBZXSJHIUͳͲ
    ʢεϧʔϓοτ˒ˑˑˑʣ
    w "1*ͰରԠͰ͖ͳ͍෦෼ʹඞཁ
    w ը૾؅ཧγεςϜ "844%,
    ʢεϧʔϓοτ˒˒˒ˑʣ
    εϧʔϓοτ΋ॏཁɻͱ͘ʹϔουϨε$.4͸Ұൠʹ
    τϨʔυΦϑʹΑΓ݁Ռ8SJUFੑೳ͕௿͍͜ͱ͕ଟ͍

    View Slide

  18. ίϛϡχέʔγϣϯͷͨΊͷாථ
    ରԠද
    2"ද
    Ҡߦϓϥϯχϯά

    View Slide

  19. σʔλҠߦͷ࡞ΓࠐΈ
    1BSU

    View Slide

  20. σʔλҠߦγεςϜͷઃܭ
    ͶΒ͍
    w ࠩ෼ద༻͍ͨ͠
    w ͱʹ͔͘ૣ͘ຊ൪૬౰ͷσʔλΛೖΕ͍ͨ
    w EFTUଆͷॻ͖ࠐΈύϑΥʔϚϯε͕ߴ͘ແ͍
    w چγεςϜ΁ͷΞΫηε͸໘౗
    w ϓϥΠϕʔτɾωοτϫʔΫ಺ʹ͋Δ
    w ಛʹNJDSP$.4ॻ͖ࠐΈɺमਖ਼Λ༰қʹͰ͖Δઃܭʹ͍ͨ͠

    View Slide

  21. ࠓճͷҠߦγεςϜͷΞʔΩςΫνϟ
    w 5ZQF4DSJQUͰίʔσΟϯά
    w ᶃ ᶄ ᶅͦΕͧΕಠཱ
    w 42-ΛͳΔ΂͘ॻ͔ͳ͍͜ͱΛ໨ࢦͨ͠
    w ࠷΋ख͕͔͔ؒΔʮᶅ*NQPSUFSʯͷ࡞
    ΓࠐΈ͕༰қͳߏ଄ɻ
    چ%#͔ΒσʔλΛٵ͍ग़ͯ͠ϑΝΠ
    ϧԽ
    தؒϑΝΠϧΛݩʹը૾ͷ෺ཧύε
    ׂΓग़͠ɻTGUQͰٵ͍ग़͠ɺ"84ʹ
    సૹ
    தؒϑΝΠϧΛՃ޻͠ɺࠩ෼νΣο
    ΫΛ͠ͳ͕ΒNJDSP$.4ʹॻ͖ࠐΈ
    εςοϓ
    ͶΒ͍

    View Slide

  22. εέδϡʔϧɺஈऔΓ
    w ҠߦγεςϜͷΞʔΩςΫνϟ͕Ͱ͖ͨ
    w ࣮ࡍʹϓϩτλΠϓ͕ಈ͖ɺ໨ॲ͕͍͖ͭͯͨ
    w 1.ͱڠྗͯ͠ɺϩʔϯν·ͰͷৄࡉͳஈऔΓΛͭΊ͍͖ͯ·͢

    View Slide

  23. ࠩ෼Ξοϓσʔτ
    εέδϡʔϧͷΠϝʔδ
    ҠߦγεςϜͷ։ൃ
    ͍͍݄ͩͨ

    খࠁΈʹࠩ෼Ҡߦ
    %BJMZ.JHSBUJPO
    ͍͍݄ͩͨ
    چ$.4ϑϦʔζʢೖߘఀࢭʣ˒
    ϩʔϯν˒
    'JOBM.JHSBUJPO˒
    UJNFˠ
    w ϩʔϯν௚લ·Ͱچ$.4Λ࢖͏
    w $.4ͷೋॏӡ༻͕ແ͍఺͸ɺγϯϓϧͰ͏Ε͍͠
    w ࠩ෼Ξοϓσʔτͷ͓͔͛Ͱ࠷খͷϑϦʔζظؒ
    w 'JOBMNJHSBUJPOͰ͸ɺ࠷খݶͷࠩ෼ͷΈҠߦ͢Δʢ͍ܰʣ
    ˒ϓϩδΣΫτத൫
    ˒ςετσʔλͷআڈ
    "QQ αΠτຊମ
    ͷ։ൃ

    View Slide

  24. ৼΓฦΓ
    1BSU

    View Slide

  25. ৼΓฦΓ
    ,FFQ
    w ੒ޭ͔Ͳ͏͔Ͱݴ͑͹ɺ·͋·͋੒ޭ͔ͳ
    w ࠩ෼ΞοϓσʔτͷஈऔΓ΍ɺγεςϜ͸ɺҙਤ௨Γ
    w ʢࠓճͷέʔεͰ͸ɺ΋͠΋શσʔλҠߦ͢ΔͳΒ਺೔Λཁͨ͠ɻ
    ͦ͜Λେ෯୹ॖ͠ɺϦεΫ੍ޚΛͰ͖ͨʣ

    View Slide

  26. ৼΓฦΓ
    5SZ
    w ϚΠφʔτϥϒϧ͸ଟ͔ͬͨ
    w Ҡߦ݁ՌͷνΣοΫ͔ͳΓ؁͔ͬͨ
    w ϩʔϯν௚લ·Ͱ߄͔ͨͩͬͨ͠
    w λεΫख཭Ε͕ѱ͍
    w %BJMZNJHSBUJPO΋͋Δɻϩʔϯν·Ͱͣͬͱଓ͘

    View Slide

  27. ৼΓฦΓ
    5SZ
    w εΫϦϓτͰ*NQPSUFS&YQPSUFSͱ͍͏໊લ͸΍ΊΖ
    w Ͳ͕ͬͪ*OͰͲ͕ͬͪ&Y͔Θ͔Βͣࠞཚ͢Δ
    w 3FBE8SJUF΋ಉ༷
    w Կ͕ओମ͔ʹΑͬͯҙຯ͕มΘΔ

    View Slide

  28. ͍͔͕Ͱ͔ͨ͠
    ສೳͳҠߦํ๏͸ແ͍
    ϓϩδΣΫτʹ߹ΘͤͨҠߦઃܭΛ͠·͠ΐ͏
    ͪΐͬͱࣾͰ͸ɺࠓճͷΑ͏ʹɺ
    +BNTUBDLͷϑϩϯτΤϯυҎ֎ͷ
    ྖҬ΋औΓ૊ΜͰ͍·͢ɻ

    View Slide

  29. ͓͠·͍
    🤗

    View Slide