Slide 1

Slide 1 text

.FSQBZʹ͓͚Δ 'BTUMZ׆༻ࣄྫ 'BTUMZZBNBHPZBNFFUVQ !ULVDIJLJ 1 https://speakerdeck.com/tkuchiki/fastly-yamagoya-meetup-2019

Slide 2

Slide 2 text

8)0".* w!ULVDIJLJ w43&BU.FSQBZ

Slide 3

Slide 3 text

"HFOEB wϝϧϖΠ֓ཁ wͳͥ'BTUMZΛબΜͩͷ͔ wϝϧϖΠͷΞʔΩςΫνϟ w'BTUMZͷӡ༻Λࢧ͑Δٕज़ w5FSSBGPSNʹΑΔઃఆ؅ཧ w%BUBEPHʹΑΔ؂ࢹ w#JH2VFSZΛ࢖ͬͨ-PHHJOHͱݕࡧ wΩϟογϡύʔδ w੩తϑΝΠϧ഑৴ w,VCFSOFUFTΛCBDLFOEʹͨ͠"1*

Slide 4

Slide 4 text

ϝϧϖΠ֓ཁ ίʔυ෷͍ J% ͋ͱ෷͍ ωοτܾࡁ ೥݄ ඇ઀৮ܕαʔϏεʮJ%ʯʹରԠ J04"OESPJE ೥݄ େखνΣʔϯ΍தɾখن໛ళฮͰ 23ɾόʔίʔυܾࡁʹରԠ ೥݄ ೥݄ ෳ਺ճͷ͓ങ͍෺Λ͋ͱ͔Β·ͱΊͯࢧ෷͑Δ ʮϝϧϖΠ͋ͱ෷͍ʯ։࢝ &$αΠτͰ΋ʮϝϧϖΠʯ͕ར༻Ͱ͖Δ ωοτܾࡁఏڙ։࢝ શࠃ ສ͔ॴ https://jp.merpay.com/ Ϣʔβʔ਺ ສਓ Ϣʔβʔ਺ ສਓ ೥݄

Slide 5

Slide 5 text

ϝϧϖΠͷαʔϏεن໛ wϚΠΫϩαʔϏεΞʔΩςΫνϟ wҎ্ͷϚΠΫϩαʔϏε w2ͰԯԁҎ্ΛऔΓѻ͏ϝϧΧϦͷܾࡁج൫ w64ͷϝϧΧϦࣄۀ΋ؚΉ਺ࣈ wສਓҎ্ͷར༻ऀ wϝϧϖΠʮిࢠϚωʔʯͷొ࿥ΛߦͬͨϢʔβʔͱɺʮϝϧϖΠίʔ υ෷͍ʯɺʮωοτܾࡁʯɺʮϝϧϖΠ͋ͱ෷͍ʯ౳ͷར༻ऀͷ߹ܭ ॏ ෳΛআ͘

Slide 6

Slide 6 text

ͳͥ'BTUMZΛબΜͩͷ͔ wϔομͷઃఆ΍*1੍ݶͳͲΛ7$-Ͱॊೈʹهड़Ͱ͖Δ w'BTUMZͱ($1͸૬ޓʹ௚઀઀ଓ͞Ε͍ͯΔͨΊ௿ϨΠςϯγͰ ௨৴Ͱ͖Δ wIUUQTXXXGBTUMZKQQBSUOFSHDQ w#JH2VFSZ΁ͷϦΞϧλΠϜϩάετϦʔϛϯά΍%BUBEPH JOUFHSBUJPOʹΑΓɺӡ༻ʹඞཁͳ৘ใΛ؆୯ʹऩूͰ͖Δ wߴ଎ͳΩϟογϡύʔδ w'BTUMZ8"'ʹΑΔηΩϡϦςΟ޲্

Slide 7

Slide 7 text

ϝϧϖΠͷΞʔΩςΫνϟ

Slide 8

Slide 8 text

γεςϜΞʔΩςΫνϟ w։ൃ؀ڥɾຊ൪؀ڥͱ΋ʹશͯͷΫϥΠΞϯτ͔ΒͷϦΫΤετ͸ 'BTUMZΛ௨͍ͯ͠Δ w"1*ɺ8FCGSPOUFOE 4FSWFS4JEF3FOEFSJOH ɺ੩తϑΝΠϧ w"1* wνϟʔδ ೖۚ ɺ࢒ߴཤྺɺΫʔϙϯɺίʔυܾࡁ wFUD w੩తϑΝΠϧ wը૾ w)5.-ɺ$44ɺ+BWB4DSJQU

Slide 9

Slide 9 text

$MJFOUT 'BTUMZ *OHSFTT (,& ,VCFSOFUFT "1* (BUFXBZ "1* 4FSWJDF9 "1* 4FSWJDF: 8FC 4FSWJDF; #BDLFOE 4FSWJDF" #BDLFOE 4FSWJDF# γεςϜΞʔΩςΫνϟ "VUIPSJUZ ($4 'BTUMZ ੩తϑΝΠϧ )."$ $MPVE4QBOOFS $MPVE1VC4VC ($11SPKFDU" $MPVE4QBOOFS ($11SPKFDU#

Slide 10

Slide 10 text

γεςϜΞʔΩςΫνϟ $MJFOUT ΞϓϦɺՃໍళ౳ͷύʔτφʔ༷ $%/ 'BTUMZ ੩తϑΝΠϧ഑৴ɾΩϟογϡ ΫϥΠΞϯτͱͷ5$1઀ଓΛΤοδαʔόͱߦͳ͏͜ͱʹΑΔ௨৴ͷ࠷దԽ "1*(BUFXBZ શͯͷϦΫΤετ͕"1*(BUFXBZΛ௨Δ ڞ௨ॲཧͱϧʔςΟϯά "1*4FSWJDF ΫϥΠΞϯτ͔ΒͷϦΫΤετͱϨεϙϯεʹ੹೚Λ࣋ͭ ཪଆʹ͋Δෳ਺ͷϚΠΫϩαʔϏεͷΞάϦήʔγϣϯ #BDLFOE4FSWJDF ػೳͷϩδοΫΛ࣮ݱ͢Δ

Slide 11

Slide 11 text

'BTUMZ ΠϯϑϥΞʔΩςΫνϟ #JH2VFSZ $MPVE4UPSBHF $MPVE'VODUJPOT (JU)VC 5FSSBGPSN 4MBDL %FWFMPQFST%FTJHOFST QMBOBQQMZ 6QMPBE -PH -PH .FUSJDT 1VTI 1VSHF $POpHVSBUJPO $PNNFOU 4FBSDI 1VSHF 4MBTIDPNNBOE )551 3FRVFTU

Slide 12

Slide 12 text

'BTUMZͷӡ༻Λࢧ͑Δٕज़

Slide 13

Slide 13 text

5FSSBGPSNʹΑΔઃఆ؅ཧ w'BTUMZTFSWJDF͸શͯ5FSSBGPSNͰ؅ཧ wׂΓ౰͍ͯͯΔυϝΠϯ΋ w$JSDMF$*ͰUFSSBGPSNQMBOBQQMZΛ࣮ߦ wCSBODIʹQVTIͨ͠ͱ͖ʹQMBO wNBTUFSCSBODIʹNFSHFͨ͠ͱ͖ʹBQQMZ wUFSSBGPSNQMBOBQQMZͷ࣮ߦ݁Ռ͸UGOPUJGZͰ1VMM3FRVFTUʹίϝϯτ ͱͯ͠௨஌ wࢀߟϝϧΧϦ.JDSPTFSWJDFT5FBNʹΑΔ5FSSBGPSNӡ༻ͱͦͷதͰ։ൃͨ͠ 044ͷ঺հ w IUUQTUFDINFSDBSJDPNFOUSZ

Slide 14

Slide 14 text

UGOPUJGZ࣮ߦྫ

Slide 15

Slide 15 text

%BUBEPHʹΑΔ؂ࢹ w%BUBEPHͷ'BTUMZJOUFHSBUJPOͰNFUSJDTΛऩू wIUUQTEPDTEBUBEPHIRDPNKBJOUFHSBUJPOTGBTUMZNFUSJDDPMMFDUJPO wGBTUMZIJU@SBUJP wGBTUMZTUBUVT@YYdGBTUMZTUBUVT@YY wGBTUMZCBOEXJEUI wFUD w8"'༻ͷNFUSJDT΋͋Δ w GBTUMZXBG@CMPDLFE w GBTUMZXBG@MPHHFE w FUD

Slide 16

Slide 16 text

άϥϑ ։ൃ؀ڥͷάϥϑͰ͢

Slide 17

Slide 17 text

%BUBEPHʹΑΔ؂ࢹ w؂ࢹ w)5514UBUVT$PEF΍YYͷൃੜ਺ w0CKFDUαΠζ͝ͱͷ഑৴਺͕औΕΔͷͰɺ.#Ҏ্ͷ0CKFDU͕૿ ͑ͨΒΞϥʔτΛग़͢ɺͳͲ w GBTUMZPCKFDU@TJ[F@N.#d.#

Slide 18

Slide 18 text

#JH2VFSZΛ࢖ͬͨ-PHHJOHͱݕࡧ wϦΞϧλΠϜϩάετϦʔϛϯάͰ#JH2VFSZʹૹ৴ wϩάܽଛΛ๷͙ͨΊʹɺ($4ʹ΋ग़ྗ w)5514UBUVT$PEFYY͕ൃੜͨ͠৔߹ͳͲɺௐࠪͷͨΊʹ #JH2VFSZΛࢀর wQBUI͝ͱͷΤϥʔൃੜ਺ΛΧ΢ϯτ w/ඵҎ্͔͔͍ͬͯΔϦΫΤετҰཡ wશମͷ)5514UBUVT$PEFYYൃੜ਺ͳͲ͸%BUBEPHͰݟͯ ͍Δ

Slide 19

Slide 19 text

Ωϟογϡύʔδ w4MBDLͷTMBTIDPNNBOEܦ༝Ͱύʔδ wඇΤϯδχΞ޲͚ wࢀߟ(PPHMF$MPVE'VODUJPOTΛ࢖ͬͯ4MBDLͰ؆୯ʹ$%/্ͷ ΩϟογϡΛফͤΔΑ͏ʹ͢Δ࿩ w IUUQTUFDINFSDBSJDPNFOUSZ w ΤϯδχΞ޲͚ʹ͸ɺXHFUͷ࠶ؼతʹϦϯΫΛḷΔػೳΛ࢖ ͍ɺࢦఆͨ͠63-͔ΒࢀরͰ͖Δ63-શͯʹ163(&ϦΫΤ ετΛૹΔεΫϦϓτΛڞ༗ w IUUQTHJTUHJUIVCDPNULVDIJLJEFDEEFEBECEDBD

Slide 20

Slide 20 text

εΫϦϓτ for url in $(LANG=C wget -p -nv -nd -r --spider \ ${base_url} -o /dev/stdout \ | grep URL | sed -e 's/URL://' \ | awk '{print $3}'); do curl -X PURGE $url echo "purged ${url}" sleep 0.1 done

Slide 21

Slide 21 text

੩తϑΝΠϧ഑৴

Slide 22

Slide 22 text

$MJFOUT 'BTUMZ *OHSFTT (,& ,VCFSOFUFT "1* (BUFXBZ "1* 4FSWJDF9 "1* 4FSWJDF: 8FC 4FSWJDF; #BDLFOE 4FSWJDF" #BDLFOE 4FSWJDF# ΞʔΩςΫνϟ "VUIPSJUZ ($4 'BTUMZ ੩తϑΝΠϧ )."$ $MPVE4QBOOFS $MPVE1VC4VC ($11SPKFDU" $MPVE4QBOOFS ($11SPKFDU#

Slide 23

Slide 23 text

($4 w'BTUMZ͔Β($4ʹ)."$ೝূͯ͠ϓϥΠϕʔτΦϒδΣΫτΛ഑৴ wIUUQTEPDTGBTUMZDPNFOHVJEFTHPPHMFDMPVETUPSBHF w($4Ͱ഑৴͢ΔϑΝΠϧ͸(JU)VCͰ؅ཧ wߋ৽͢Δͷ͸σβΠφʔɺϑϩϯτΤϯυΤϯδχΞ w$JSDMF$*ͰҎԼΛߦͳ͏ w($4ʹΞοϓϩʔυ wมߋͷ͋ͬͨϑΝΠϧΛύʔδ wαΠζ͕େ͖͗͢ΔϑΝΠϧ͕͋ͬͨ৔߹ʹ1VMM3FRVFTUͷίϝϯτͰܯࠂ ͢Δ

Slide 24

Slide 24 text

'BTUMZ ΠϯϑϥΞʔΩςΫνϟ #JH2VFSZ $MPVE4UPSBHF $MPVE'VODUJPOT (JU)VC 5FSSBGPSN 4MBDL %FWFMPQFST%FTJHOFST QMBOBQQMZ 6QMPBE -PH -PH .FUSJDT 1VTI 1VSHF $POpHVSBUJPO $PNNFOU 4FBSDI 1VSHF 4MBTIDPNNBOE )551 3FRVFTU

Slide 25

Slide 25 text

,VCFSOFUFTΛ CBDLFOEʹͨ͠"1*

Slide 26

Slide 26 text

$MJFOUT 'BTUMZ *OHSFTT (,& ,VCFSOFUFT "1* (BUFXBZ "1* 4FSWJDF9 "1* 4FSWJDF: 8FC 4FSWJDF; #BDLFOE 4FSWJDF" #BDLFOE 4FSWJDF# ΞʔΩςΫνϟ "VUIPSJUZ ($4 'BTUMZ ੩తϑΝΠϧ )."$ $MPVE4QBOOFS $MPVE1VC4VC ($11SPKFDU" $MPVE4QBOOFS ($11SPKFDU#

Slide 27

Slide 27 text

,VCFSOFUFT w(,&্ͷ,VCFSOFUFTͰ*OHSFTTΛ࡞੒͢Δͱ$MPVE-PBE #BMBODJOH (-# ͕࡞੒͞ΕΔ w"1*(BUFXBZͷ*OHSFTTͱͯ͠࡞੒ w(-#͕'BTUMZͷΦϦδϯ w'BTUMZΦϦδϯؒ͸)5514Ͱ௨৴ w)5514ͷڧ੍΍*1੍ݶɺϔομͷઃఆΛ'BTUMZͰߦͳ͏

Slide 28

Slide 28 text

·ͱΊ w'BTUMZʹ͸ӡ༻Λࢧ͑Δ༷ʑͳٕज़͕͋Δ w5FSSBGPSNQSPWJEFS w%BUBEPH*OUFHSBUJPO w#JH2VFSZ΁ͷϦΞϧλΠϜϩάετϦʔϛϯά wΩϟογϡύʔδ wΫϥΠΞϯτ͔ΒͷશͯͷϦΫΤετͰ'BTUMZΛ׆༻͍ͯ͠Δ w"1* w੩తϑΝΠϧ