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

Cloudflare Workers + R2で低コストで画像配信を移行した話/cloudflare_workers_r2_migration

Cloudflare Workers + R2で低コストで画像配信を移行した話/cloudflare_workers_r2_migration

Workers Tech Talks #1 #workers_tech
https://workers-tech.connpass.com/event/287490/
で発表した
「Cloudflare Workers + R2で低コストで画像配信を移行した話」の資料になります。

元ネタになった記事は以下になります。
https://qiita.com/teckl/items/4314aa210a689d08e759

Shigeki SUGAI

July 19, 2023
Tweet

More Decks by Shigeki SUGAI

Other Decks in Technology

Transcript

  1. !UFDLM
    $MPVEGMBSF8PSLFST3Ͱ
    ௿ίετͰը૾഑৴ΛҠߦͨ͠࿩
    8PSLFST5FDI5BMLT
    IUUQTXPSLFSTUFDIDPOOQBTTDPNFWFOU

    View Slide

  2. ࣗݾ঺հ
    w !UFDLMʢͯͬ͘Δʣ
    w γʔαʔגࣜձࣾͰ1FSMͷαʔϏεΛத৺ʹΠϯϑϥతͳ͓कΓΛͨ͠Γɺ
    ഇᆣΛ௚ͨ͠ΓɺσʔλҠߦͳͲͷࡶ༻Λͨ͠Γ͍ͯ͠·͢
    w ࠷ۙͷझຯɿϫʔέʔγϣϯ ౶੍࣭ݶ
    w ϦϞʔτϫʔΫͰϚϯωϦԽͨ࣌͠͸ϫʔέʔγϣϯ͕࠷ߴͰ͢ʂ
    w ཱྀઌͰ΋౶࣭ͷऔΓ͗͢ʹ͸͘Ε͙Ε΋஫ҙ͠·͠ΐ͏ʜ

    View Slide

  3. ॕ✨8PSLFST5FDI5BMLT
    ࠓճͷൃද͸ࠓ೥݄ʹʮ٢঵ࣉQNʯͱ͍͏ΠϕϯτͰൃදͨ͠ωλͷՃචɾ
    ࠶ฤू൛ʹͳΓ·͢ɻ
    ͜ͷ࿩͸ҎԼͷهࣄʹৄ͘͠·ͱΊ͍ͯ·͕͢ɺࠓճ͸͜͜ʹग़͍ͯͳ͍Ҡߦޙͷ
    ௥Ճͷ಺༰ͳͲ΋৫Γަͥͯ঺հ͠·͢ɻ
    $MPVE'SPOU4؀ڥΛ$MPVEGMBSF38PSLFST؀ڥʹҠߦͨ͠࿩
    IUUQTRJJUBDPNUFDLMJUFNTBBBEF

    View Slide

  4. ࠓճͷςʔϚ
    ࠓ೥ͷ݄ࠒ·ͰऔΓ૊ΜͰ͍ͨ
    ʮ๭8αʔϏεͷը૾഑৴Λ$MPVEGMBSF8PSLFST3؀ڥʹҠߦͨ͠࿩ʯʹ
    ͍ͭͯ঺հ͍͖ͤͯͨͩ͞·͢ɻ
    ΠϯϑϥدΓͷ3΁ͷҠߦͷ࿩͕த৺Ͱ͢
    ίʔυ͸΄ͱΜͲग़͖ͯ·ͤΜ
    $MPVE'SPOU4Λར༻͍ͯ͠Δํ޲͚ͷҰͭͷϢʔεέʔεͱͯ͠঺հ͍ͤͯ͞
    ͖ͨͩ·͢

    View Slide

  5. ΞδΣϯμ
    w $MPVE
    fl
    BSF8PSLFSTͱ͸
    w $MPVE
    fl
    BSF3ͱ͸
    w Ҡߦ͢ΔࣄʹͳͬͨܦҢ
    w Ҡߦલͷߏ੒
    w ҠߦͷྲྀΕ
    w ·ͱΊ

    View Slide

  6. $MPVEGMBSF8PSLFSTͱ͸
    w IUUQTXXXDMPVE
    fl
    BSFDPNKBKQQSPEVDUTXPSLFST
    w αʔόϨε 'BB4

    w -BNCEB!&EHF $MPVG'SPOU'VODUJPOTΈ͍ͨͳ΍ͭʢࡶʣ
    w +BWB4DSJQU 7
    ͳͲ͕ಈ࡞
    w 4FSWJDF8PSLFS͕ಈ͘
    w ؆୯ͳ,7ʢLFZWBMVFʣͷΩϟογϡػೳ
    w ؆୯ͳΞϓϦέʔγϣϯͳΒαʔόϨεͰՄೳ

    View Slide

  7. $MPVEGMBSF8PSLFSTͱ͸
    w ࠓճͷΠϕϯτͰ͸طʹ8PSLFSTΛࣗ෼Ҏ্ʹ࢖͍ͬͯΔํʑ͕ଟ͍ͱࢥ͍
    ·͢ͷͰɺ͜Ε͸লུ͠·͆͢

    View Slide

  8. $MPVEGMBSF3ͱ͸
    w IUUQTXXXDMPVE
    fl
    BSFDPNKBKQQSPEVDUTS
    w "NB[PO4ޓ׵ͷΦϒδΣΫτετϨʔδ
    w ΤάϨεྉ͕ۚແྉ
    w 4ͱൺ΂ͯ͞Βʹ௿ίετ
    w 4ͱҧ͍ɺϦʔδϣϯͷ֓೦͸ແ͍
    w 8PSLFSTͱͷ࿈ܞ͕؆୯

    View Slide

  9. $MPVEGMBSF3ͷඅ༻ײ
    w 4ͱൺֱͯ͠ͲΕ͚ͩ҆͘ͳΔͷ͔ʁ
    w 31SJDJOH$BMDVMBUPS
    w IUUQTSDBMDVMBUPSDMPVE
    fl
    BSFDPN
    w Ϣʔεέʔεʹ΋ΑΔ͕ɺίετѹॖޮՌ͕ߴ͘ͳΔ͜ͱ͕ݟࠐ·ΕΔ
    w ྉۚମܥ͕ඇৗʹγϯϓϧ
    w 4ޓ׵ͳͷͰσʔλҠߦ΋ൺֱత༰қ

    View Slide

  10. $MPVEGMBSF3ͷ஫ҙ఺
    w ͦͷҰํͰ·ͩ৽͍͠αʔϏεͷͨΊɺࡉ͔͍ػೳͰ଍Γͳ͍Օॴ͕͋Δ
    w *".΍τʔΫϯ୯ҐͰࡉ͔͍ΞΫηε੍ޚ͕ߦ͑ͳ͍
    w όέοτͷόʔδϣχϯάͳͲ͸ݱঢ়ແ͠
    w "NB[PO4(MBDJFSͷΑ͏ͳετϨʔδΫϥεͷ֓೦͸ଘࡏ͠ͳ͍
    w ্هʹ౰ͯ͸·Βͳ͍৔߹͸ݕ౼ʹ஋͢ΔͷͰ͸ແ͍͔ͱ

    View Slide

  11. $MPVEGMBSF8PSLFST3ʹҠߦ͢Δࣄʹͳͬͨཧ༝
    w ࡢࠓͷٸܹͳԁ҆ͷӨڹʹΑΔίετ૿Ճ΁ͷରࡦ͕ඞਢʹ
    w τϥϑΟοΫͱετϨʔδίετΛগ͠Ͱ΋҆͘཈͍͑ͨͱ͍͏໨త
    w 3͸4ޓ׵Ͱίετ࡟ݮ͕ظ଴ग़དྷΔ఺͔Βϕʔλ൛ൃද͔࣌Β஫໨͍ͯͨ͠
    w ·ͩ·ͩ("͞Εͨ͹͔ΓͰ࣮ࡍͷࣄྫ΋গͳ͘ɺॳ෺͸গʑා͍ͱ͜Ζ͸͋ͬ
    ͕ͨɺνϟϨϯδ͢ΔՁ஋͕͋Δͱߟ͑ͨ
    w ࣮ࡍʹͲΕ͚ͩ҆͘ͳΔ͔Ͳ͏͔͸Ϣʔεέʔε࣍ୈͳͷͰ஫ҙ͕ͩɺࠓճͷέ
    ʔεͰ͸େ͖ͳίετ࡟ݮޮՌ͕͋ͬͨ

    View Slide

  12. Ҡߦલͷߏ੒
    w 4OHJOY &$
    ʹΑΔଟஈߏ੒
    w OHJOYDPOG͕ॳݟࡴ͠
    w #BTJDೝূͷػೳͷ͓͔͛Ͱ݁ߏཪଆ͕ෳࡶͳࣄʹ
    ͳ͍ͬͯͨ
    w ཁ݅తʹ63-શͯʹରͯ͠ػցతͳ൑ఆ͕ग़དྷͣɺ
    /[email protected]Ͱ63-ຖʹ൑ఆ͍ͤͯͨ͞
    w $%/Ҏ֎ʹ΋ೝূج൫Λҡ࣋͢Δίετ͕͔͔ͬ
    ͍ͯͨͨΊɺ$MPVE
    fl
    BSFҠߦΛػʹ#BTJDೝূػೳ
    ͸ഇࢭͯ͠γϯϓϧͳߏ੒ʹ͢Δࣄʹ

    View Slide

  13. ҠߦͷྲྀΕ

    View Slide

  14. ҠߦͷྲྀΕ
    8PSLFSTػೳ࣮૷
    ΞϓϦέʔγϣϯ͔Β4ͱ3΁ͷμϒϧϥΠτ࣮૷
    43΁ͷϑϧίϐʔ
    ੔߹ੑνΣοΫ
    Ωϟογϡύʔδͷ࣮૷
    ϩΪϯά
    ੾Γସ͑ʢ/4ͷҕ೚ʣ
    ࢒࡞ۀ
    Ҡߦޙʹ൑໌ͨ͠໰୊

    View Slide

  15. 8PSLFSTػೳ࣮૷

    View Slide

  16. 8PSLFSTػೳ࣮૷
    ͦ΋ͦ΋3഑৴Ͱ8PSLFSTΛ࢖͏΂͖͔ʁ
    w ͷ3ͷ("ͷλΠϛϯάͰɺެ։όέοτ 1VCMJDCVDLFUT
    ͱ͍͏ػೳ͕ఏڙ͞ΕΔ
    Α͏ʹͳͬͨͨΊɺγϯϓϧͳόέοτͷެ։͚ͩͰ͋Ε͹8PSLFSTΛ௨͞ͳͯ͘΋഑৴Ͱ͖
    ΔΑ͏ʹͳ͍ͬͯͨ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSCVDLFUTQVCMJDCVDLFUT
    w ύεͷϚοϐϯά͕γϯϓϧͳ৔߹͸ɺ8PSLFSTΛ࢖Θͣͱ΋3FXSJUF63-3VMFT͚ͩͰे෼
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSVMFTUSBOTGPSNVSMSFXSJUFFYBNQMFT
    w ͔͠͠ɺݱࡏར༻͍ͯ͠Δฐࣾ4ͷόέοτ͸ΦϯϓϨͷϑΝΠϧαʔό࣌୅͔Βଓͪ͘ΐͬ
    ͱ໽հͳύεߏ੒ʢޙड़ʣʹͳ͓ͬͯΓɺެ։όέοτػೳͦͷ··Ͱ͸࢖͑ͳ͍͜ͱ͕൑໌

    View Slide

  17. 8PSLFSTػೳ࣮૷
    Ҡߦલͷը૾63-ͱόέοτͷΠϝʔδ
    63-
    IUUQTIPHFIPHFFYBNQMFOFUJNBHFIFMMPKQH
    IUUQTUFTUTVCEPNBJOFYBNQMFOFUJNBHFBCDQOH
    όέοτ಺ύε
    IIPIPHFIPHFJNBHFIFMMPKQH
    UUFUFTUTVCEPNBJOJNBHFBCDQOH
    w αϒυϝΠϯ͸Ϣʔβ͕೚ҙʹࢦఆՄೳ
    w ΦϯϓϨ࣌୅ͷ໊࢒ͰαϒυϝΠϯͷ಄จࣈ͕֊૚ʹͳ͍ͬͯΔ
    FYIUUQTTBQOPSUIFBTUBNB[POBXTDPNYYYYQSPEVDUJPOIIPIPHFIPHFJNBHFIFMMPKQH
    MPDBUJPOd? QBUI
    \
    JG IPTUd? EJS
    EJS
    EJS>
    a
    \
    [email protected]@[email protected]@BSHTBSHT
    ^
    ^

    View Slide

  18. 8PSLFSTػೳ࣮૷
    ·ͣ͸8PSLFSTͰ3ͷϑΝΠϧදࣔΛݕূ
    w $MPVE
    fl
    BSF8PSLFSTΛ࢖͏͜ͱͰෳࡶͳύεฤू΍Ωϟογϡ੍ޚͳͲ͕Τ
    οδଆ͚ͩͰ࣮૷Մೳͳ͜ͱ͕൑໌
    w ҎԼͷϖʔδͳͲΛࢀߟʹ࠷௿ݶͷදࣔ֬ೝ
    w <3VTU>$MPVE
    fl
    BSF8PSLFSTͰ3ʹΞΫηεͯ͠ΈΔ<5ZQF4DSJQU>
    w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTXPSLFSTS
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSBQJXPSLFSTXPSLFSTBQJVTBHF

    View Slide

  19. 8PSLFSTػೳ࣮૷
    ·ͣ͸8PSLFSTͰ3ͷϑΝΠϧදࣔΛݕূ
    w ௚઀8PSLFST͔Β3ʹϑΝΠϧΛΞοϓϩʔυ࡟আͤͨ͞Γɺࡉ͔͍Ωϟ
    ογϡ੍ޚΛͨ͠Γͱɺ΋ͬͱڽͬͨ͜ͱΛ΍Γ͍ͨํ͸Ώʔ͚͢΂ʔ͞Μ
    ʹΑΔ௒ߴ଎ͳ$MPVE
    fl
    BSF8PSLFSTϑϨʔϜϫʔΫʮ)POPʯΛ࢖͏ͱྑ͞
    ͦ͏Ͱ͢ɻ
    w IUUQTIPOPEFW
    w $MPVE
    fl
    BSF3΋͍͍ͧʂ
    w IUUQTZVTVLFCFDPNQPTUTSCFUB

    View Slide

  20. 8PSLFSTػೳ࣮૷
    $BDIFʹ͍ͭͯ
    w ը૾഑৴͕த৺ʹͳΔͨΊɺ͜Ε·ͰͷΑ͏ʹग़དྷΔݶΓΩϟογϡ͍ͨ͠ͱߟ
    ͑·ͨ͠ɻ
    w $MPVE
    fl
    BSF8PSLFSTͷΩϟογϡ͸ෳ਺ͷํ๏͕͋Γ·͢
    w GFUDIDG
    w $BDIF"1*
    w ,7
    w %VSBCMF0CKFDUT

    View Slide

  21. 8PSLFSTػೳ࣮૷
    $BDIFʹ͍ͭͯ
    w Ωϟογϡώοτ཰ͳͲΛߟ͑Δͱ,7͕
    ཧ૝తʹݟ͑ͨͷͰ͕͢ɺ,7͸ैྔ՝
    ۚͷͨΊίετ͕ผ్͔͔ͬͯ͠·͏ʜ
    w ͜ͷͨΊࠓճ͸௨ৗͷ$%/අ༻ʹؚ·Ε
    Δ$BDIF"1*Λ࢖ͬͯΩϟογϡ͢ΔΑ
    ͏ʹ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPN
    SFYBNQMFTDBDIFBQJΛগ͠Χελ
    ϚΠζͨ͠ఔ౓Ͱे෼࣮༻ग़དྷͨ
    Ҡߦޙͷߏ੒

    View Slide

  22. 8PSLFSTػೳ࣮૷
    $BDIFʹ͍ͭͯิ଍
    w ϑΝΠϧ݅਺͕গͳ͔ͬͨΓɺγϯϓϧͳαΠτͷ৔߹͸ɺ$BDIF"1*ΑΓ΋,7΍%VSBCMF
    0CKFDUT GFUDIDG౳͕ྑͦ͞͏Ͱ͢
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNXPSLFSTSVOUJNFBQJTSFRVFTUSFRVFTUJOJUDGQSPQFSUJFT
    w ·ͨɺ$BDIF"1*͸Τοδαʔό୯ҐͰͷΩϟογϡͱͳΔͨΊɺҰճͷϦΫΤετͰ͸શ෦ͷΩϟ
    ογϡ͕ೖΔ༁Ͱ͸ແ͍ͷͰ஫ҙ
    w ,7ͩͱෳ਺ڌ఺ؒͰڞ༗͞ΕΔ
    w $BDIF"1*͸ෳ਺ճͷϦΫΤετ͕ඞཁ
    w ฐࣾͷ৔߹͸αΠτ͕αϒυϝΠϯܗࣜͰେྔͷաڈը૾͕ଘࡏ͢ΔͨΊɺίετΛ࠷༏ઌͯ͠
    $BDIF"1*Λ࠾༻

    View Slide

  23. 8PSLFSTػೳ࣮૷
    ༨ஊɿը૾഑৴ʹ͍ͭͯ
    w αʔϏεͷཁ݅ʹ΋ΑΓ·͕͢ɺྫ͑͹ίετ໘ΑΓ΋ॊೈͳը૾ϦαΠζ΍୺
    ຤ຖͷࣗಈ࠷దԽΛ͍ͨ͠ͷͰ͋Ε͹ʮ$MPVE
    fl
    BSF*NBHFTʯ΍ʮ$MPVE
    fl
    BSF
    *NBHF3FTJ[JOHʯͱ͍ͬͨαʔϏεΛબఆ͢Δͷ΋ΞϦͩͱࢥ͍·͢
    w IUUQTXXXDMPVE
    fl
    BSFDPNKBKQQSPEVDUTDMPVE
    fl
    BSFJNBHFT
    w IUUQTEFWDMBTTNFUIPEKQBSUJDMFT
    DMPVE
    fl
    [email protected][[email protected]@QPMJTI
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNJNBHFTJNBHFSFTJ[JOH

    View Slide

  24. 8PSLFSTػೳ࣮૷
    $BDIFʹ͍ͭͯิ଍
    w औΓٸ͗$MPVE
    fl
    BSF8PSLFSTͰ$BDIF"1*Λ࢖͏͜ͱͰɺ3ͷϑΝΠϧΛ
    ΧελϜυϝΠϯͰΑ͠ͳʹ഑৴ग़དྷΔࣄ·Ͱ͸೺Ѳग़དྷͨ
    w ଞʹ΋Ҡߦʹ͋ͨͬͯඞཁʹͳΓͦ͏ͳཁ݅ͳͲΛચ͍ग़ͭͭ͠ɺ
    $MPVE
    fl
    BSF+BQBO༷ʹ֓ࢉݟੵ΋Γ΍ٕज़తͳ࣭໰౳ͷαϙʔτΛ͍͖ͨͩ
    ͳ͕Βɺฒߦͯ͠ཪଆͷ࣮૷ΛਐΊ͍͖ͯ·ͨ͠

    View Slide

  25. ΞϓϦέʔγϣϯ͔Β4ͱ3
    ΁ͷμϒϧϥΠτ࣮૷

    View Slide

  26. ΞϓϦέʔγϣϯ͔Β4ͱ3΁ͷμϒϧϥΠτ࣮૷
    Ҡߦʹ͋ͨͬͯ஫ҙ͢Δ఺
    w ҎલΦϯϓϨ͔Β4ʹҠߦͨ࣌͠͸సૹྔΛ͋·Γҙࣝ͠ͳͯ͘΋ྑ͔ͬͨ
    ͷͰૉ๿ʹσΠϦʔͰϑΝΠϧͷࠩ෼γϯΫΛ͍ͯͨ͠
    w ͔͠͠4͔Β3΁ͷҠߦͰ͸Ϋϥ΢υؒͷҠߦͱͳΔͨΊτϥϑΟοΫͷྉ
    ۚʹγϏΞʹͳΔඞཁ͕͋Δ
    w όέοτͷίϐʔ͸ग़དྷΔݶΓճ͚ͩͰ੒ޭͤ͞Δඞཁ͕͋Δ
    w ੾Γସ͑࣌ͷίϐʔʹΑΔαʔϏεͷఀࢭ࣌ؒʢϝϯςφϯεʣ΋ۃྗແ͘͠
    ͍ͨɺཧ૝ͱͯ͠͸%/4੾Γସ͑ͷΈͰࡁ·͍ͤͨ

    View Slide

  27. ΞϓϦέʔγϣϯ͔Β4ͱ3΁ͷμϒϧϥΠτ࣮૷
    w ͦͷͨΊͷ४උͱͯ͠μϒϧϥΠτํ
    ࣜΛ࠾༻͢Δ͜ͱʹ
    w ΞϓϦέʔγϣϯଆͰ4ͱ3΁྆ํ
    ͷετϨʔδʹॻ͖ࠐΉΑ͏ʹվम
    w ͜ΕʹΑΓɺҠߦ४උத΋྆ํͷετ
    Ϩʔδ͕࠷৽ͷঢ়ଶΛอͯΔΑ͏ʹ

    View Slide

  28. ΞϓϦέʔγϣϯ͔Β4ͱ3΁ͷμϒϧϥΠτ࣮૷
    w 3͸4ޓ׵ͷͨΊɺΞϓϦέʔγϣ
    ϯଆ͸͞΄Ͳେ͖ͳվमʹͳΒͣʹࡁ
    Μͩ
    w 4ͱͷओͳҧ͍ͱͯ͠͸ɺ3ʹ͸
    SFHJPOͷ֓೦͕ଘࡏ͠ͳ͍ͷͰ
    ABVUPAΛࢦఆ͢Δ఺ɺ44-͕ඞਢͳ
    ఺ɺΤϯυϙΠϯτΛࢦఆ͢Δ఺ఔ౓

    View Slide

  29. 4͔Β3΁ͷશσʔλίϐʔ

    View Slide

  30. 4͔Β3΁ͷશσʔλίϐʔ
    w μϒϧϥΠτ͕ຊ൪؀ڥͰਖ਼ৗʹಈ࡞͢ΔࣄΛ֬ೝޙɺ͍Α͍Α4͔Β3΁
    ͷόέοτίϐʔΛߦ͍͖ͬͯ·͢ɻ
    w ͦΕͳΓͷαΠζͷόέοτͷ৔߹ɺࠓͷͱ͜Ζେ͖͘෼͚ͯͭͷํ๏͕͋
    Δͱࢥ͍·͢ɻ
    34VQFS4MVSQFS چ3.JHSBUPS
    ͰҠߦ
    SDMPOFͰҠߦ

    View Slide

  31. 4͔Β3΁ͷશσʔλίϐʔ
    ํ๏34VQFS4MVSQFS چ3.JHSBUPS
    ͰҠߦ
    w ެࣜʹΑΔ3΁ͷҰׅҠߦπʔϧ
    w 34VQFS4MVSQFS͸ຊ೔࣌఺Ͱ͸·ͩ#FUB൛
    w ΦϒδΣΫτͷαΠζ΍ΦϒδΣΫτ਺ͳͲʹ੍͍͔ͭ͘ݶ͕͋Δ
    w IUUQTCMPHDMPVE
    fl
    BSFDPNKBKQDMPVE
    fl
    BSFSTVQFSTMVSQFSKBKQ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSEBUBNJHSBUJPO

    View Slide

  32. 4͔Β3΁ͷશσʔλίϐʔ
    ํ๏SDMPOFͰҠߦ
    w 3DMPOFͱ͸ΦʔϓϯιʔεͷίϚϯυϥΠϯϕʔεͷϑΝΠϧಉظ͓Αͼసૹ
    πʔϧ
    w IUUQTSDMPOFPSH
    w $MPVE
    fl
    BSFެࣜͰ΋3ͰͷSDMPOFͷ࢖͍ํΛ঺հ͞Ε͍ͯΔ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSFYBNQMFTSDMPOF
    w 34VQFS4MVSQFS͸·ͩϕʔλ൛Ͱ͋ΓɺόέοτͷαΠζ΍ίϐʔͷλΠϛ
    ϯά੍ޚͳͲʹෆ͕҆͋ͬͨͨΊɺࠓճ͸ͪ͜ΒͷSDMPOFΛ࢖༻͢Δ͜ͱʹ

    View Slide

  33. 4͔Β3΁ͷશσʔλίϐʔ
    SDMPOFಈ࡞؀ڥʹ͍ͭͯ
    w ίϐʔݩͷ4όέοτ͕౦ژϦʔδϣϯͷͨΊɺ౦ژϦʔδϣϯʹ
    ADOYMBSHFAͷҠߦ༻&$ΠϯελϯεΛ༻ҙ
    w ʢ˞DO͸ωοτϫʔΫଳҬ͕࠷େ(CQTʣ
    w ݱࡏɺޙܧͷ$JOΠϯελϯε͕౦ژͰ΋ར༻Մೳʹͳ͍ͬͯ
    ΔΑ͏Ͱ͢

    View Slide

  34. 4͔Β3΁ͷશσʔλίϐʔ
    SDMPOFͷίϚϯυΦϓγϣϯ
    w SDMPOFʹ͸਺ଟ͘ͷΦϓγϣϯ͕͋Γ·͕͢ɺҎԼͷαΠτͳͲ΋ࢀߟʹɺ
    ࠷దͱͳΓͦ͏ͳΦϓγϣϯΛௐ੔͠·ͨ͠ɻ
    w IUUQTGPSVNSDMPOFPSHUIPXUPNBYJNJ[FTJOHMF
    fi
    MFNVMUJQBSU
    VQMPBETQFFEUPDMPVE
    fl
    BSFSTDPNQBUJCMF
    w IUUQTSDMPOFPSH
    fl
    BHTΑΓ
    w

    View Slide

  35. 4͔Β3΁ͷશσʔλίϐʔ
    SDMPOFͷ᠘ͦͷ
    w ͪͳΈʹSDMPOF͸ADPQZAͱATZODAίϚϯυ͕͋Γ·͕͢ɺ
    w STZODͱҧͬͯATZODAίϚϯυΛ࢖͏ͱSTZODŠEFMFUFͷڍಈͱͳΔͷ
    Ͱཁ஫ҙ
    w ҰճݶΓͷϑϧίϐʔͰ͸ADPQZAΛ࢖͏ͷ͕҆શ
    w IUUQTEFYMBCOFUQVLJXJLJJOEFYQIQ .FNP-JOVY
    SDMPOFTF
    w [email protected]

    View Slide

  36. 4͔Β3΁ͷશσʔλίϐʔ
    SDMPOF࣮ߦ
    w ؆୯ͳSDMPOFͷϥούʔతͳ1FSMεΫϦϓτΛ༻ҙͯ͠SDMPOFίϚϯυΛ
    ಈతʹੜ੒ͯ࣌ؒ͠ɾϩάɾίετΛܭଌ͠ͳ͕Βॱ൪ʹίϐʔ
    w ύεͷ֊૚͕ͦΕͳΓʹଟ͍ͨΊɺΞϧϑΝϕοτॱͷୈ֊૚·ͰΛίϐ
    ʔ͢Δύεͷ୯Ґͱͯ͠ฒྻYฒྻ͘Β͍Ͱঃʑʹ૿΍͠
    ͳ͕Β࣮ߦ
    w IUUQTHJTUHJUIVCDPNUFDLM
    CGCEDFGFDGEF

    View Slide

  37. 4͔Β3΁ͷશσʔλίϐʔ
    ίϐʔʹ͔͔Δ3ૢ࡞ؔ࿈ͷίετνΣοΫ
    w ڊେͳόέοτΛίϐʔ͢Δ࣌͸ͲΕ͚ͩͷΦϒδΣΫτૢ࡞Ͱίετ͕͔
    ͔Δ͔Λ44UPSBHF-FOT౳Ͱ༧Ί༧ଌ͓ͯ͘͠ͱྑ͍
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNSQMBUGPSNQSJDJOH
    w $MBTT"0QFSBUJPOTʢ-JTU0CKFDUT 1VU0CKFDUͳͲʣ
    w $MBTT#0QFSBUJPOTʢ)FBE0CKFDU (FU0CKFDUͳͲʣ͕ݱঢ়ͲΕ͚͔ͩ
    ͔͍ͬͯͯɺҠߦͰͲΕ͚͔͔ͩΓͦ͏͔Λ೺Ѳ͢Δ
    w 3ଆ͚ͩͰͳ͘ɺ4ଆͷίετ΋৻ॏʹνΣοΫ

    View Slide

  38. 4͔Β3΁ͷશσʔλίϐʔ
    ίϐʔʹ͔͔Δ3ૢ࡞ؔ࿈ͷίετνΣοΫ
    w $MPVE
    fl
    BSFͰ͸(SBQI2-"1*͕༻ҙ͞Ε͍ͯΔ
    w ҎԼͷهࣄͰ঺հ͞Ε͍ͯΔΑ͏ʹɺ3ͷ֤छϝτϦΫεΛ
    (SBGBOBͰͪΐͪ͘ΐ֬͘ೝग़དྷΔΑ͏ʹ͢Δͱྑͦ͞͏
    w $MPVE
    fl
    BSF3ͷ(SBQI2-"OBMZUJDTΛ(SBGBOBͰՄࢹԽ
    ͢Δ
    w IUUQTRJJUBDPNLIBZBNBJUFNTCCGCCBCE

    View Slide

  39. 4͔Β3΁ͷશσʔλίϐʔ
    /"5(BUFXBZ՝ۚͷ᠘
    w όέοτίϐʔ࡞ۀ։࢝౰ॳɺૉ๿ʹSDMPOFΛ։࢝ͨ͠΋ͷͷɺࢥͬͨΑ
    Γ΋"84ଆͷྉ͕ۚ௓Ͷ্͕ͬͯ͠·͏໰୊͕ൃੜ
    w ௐࠪͨ͠ͱ͜Ζɺ࡞ۀ༻ͷ&$͕ϓϥΠϕʔταϒωοτʹଐ͍ͯͯ͠ɺͦ
    ͔͜Β4Λ3ʹίϐʔͨͨ͠Ί֎෦$MPVE
    fl
    BSF΁ͷΞ΢τό΢ϯυ௨৴͕
    /"5(BUFXBZܦ༝ʹͳͬͯ͠·͍ͬͯͨ
    w ͜ΕΛճආ͢Δʹ͸&$ΛύϒϦοΫαϒωοτʹஔ͔͘ɺ71$
    &OEQPJOUΛར༻͢Δͱ/"5(BUFXBZܦ༝ʹͳΒͳͯ͘ࡁΉͷͰ੾Γସ͑
    Λߦͬͨ

    View Slide

  40. 4͔Β3΁ͷશσʔλίϐʔ
    /"5(BUFXBZ՝ۚͷ᠘
    w ҎԼͷهࣄͳͲ͕ࢀߟʹͳΓ·ͨ͠ɻɻ
    w ͦͷτϥϑΟοΫɺ/"5ήʔτ΢ΣΠΛ௨͢ඞཁ͋Γ·͔͢ʁద੾ͳܦ࿏Ͱෆཁͳσʔλॲཧྉ
    ۚ͸࡟ݮ͠·͠ΐ͏
    w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTSFEVDFVOOFDFTTBSZDPTUTGPSOBUHBUFXBZ
    w &$͔Β4΁ΞΫηε͢Δͭͷϧʔτͱίετ
    w [email protected]@[email protected]&[email protected]@4
    w ΍͸Γ͜͏͍͏࡞ۀΛ͢Δࡍ͸ɺ୹ظؒͰҰؾʹίϐʔΛߦΘͣɺ$PTU&YQMPSFSΛࡉ͔͘νΣο
    Ϋ͠ͳ͕ΒͦΕͳΓʹ࣌ؒΛ͔͚ͯ΍͍ͬͯ͘ͷ͕ྑͦ͞͏
    w ७ਮʹίϐʔ଎౓͕ૣ͚Ε͹ྑ͍ͱ͍͏΋ͷͰ΋ແ͍ͷͰ೉͍͠ͱ͜Ζ

    View Slide

  41. ੔߹ੑνΣοΫ

    View Slide

  42. ੔߹ੑνΣοΫ
    w ͜͜·ͰͷखॱͰ4͔Β3΁ͷίϐʔ͕׬͓ྃͯ͠Γɺ
    w ΞϓϦέʔγϣϯ͔Β͸4ͱ3ͷ྆ํʹॻ͖ࠐΈ͕͞Ε͍ͯΔͨΊɺجຊ
    తʹ͸όέοτͷத਎͸Ұॹʹͳ͍ͬͯΔʮ͸ͣʯ
    w ͕ɺ࣮ࡍʹҰॹͷϨεϙϯε͕ฦͬͯ͘ΕΔͷ͔ɺίϐʔ࿙Ε΍ϑΝΠϧͷ
    ܽଛͳͲ͸ແ͍ͷ͔ͷ੔߹ੑͷ֬ೝΛߦ͏Α͏ʹͯ͠Έͨ

    View Slide

  43. ੔߹ੑνΣοΫ
    w 8PSLFST͸ෳ਺ͷΧελϜυϝΠϯΛϚοϐϯά͢Δࣄ͕Մೳ
    w ຊ൪ͱ͸ผͷԾυϝΠϯΛ༻ҙͯ͠ɺࣄલʹݟൺ΂ग़དྷΔΑ͏ʹςετ
    w QSPEVDUJPOFYBNQMFOFUʢຊ൪༻υϝΠϯʣ
    w QSPEVDUJPOFYBNQMFDPNʢ੔߹ੑνΣοΫ༻υϝΠϯʣ
    w ࣮ࡍʹαʔϏεͰ࢖ΘΕΔ63-ΛϥϯμϜʹੜ੒ͯ͠Ϩεϙϯείʔυ
    A$POUFOU5ZQFA A$POUFOU-FOHUIAͳͲͷൺֱΛߦ͏εΫϦϓτΛ༻ҙ
    w ͜ͷ੔߹ੑνΣοΫʹΑΓҰ෦όέοτͷίϐʔ࿙ΕΛݕ஌ग़དྷ·ͨ͠ʜ

    View Slide

  44. Ωϟογϡύʔδͷ࣮૷

    View Slide

  45. Ωϟογϡύʔδͷ࣮૷
    ୯ҰϑΝΠϧ࡟আͷ৔߹
    w $MPVE
    fl
    BSF$BDIF"1*Λ࢖ͬͯΩϟογϡ͍ͯ͠Δ৔߹͸Ωϟογϡͷύ
    ʔδΛ$MPVE
    fl
    BSF"1*Λ࢖ͬͯߦ͏ඞཁ͕͋Δ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNDBDIFIPXUPQVSHF
    DBDIFQVSHFCZTJOHMF
    fi
    MFCZVSM
    w $MPVE'SPOUͷ*OWBMJEBUJPOTͱ͸ҧ͍ɺ$MPVE
    fl
    BSFͷΩϟογϡύʔδϦΫ
    Τετࣗମ͸ແྉͷͨΊɺίετ͸ؾʹͤͣʹૉ๿ʹ࡟আ͞ΕͨϑΝΠϧ
    ͷ63-ΛదٓΩϡʔʹೖΕͯ౤͛ΔΑ͏ʹΞϓϦέʔγϣϯଆʹ૊ΈࠐΈ

    View Slide

  46. Ωϟογϡύʔδͷ࣮૷
    Ұׅ࡟আͷ৔߹
    w ෳ਺ϑΝΠϧͷҰׅ࡟আͷ৔߹ɺ$MPVE'SPOUͷ*OWBMJEBUJPOͰ͸αϒυϝ
    ΠϯʹରԠ͍ͯ͠ͳ͍୅ΘΓʹύε୯ҐͰϫΠϧυΧʔυύʔδ͕ར༻Մೳ
    ͩͬͨ
    w $MPVE
    fl
    BSFͷ৔߹͸ɺϫΠϧυΧʔυͷ୅ΘΓʹUBH΍QSF
    fi
    YͰҰׅ࡟আͱ
    ͍͏΋ͷ͕ଘࡏ͢ΔͷͰ͜ΕΛར༻ʢཁ&OUFSQSJTF1MBOʣ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNBQJPQFSBUJPOT[POF
    QVSHFQVSHFDBDIFEDPOUFOUCZUBHIPTUPSQSF
    fi
    Y

    View Slide

  47. ϩΪϯάͷઃఆ

    View Slide

  48. ϩΪϯάͷઃఆ
    w Ҡߦલͷ$MPVE'SPOUͰ͸ɺఆظతʹಛఆͷ֦ுࢠͷϦΫΤετ݅਺ͳͲΛ
    ूܭͯ͠%#ʹೖΕΔͱ͍ͬͨࣄΛߦ͍ͬͯͨ
    w $MPVE
    fl
    BSFͰ͸-PHQVTIͱ͍͏ػೳ͕͋ΔͨΊɺ͜ΕΛར༻ ཁ
    &OUFSQSJTFϓϥϯ

    w $MPVE
    fl
    BSF3ʹ)551ΞΫηεϩάΛϓογϡͯ͠"1*Ͱऔಘ͢Δ·Ͱ
    w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTDMPVE
    fl
    BSFSMPHQVTI

    View Slide

  49. ϩΪϯάͷઃఆ
    -PHQVTI
    w -PHQVTI͸ϩΪϯάʹඞཁͳϧʔϧΛਖ਼نදݱ "/% 03ͳͲͰࡉ͔͘ࢦ
    ఆՄೳ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNMPHTSFGFSFODF
    fi
    MUFST

    View Slide

  50. ϩΪϯάͷઃఆ
    -PHQVTI
    w ࣌ؒΛࢦఆͯ͠ಛఆͷϩάΛऔΓग़͢৔߹
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNMPHTSMPHSFUSJFWBMSFUSJFWF
    MPHTCZUJNFSBOHF
    w ϩάͷྲྀྔ͕ଟ͍ͱ࣌ؒൣғΛখࠁΈʹ͢Δඞཁ͕͋ΔͷͰ஫ҙ
    DVSMTH9(&5IUUQTBQJDMPVE
    fl
    BSFDPNDMJFOUWBDDPVOUT"$$06/[email protected]*%MPHTSFUSJFWF
    TUBSU5;FOE5;CVDLFUDMPVE
    fl
    BSFMPHTQSF
    fi
    [email protected]\%"5&^a
    )9"VUI&NBJM&."*-a
    )9"VUI,FZ"1*@,&:a
    )3"DDFTT,FZ*[email protected]"$$&[email protected],&:@*%a
    )34FDSFU"DDFTT,[email protected]&$3&[email protected]"$$&[email protected],&:cKR

    View Slide

  51. ੾Γସ͑ʢ/4ͷҕ೚ʣ

    View Slide

  52. ੾Γସ͑ʢ/4ͷҕ೚ʣ
    αϒυϝΠϯ୯ҐͷυϝΠϯ੾Γସ͑ͷ৔߹
    w ఀࢭϝϯςφϯεΛ͠ͳ͍ͰࡁΉΑ͏ʹɺ1BSUJBM $/".&
    TFUVQΛར༻ͯ͠੾Γସ͑Λߦͬͨ
    w IUUQTEFWFMPQFSTDMPVE
    fl
    BSFDPNEOT[POFTFUVQTQBSUJBMTFUVQTFUVQ
    1BSUJBM $/".&
    TFUVQͰຊ൪༻υϝΠϯΛೝূͤ͞Δ
    ݩʑ3PVUFΛར༻͍ͯͨ͠ͷͰɺ3PVUFଆͰADMPVE
    fl
    BSFWFSJGZFYBNQMFOFUAͷΑ͏ͳ595Ϩί
    ʔυΛ࡞੒
    $MPVE
    fl
    BSFଆͷ%/4ʹ༧Ίطଘͷ3PVUFͱಉ͡ϨίʔυΛ͢΂ͯઃఆ͓ͯ͘͠
    3PVUFଆͷ$MPVE'SPOUͷ"MJBTϨίʔυͱಉ͡ϨίʔυΛ$MPVE
    fl
    BSFଆʹ΋$/".&Ͱొ࿥͓ͯ͠
    ͘ɻ͜ͷࡍɺ1SPYJFEͰ͸ͳ͘ʮ%/4POMZʯͱ͢Δ
    8PSLFSTͷ$VTUPN%PNBJOΛઃఆ

    View Slide

  53. ੾Γସ͑ʢ/4ͷҕ೚ʣ
    αϒυϝΠϯ୯ҐͷυϝΠϯ੾Γସ͑ͷ৔߹
    8PSLFSTͷAXSBOHMFSUPNMA಺ͷ[email protected]΋ઃఆ͠ɺAXSBOHMFSEFQMPZAͰσϓϩΠ͢Δ
    8PSLFSTͷຊ൪༻$VTUPN%PNBJO͕A*OJUJBMJ[JOHA͔ΒA"DUJWFAʹมΘΔͷΛ଴ͭ
    "DUJWFʹͳͬͨΒɺDVSM౳Ͱ֬ೝ
    ADVSM*9(&5IUUQTIPHFFYBNQMFOFUUFTUQOHSFTPMWFIPHFFYBNQMFOFU\DMPVE
    fl
    BSF*1^A
    ͜͜·Ͱ໰୊ແ͔ͬͨΒɺ/4ͷҕ೚࡞ۀΛߦ͏
    A$/".&4FUVQA͔ΒA'VMM4FUVQAʹมߋ͢Δ
    3PVUFଆʹ/4ϨίʔυΛ࡞੒ͯ͠ɺ$MPVE
    fl
    BSFʹҕ೚
    ࣄલʹೖΕ͓͍ͯͨDMPVEGSPOUͷϨίʔυΛXPSLFSTʹมߋ͢Δɻ͜ͷࡍɺA%/4POMZA͔ΒA1SPYJFEAʹมߋ
    AXSBOHMFSUBJMAͰϩάΛ؂ࢹ͢Δʢͨͩ͠ྲྀྔ͕૿͑ΔͱݟΕͳ͍ࣄ΋ʣ

    View Slide

  54. ੾Γସ͑ʢ/4ͷҕ೚ʣ
    ;POF"QFYʢωΠΩουυϝΠϯʣͷ੾Γସ͑ͷ৔߹
    ޙ೔ߦͬͨผαʔϏεͷ$MPVE
    fl
    BSF8PSLFST3ҠߦͰ͸ɺ;POF"QFYʢωΠΩου
    υϝΠϯʣͷ੾Γସ͑ͱͳͬͨͨΊɺ্Ґ%/4ͷΩϟογϡ໰୊ʢʁʣͳͲ͕ൃੜ͠·
    ͨ͠ɻ
    ΧελϜυϝΠϯͷ൓ө͕ͳ͔ͳ͔͞Εͳ͍ʢ&EHF$FSUJ
    fi
    DBUFTͷऔಘ͕ਐ·ͳ͍ʣͱ
    ͍͏໰୊͕ؔ࿈͓ͯ͠Γɺ৔߹ʹΑͬͯ͸ϦϦʔε೔࣌ͷௐ੔ʹ͸஫ҙ͕ඞཁͦ͏Ͱ͢ɻ
    ઌ೔ͷهࣄʹগ͠௥هΛߦ͍ͬͯΔͷͰڵຯͷ͋Δํ͸ࢀߟʹ͍ͯͩ͘͠͞ɻ
    IUUQTRJJUBDPNUFDLMJUFNTBBBEF

    View Slide

  55. ੾Γସ͑ʢ/4ͷҕ೚ʣ
    ສ͕Ұͷ৔߹ͷ੾Γ໭͠
    w ΋͠੾Γ໭͠Λߦ͍͍ͨ৔߹͸ɺ$MPVE
    fl
    BSFଆ%/4ͷ8PSLFSTͷ
    $/".&ΛݩͷDMPVEGSPOUͷ"-*"4Ϩίʔυʹมߋʢ͔ͭA1SPYJFEAΛ
    A%/4POMZAʹʣ͢Δ͜ͱͰ੾Γ໭͕͠Մೳ
    w ۓٸͷ੾Γ໭͠ͷՄೳੑ΋૝ఆͯ͠ɺݹ͍$MPVE'SPOU༻ͷ$/".&Ϩίʔ
    υΛμϛʔϨίʔυͱͯ͠࢒͓ͯ͘͠ͱ҆৺
    w $MPVE
    fl
    BSF%/43PVUFͷ੾Γ໭͠ͳͲ͸͕͔͔࣌ؒΔͨΊ
    $MPVE
    fl
    BSF%/4಺෦ͷΈͰ$/".&Ͱͷ੾Γ໭͠Λͨ͠ํ͕ૣ͍ͱߟ͑ͨ

    View Slide

  56. ੾Γସ͑௚ޙ
    ੾Γସ͑௚ޙͷΩϟογϡ
    w ౰ॳɺ੾ସ௚ޙͷύϑΥʔϚϯε΍Ωϟογϡώοτ཰ͳͲͷݒ೦͕͋ͬ
    ͕ͨɺ଎߈ͰΩϟογϡ΋ஆ·ͬͯ͘ΕͯϢʔβ͔ΒͷύϑΥʔϚϯεͷΫ
    ϨʔϜͳͲ͸ಛʹݟΒΕͳ͔ͬͨ
    w ͱ͍͏ΑΓ΋มߋͨ͠ࣄʹؾ͍ͮͨϢʔβ΋͍ͳ͔ͬͨͷͰҠߦ͸ແࣄ
    ੒ޭͨ͠ɺ͸ͣ

    View Slide

  57. ࢒࡞ۀ

    View Slide

  58. ࢒࡞ۀ
    w $MPVE
    fl
    BSF38PSLFST؀ڥʹ੾Γସ͑ޙɺ͠͹Β͘ͷظؒฒߦՔಈͰ༷
    ࢠΛݟͭͭɺ੾Γ໭͠ͷඞཁ͕ແ͘ͳͬͨͱ൑அग़དྷͨλΠϛϯάʹͳͬͨ
    ΒΞϓϦέʔγϣϯଆͷ4ͱ3΁ͷμϒϧϥΠτͷ࢓૊ΈΛഇࢭ͠ɺ3ͷ
    Έॻ͖ࠐΈͷγϯάϧߏ੒ʹมߋ͢Δ
    w ఆظతʹ࡟আ͢Δཁ݅ͳͲ͕͋Ε͹ϥΠϑαΠΫϧϧʔϧͷ૊ΈࠐΈ
    w 4όέοτ΍$MPVE'SPOUͷσΟετϦϏϡʔγϣϯͳͲɺؔ࿈͢ΔϦιʔε
    ͷΞʔΧΠϒ΍૟আΛߦ͏
    w Ҏ্ͰҠߦ࡞ۀͱͯ͠͸ऴྃʹͳΓ·͢

    View Slide

  59. Ҡߦޙʹ൑໌ͨ͠໰୊

    View Slide

  60. Ҡߦޙʹ൑໌ͨ͠໰୊
    SDMPOFͷ᠘ͦͷɿΦϒδΣΫτΩʔʹ͕ଘࡏ͍ͯ͠Δྫ֎έʔε
    w 4όέοτ಺ʹͱ͍͏ΦϒδΣΫτΩʔ͕ଘࡏ͍ͯ͠Δͱ3ʹҠߦग़དྷ͍ͯͳ͍໰୊͕൑໌
    w ྫʣ
    w IUUQTIPHFIPHFFYBNQMFOFUEVQMJDBUFGPXBSETMBTIQOH
    w IUUQTIPHFIPHFFYBNQMFOFUJNBHFIPHFKQH
    BXTTMTTYYYCVDLFUQSPEVDUJPOIIPIPHFIPHFcXDM

    BXTTMTTYYYCVDLFUQSPEVDUJPOIIPIPHFIPHFcXDM

    ͱ͸ผ෺
    SDMPOFDPQZTYYYCVDLFUQSPEVDUJPOIIPIPHFIPHFSYYYCVDLFUQSPEVDUJPOIIPIPHFIPHF
    ্هͩͱAA഑Լ͚͕ͩίϐʔग़དྷ͍ͯͳ͍໰୊

    View Slide

  61. Ҡߦޙʹ൑໌ͨ͠໰୊
    SDMPOFͷ᠘ͦͷɿΦϒδΣΫτΩʔʹ͕ଘࡏ͍ͯ͠Δྫ֎έʔε
    3ʹۭͷόέοτΛ४උͯ͠ςετͯ͠ΈΔͱ
    BXTTMTTUFTUCVDLFU
    13&
    DMPVE
    fl
    [email protected]
    BXTTMTTUFTUCVDLFU
    HJUIVCQOH
    SDMPOFMTTUFTUCVDLFU
    HJUIVCQOH
    DMPVE
    fl
    [email protected]
    SDMPOFMTSUFTUCVDLFU

    SDMPOFDPQZTUFTUCVDLFUSUFTUCVDLFU
    &3303&OUSZEPFTOUCFMPOHJOEJSFDUPSZ TBNFBTEJSFDUPSZ
    JHOPSJOH
    SDMPOFMTSUFTUCVDLFU
    DMPVE
    fl
    [email protected]
    AAͱ͍͏ΦϒδΣΫτΩʔ͕ҠߦͰ͖͍ͯͳ͔ͬͨɻʢΦϒδΣΫτΩʔʹ͕ೖ͍ͬͯͳ͍ϑΝΠϧ͚͕ͩίϐʔ͞ΕΔʣ

    View Slide

  62. Ҡߦޙʹ൑໌ͨ͠໰୊
    SDMPOFͷ᠘ͦͷɿΦϒδΣΫτΩʔʹ͕ଘࡏ͍ͯ͠Δྫ֎έʔε
    w ͔ͳΓͷྫ֎έʔεͰ͸͕͋ͬͨɺಛघͳύλʔϯͰଘࡏ͍ͯͨ͠
    w ͦ΋ͦ΋ΦϒδΣΫτΩʔʹAAΛڐ༰͢Δ΂͖Ͱ͸ͳ͍
    w ΞϓϦέʔγϣϯଆͰೖΒͳ͍Α͏ʹ͢΂͖
    w ͱ͸ݴ͑௕͍αʔϏεͳͷͰ͘͝Ұ෦ͷϢʔεέʔεͰଘࡏ͍ͯͨ͠
    w ݱঢ়ͷSDMPOFͰ͸͜ͷέʔε͸ҠߦରԠग़དྷͳ͍ͨΊɺ"84$-*ͰόέοτΛमਖ਼ͯ͠ରԠ
    w ͜͏͍͏έʔε΋͋ͬͨΓ͢ΔͷͰɺҠߦޙͷ4ଆόέοτͷ࡟আλΠϛϯά͸ཁ஫ҙ
    w 41SF
    fi
    YFTXJUIDBVTFTSDMPOFDPNNBOETUPGBJMMPPLGPSUIF
    XSPOHPCKFDUT
    w IUUQTHJUIVCDPNSDMPOFSDMPOFJTTVFT

    View Slide

  63. Ҡߦޙʹ൑໌ͨ͠໰୊
    SDMPOFͷ᠘ͦͷɿΦϒδΣΫτΩʔʹ͕ଘࡏ͍ͯ͠Δྫ֎έʔε
    export default {


    async fetch(request, env, context) {


    try {


    let requestUrl = request.url;


    // "%3F" Λ "?" ʹஔ׵


    requestUrl = requestUrl.replace("%3F", "?");


    // "//" Λ "/" ʹஔ׵ʢͨͩ͠ "https://" ͷεϥογϡ͸ͦͷ··ʣ


    requestUrl = requestUrl.replace(/([^:]\/)\/+/g, "$1");


    const url = new URL(requestUrl);




    // Construct the cache key from the cache URL


    const cacheKey = new Request(url.toString(), request);


    w ࣅͨΑ͏ͳ໰୊ͰɺΦϒδΣΫτΩʔʹ63*ΤϯίʔυͷAA͕࢖ΘΕ͍ͯΔέʔε΋ଘࡏͯ͠
    ͍ͨ
    w 3಺෦ͷΦϒδΣΫτΩʔΛ͢΂ͯ੔ཧͨ͠ޙͰɺҎԼͷΑ͏ʹ63-ΛϊʔϚϥΠζͯ͠ରԠ

    View Slide

  64. Ҡߦޙʹ൑໌ͨ͠໰୊
    ΦϒδΣΫτΩʔʹ൒֯εϖʔε͕ଘࡏ͍ͯ͠Δྫ֎έʔε
    w ͪ͜Β͸SDMPOFͷ໰୊Ͱ͸ͳ͍͕ɺ΋͏ҰͭͷҊ݅Ͱ͸ΦϒδΣΫτΩʔʹҰ෦
    Ͱ൒֯εϖʔε͕࢖ΘΕ͍ͯΔέʔε΋ଘࡏ͍ͯͨ͠
    w ࢓ํͳ͍ͷͰόέοτ͔ΒऔΓग़͢ࡍʹΩʔΛటष͘ஔ׵ͯ͠ରԠ

    View Slide

  65. ·ͱΊ

    View Slide

  66. ·ͱΊ
    w $MPVE'SPOU4؀ڥ͔Β$MPVE
    fl
    BSF38PSLFSTʹҠߦ͢Δํ๏ͷҰྫͱϋϚͬͨ໰୊Λ঺
    հ͠·ͨ͠ɻ
    w $MPVE
    fl
    BSF8PSLFST3؀ڥʹҠߦ͔Βϲ݄΄Ͳܦա͠·͕ͨ͠ɺࠓͷͱ͜Ζ᠘Ͱ঺հͨ݅͠
    Ҏ֎ʹ͸େ͖ͳ໰୊͸ൃੜ͍ͯ͠·ͤΜɻΩϟογϡώοτ཰΋ҠߦલͱมΘΒͣɺύϑΥʔϚϯ
    εʹ͍ͭͯ΋ಛʹ໰୊ແ͘ӡ༻Ͱ͖͍ͯ·͢ɻ
    w ಛʹίετ໘ʹ͍ͭͯ͸ඇৗʹେ͖ͳΠϯύΫτ͕͋Γ·ͨ͠ɻ
    w 8PSLFSTΛબ୒ͨ͜͠ͱͰࡉ͔͍ௐ੔΋͠΍͘͢ɺը૾഑৴༻ͷαʔόӡ༻͔Β։์͞Εͨͷ͸ඇ
    ৗʹਫ਼ਆతʹ΋ྑ͍
    w 8PSLFST͸೔ʑਐԽ͍͍ͯͬͯͯ͠ඇৗʹָ͍͠෼໺ͳͷͰɺଞͷҊ݅ͳͲͰ΋ద༻ग़དྷͦ͏ͳΒ
    ࢼ͍͖͍ͯͨ͠

    View Slide

  67. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide

  68. View Slide

  69. খωλ

    View Slide

  70. খωλ
    XPSLυϝΠϯͰͷݕূͷ᠘
    w ಈ࡞ݕূஈ֊ʹ͓͍ͯɺݸਓతͳςετ༻υϝΠϯͱͯ͠ʮXPSLʯͱ͍͏
    υϝΠϯΛ࢖ͬͯΧελϜυϝΠϯΛ࢖༻ͨ͠ͱ͜ΖɺXPSLFSTͷΧελϜ
    υϝΠϯͷ൓ө͕ͳ͔ͳ͔͞Εͳ͍ʢ*OJUJBMJ[JOH͔Β"DUJWFʹͳΒͳ͍ʣ
    ͱ͍͏໰୊͕ൃੜ
    w ʮTJUFʯͳͲɺผͷH5-%ʹมߋͨ͠ͱ͜Ζ଎߈Ͱ൓ө͞Εͨ
    w ʮXPSLʯυϝΠϯ͸ԁͰ҆Ձʹऔಘग़དྷͨͨΊ͓खܰʹ࢖͑Δͱࢥͬͯ
    ͍͕ͨɺ৔߹ʹΑͬͯ͸͜͏͍͏ࣄ΋͋Δ͔΋͠Εͳ͍ͷͰ஫ҙ
    w ࠶ݱੑ͸ෆ໌Ͱ͕͢ɺ͋͘·Ͱ΋͜͏͍͏ࣄ΋͋ͬͨͱ͍͏ڞ༗ͱͳΓ·͢

    View Slide