JavaScriptãè§£éã§ããªãã¯ãã¼ã©ã¼ãæ£ããogpã¿ã°ãèªããããã«ããããã«ãã©ã®ãããªã¢ã¼ããã¯ãã£ã§SPAã®ãµã¤ããæ§ç¯ããã°ãããã¨ããã話
JavaScriptãè§£éã§ããªãã¯ãã¼ã©ã¼ãæ£ããogpã¿ã°ãèªããããã«ããããã«ãã©ã®ãããªã¢ã¼ããã¯ãã£ã§SPAã®ãµã¤ããæ§ç¯ããã°ãããã¨ããã話
ã¯ããã« æ¸ æ°´ã§ããã¿ã¤ãã«ã®ã¨ãããªã®ã§ãããAmazon CloudFrontã§ã¯ã¨ãªæååããªãªã¸ã³ã«è»¢éããããè¨å®ãã¦ããå ´åã§Invalidationï¼ãã¡ã¤ã«ã®ç¡å¹åï¼ãè¡ãéã«ã¯ãInvalidation対象ã®ãã¹ã«ã¯ã¨ãªæååãå«ããå¿ è¦ãããã¾ããï¼ã¯ã¨ãªæååé¨åã®ã¯ã¤ã«ãã«ã¼ãã®å©ç¨ãå¯ã§ããï¼Cookieããããã¼ããªãªã¸ã³ã«è»¢éãã¦ããå ´åã¯å¯¾è±¡ã¨ãªããã¹ã®ã¿ãæå®ããã°è¯ããããæ··ä¹±ãããã¨ãããããããã¾ãããã¨ãããç§ãæ··ä¹±ãã¦ãã¾ã£ãã®ã§åå¿é²ãã¦ãã¾ã¨ãã¦ã¿ããã¨æãã¾ãã CloudFrontã§ã¯ã¨ãªæååããªãªã¸ã³ã«è»¢éãã¦ããéã®Invalidationã«ã¤ãã¦ç¢ºèªãã¦ã¿ã Amazon CloudFrontéçºè ã¬ã¤ãã確èªããã¨ããã®æ¨è¨è¼ãããã¾ãã ãã¡ã¤ã«ã®ç¡å¹å - Amazon CloudFront ãç¡å¹ã«ãããã¡ã¤ã«ã®æå®ã >
ããã«ã¡ã¯ããã¼ã®ã§ãã仿¥ã¯CloudFrontã使ã£ã¦ããæ¹ã«ã¡ãã£ã¨ä¾¿å©ã«ãªã£ãã¢ãããã¼ãããç´¹ä»ãã¾ãã invalidationãã¡ãã£ã¨æ¥½ã«ãªã£ã CloudFrontã§é ä¿¡ãè¡ãå ´åãå½ç¶ãªãããã£ãã·ã¥ã³ã³ããã¼ã«ãéè¦ãªãã¤ã³ãã¨ãªãã¾ããã¹ã¿ã¤ã«ã·ã¼ãããã´ç»åçãã»ã¨ãã©è§¦ããã¨ã®ãªããããªãã¡ã¤ã«ã¯TTLãæ°ã¶æã1å¹´ã¨é·ãã«ã¨ã£ã¦ç½®ããã¨ã§CloudFrontå ã«ä¿ç®¡ãããã³ã¹ãã®ç¯ç´ã«ãªãã¾ãããWebã·ã¹ãã ãªã©ã§ã¯å®æçã«å¤æ´ãããããç»åçãã¾ãã«ãã£ãã·ã¥ãæ¶ããªãã¦ã¯ãããªãéç¨ãåå¨ãã¾ããã¾ããã¼ã¿ã«ãµã¤ããéå¶ãã¦ããæ¹ã¯ã¦ã¼ã¶ã¼ã®éä¼å¦çã«ä¼´ããã®ã¦ã¼ã¶ã«é¢ããå ¨ã¦ã®ç»åãæ¶ãå¿ è¦ãåºã¦ãã¾ããã¢ã¤ã³ã³ã¯ãã¡ãããSNSã®ãããªãµã¤ãã§ããã°ãã©ã¤ãã¼ããªç»åãå¤ãã§ãããããã¡ãã¨ããªã·ã¼ãè¨ãã¦ç¢ºå®ã«ãã£ãã·ã¥ãæ¶ãã¦ãããªãã¨æ¨©å©çã«ã
ç¹ã«åé¡ã¨ãªãã®ãS3ã®å ´åã§ãããEC2ã¤ã³ã¹ã¿ã³ã¹ä¸ã®Webã¢ããªã±ã¼ã·ã§ã³ã§ããã°Originãããã®æç¡ã«é¢ä¿ãªãAccess-Control-Allow-Originããããè¿ããã¨ãã§ãã¾ãããS3ã®CORSæ©è½ã¯ä»æ§éãã®å®è£ ã§ããããOriginããããåå¨ããªãå ´åã¯Access-Control-Allow-Originããããè¿ãã¾ãããå ·ä½çã«ã¯ã以ä¸ã®æ§ãªæåã«ãªãã¾ããã¾ãã¯Originããããã¤ããªãï¼åä¸ãã¡ã¤ã³ï¼ã®å ´åã§ããcurlã³ãã³ãã§Static Website Hostingãæå¹ã«ããS3ãã±ããhoge.example.com.s3-website-ap-1.amazonaws.comã«å¯¾ãã¦ã¢ã¯ã»ã¹ãã¾ãã $ curl -I hoge.example.com.s3-website-ap-1.amazonaws.com/hoge HTTP/1
ã©ãã大ç§ã§ãã æ¬æ¥ãAWSã®CDNãµã¼ãã¹CloudFrontã®ãã£ãã·ã¥ç¡å¹å(Invalidation)é«éåã®ã¢ãã¦ã³ã¹ãããã¾ããã AWS Developer Forums: Announcing Fast Invalidations 試ãã¦ã¿ãæ§åãã¬ãã¼ããã¾ãã CloudFrontã®ãã£ãã·ã¥åé¤ã«ãããæé CloudFrontã®ãã£ãã·ã¥åé¤ã¯ãã³ã³ãã³ãã®ãã¹åä½(ã¯ã¤ã«ãã«ã¼ãæå®ãå¯)ã§å¾æ¥10ã15åç¨åº¦ããã£ã¦ãããã®ã§ããä»åã®ã¢ãããã¼ãã§ãCloudFrontã¨ãã¸ãã±ã¼ã·ã§ã³(ãã£ãã·ã¥ãµã¼ãã¼)ã®90%ã«ã¯5ç§ã§ãå ¨ä½ã«ã¯1åã§åé¤ãè¡ãããããã«ãªãã¾ãããåæãªã¯ã¨ã¹ãæ°ãæéãªã©ã®ã«ã¼ã«ã¯å¾æ¥éãã§ãã ã§ã¯ãæå ã®CloudFront Distributionã§è©¦ãã¦ã¿ã¾ãããã£ãã·ã¥è¨å®ã¯ä»¥ä¸ã®éãã60ç§ãã£ãã·ã¥ããç¶æ (Defa
ã¯ããã« S3ãWebã³ã³ãã³ãã®ç½®ãå ´æã¨ãã¦ä½¿ãå ´åãWebã¢ããªã±ã¼ã·ã§ã³å´ã§ãã®S3ä¸ã®ã³ã³ãã³ãã«å¯¾ããPre-signed URLãçæãããã¨ã§ãWebã¢ããªã±ã¼ã·ã§ã³ã§èªè¨¼ãããã¦ã¼ã¶ã«éãã³ã³ãã³ãã«ã¢ã¯ã»ã¹å¯è½ã¨ãããããªä»çµã¿ãä½ããã¨ã¯è¯ãããã¾ãã ãã ããã®S3ã¢ã¯ã»ã¹ç¨ã¨ãã¦çæããPre-signed URLã¯ãCloudFrontãçµç±ããå½¢ã§ã¯ä½¿ãã¾ããã CloudFrontçµç±ã§ãéãããã¦ã¼ã¶ã®ã¿S3ããã³ã³ãã³ããåå¾åºæ¥ãããã«ããããã«ã¯ãCloudFrontç¨ã®ç½²åä»ãURLãçºè¡ããå¿ è¦ãããã¾ãã ããã§ä»åã¯ãCloudFront+Amazon S3ãçµã¿åããã¦ãç½²åä»ãURLã使ã£ãå¶éãããã³ã³ãã³ã(ãã©ã¤ãã¼ãã³ã³ãã³ã)ã®é ä¿¡ã試ãã¦ã¿ã¾ããã ãã£ã¦ã¿ã ä»å試ãããã¨ã¯ã以ä¸ã®AWSã®ããã¥ã¡ã³ããåç §ããªããè¡ã£ã¦ã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}