Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? æ¦è¦ ã¿ãªããããã«ã¡ã¯ð ããã©ããªãã¨ããå®¶æåçã®æ®å½±ãµã¼ãã¹ãéç¨ãã¦ããä¼ç¤¾ã§CTOããã¦ãã«ã¤ããºãºãã¨ç³ãã¾ãã ãã®è¨äºã§ã¯ãå æ¥ä¼ç¤¾ã®AWSã§å²ã¨é«é¡ã®è«æ±ãæ¥ã¦ãã¾ãðæ»ã«ãããªãæããããã®ã§ããã®ã話ã«ã¤ãã¦ãã¦ããã¾ãã AWSã¯ä¾¿å©ã ãã©ããé使ãããããããªããä¸å®ã«ãªãã¾ãããã ç¹ã«åã¯ãããªã«AWSã«ã¯è©³ãããªã人éãªã®ã§ããªãããããããã§ãã ãã®è¨äºãéãã¦ãåããã£ã¡ã¾ã£ã失æãã¿ãªããã«ç¥ã£ã¦ãããã åããããªå¤±æããã人ã1人ã§ãæ¸ããã¨ãç¥ã£ã¦ã¾ãð ããããã話 ããããã¬ãã«
次ã«ã¤ãã³ãããªã¬ã¼ãè¨å®ãã¾ãããããªã¬ã¼ã追å ããã¯ãªãã¯ãã¾ãã ããªã¬ã¼ã«ãSQSãã鏿ããäºåã«ä½æãã¦ããã FIFO ãã¥ã¼ãæå®ãã¾ããï¼è¨æ¶ãããè¦ãã§ããã以åã¯ããã®é¸æå¯¾è±¡ã« FIFO ãã¥ã¼ã¯è¡¨ç¤ºãããªãã£ãã¨æãã¾ãï¼ãããããµã¤ãºã¯ 5 ã§æ¤è¨¼ãã¦ã¿ã¾ããã ããã§ FIFO ãã¥ã¼ãããªã¬ã¼ã¨ãã Lambda 颿°ãã»ããã§ãã¾ãããæ¬¡ã«ãã¥ã¼ã«ã¡ãã»ã¼ã¸ãæå ¥ãã¦ãåä½ã確èªãã¦ããã¾ãã FIFO ãã¥ã¼ã«æå ¥ 以ä¸ã®ããã« test51 ã test60 ã¾ã§ããã¥ã¼ã« 10 ä»¶ã®ã¡ãã»ã¼ã¸ãæå ¥ãã¾ããã(æå ¥ã®éãSQS ã¤ãã³ãããªã¬ã¼ã¯ç¡å¹ã«ãã¾ãã) ã¤ãã³ãããªã¬ã¼ãåæå¹åãã¦ãå®è¡ããããã°ã CloudWatch Logs ã§ç¢ºèªãã¦ã¿ãã¨ã»ã»ã» ãããã¼ã¼ãå½ããåã§ããæå ¥ããé ã«å¦çããã¦ãããã¨ã確èªã§ãã¾ãããï¼ éè¤æ
å æ¥ãããã¨æ¸ãã AWS Lambda ã®ãããã¤ãã¼ã« lambroll ã§ãããããã¨å ¬éæ¸ã¿ã® bash layer ã使ãã¨ããªãæ°è»½ã«(éãª) shell script ã Lambda ã§å®è¡ã§ãã¦ä½é¨ãããã£ãã®ã§æ¸ãã¦ããã¾ãã AWS Lambda ã®ãããã«ãªãããã¤ãã¼ã« lambroll ãæ¸ãã - é æ¥è¨ ã¯ã¦ãªæ¯åº ã¡ãã£ã¨ãããã®ãLambdaã§æ¸ãã®åå«ãã®ã»ããå¼·ãã£ããã©ãbash layerã¨lambrollã使ã£ããéshell scriptããã¹ãã§æ¸ãã¦ãã®ã«è¿ãæãã«ãªããé¡§å®¢ãæ¬å½ã«ã»ããã£ããã®æããããªããâ fujiwara (@fujiwara) 2019å¹´11æ13æ¥ ä»åã¯ã¨ããçç±ã§ ECS ã®ãµã¼ãã¹å ã®ã¿ã¹ã¯ã宿çã«å ¥ãæãããã£ãã®ã§ãaws ecs update-service ãä¸çºå®è¡ãããã¨ããè¦ä»¶ããããã
CloudFrontãS3 ãªãªã¸ã³ã§å©ç¨ããã¨ãããCloudFrontããã¤ãã¹ããã¢ã¯ã»ã¹ãå¶éããã¤ã³ããã¯ã¹ããã¥ã¡ã³ããè¿ããã¨ããè¦æã¯å°ãªããªãã®ã§ã¯ãªãã§ããããï¼åºæ¥ããã§åºæ¥ãªãã£ãå ±åã Lambda@Edge ã§è§£æ±ºï¼ ã¡ãã£ã¨ä¼ããã«ããã¿ã¤ãã«ã§ããããããããã¨ã¯ä»¥ä¸ã®2ã¤ã§ãã CloudFront ã® S3 ãªãªã¸ã³ã«ã¯ç´æ¥ã¢ã¯ã»ã¹ãããªãï¼CloudFront ããã¤ãã¹ãã S3 ã¸ã®ã¢ã¯ã»ã¹ããããã¯ï¼ ãªãã¸ã§ã¯ãæå®ã®ãªãã¢ã¯ã»ã¹ï¼æ«å°¾"/"ã® URL ã¢ã¯ã»ã¹ï¼ã«ã¯ã¤ã³ããã¯ã¹ããã¥ã¡ã³ããè¿ãï¼ãµããã£ã¬ã¯ããªãå«ãï¼ ç»ã«ããã¨ãããããã¨ã§ãâ ãCloudFront ããã¤ãã¹ãããªããã¨ããç¹ã§ã¾ãèããã®ã¯ããªãªã¸ã³ã¢ã¯ã»ã¹ã¢ã¤ãã³ãã£ãã£ã§ãã¨æãã¾ããããã¦ãããªãã¸ã§ã¯ãæå®ã®ãªãã¢ã¯ã»ã¹ã«ã¤ã³ããã¯ã¹ããã¥ã¡ã³ããè¿ããã¨
æ¦è¦ ãµã¼ãã¬ã¹ã¢ã¼ããã¯ãã£ï¼ä»åã§ããã¨ãµã¼ãã¬ã¹APIï¼ãæ§ç¯ããéãè² è·ãã¹ãï¼ã©ãã·ã¥ãã¹ãï¼ã宿½ããéã«ãããã試è¡é¯èª¤ããæã®Tipsã§ãã ã¢ã¼ããã¯ãã£æ§æ ããããæ§æãAPIGW->Lambda->DynamoDBã¨å¦çãã¦ããAPIãã»ã¨ãã©ã§ãã 宿½å 容 ã©ããã£ã¦ã©ãã·ã¥ãã¹ãããããã ä¸è¨ã®ãã¿ã¼ã³ããã£ã¨æãã¤ãã¾ãã Device Farmã使ã£ã¦ãã¹ãã±ã¼ã¹æå ¥ãã¦ãã£ã¦ã¿ãã JMeterã¨ãã使ã£ã¦ã·ããªãªãã¹ãã£ã½ããã¦ã¿ãã APIã¨ã³ããã¤ã³ãã«å¯¾ãã¦è² è·ãããã¦ã¿ãã JMeterã使ããã¨ãèãã¾ããããã·ã³ãã«ã«æ³å®RPSãèãåãããè¦ããã£ãã®ã§ãï¼ã鏿ãã¾ããã ã©ãã·ã¥ãã¹ã åæºå çµè«ããè¿°ã¹ãã¨ãApacheBenchãvegetaããã¾ããããªãã£ãã®ã§ãwrk使ãã¾ãã wrkã§EC2ã大éã«ç«ã¡ä¸ããå°ããæé
2020/01/20 Update: æ¬ã¨ã³ããªã®å 容ã¯2019å¹´12æ3æ¥ã«ã¢ãã¦ã³ã¹ããããAmazon RDS Proxyãã®ãªãªã¼ã¹ã«ããå®å ¨ã«é³è åãã¾ãããéå»ã®ã¢ã³ããã¿ã¼ã³ããã£ã¼ãããã¯ããã¨ã«ããæ¹åã«ãã£ã¦ã¢ã³ããã¿ã¼ã³ã§ã¯ãªããªãã¨ããæé«ã®äºä¾ã§ãã ãµã¼ãã¼ã¬ã¹å å¹´å§ã¾ã£ãï¼ ä»å¹´ããµã¼ãã¼ã¬ã¹å å¹´ãªçç±. ããã¯Lambdaã«ä»¥ä¸ãæã£ããã. ã»ã«ã¹ã¿ã ã©ã³ã¿ã¤ã ã§å®è³ªã©ããªè¨èªã§ãå©ç¨å¯è½ ã»VPCå©ç¨æã®ã³ã¼ã«ãã¹ã¿ã¼ãæ¹å ã»Provisioned Concurrencyã§ã¹ãã¤ã¯å¯¾å¿ãå¯è½ ã»RDS Proxyã§RDBã¨ã®æ¥ç¶ãç¾å®çã« ããã¾ã§5å¹´ã§åãããã£ã¼ãããã¯ãã¤ãã«çµå®. å¼·ãâ Keisuke Nishitani (@Keisuke69) 2020å¹´1æ19æ¥ RDS Proxyã®è©³ç´°ã¯ãã¡ãããã©ãããã¾ã ãã¬ãã¥ã¼ã§ãããã²è©¦ãã¦
Node.jsã使ç¨ãã¦ããã¨å¿ ãã¨ãã£ã¦ããã»ã©npmã³ãã³ãã§ã©ã¤ãã©ãªããã¦ã³ãã¼ããã¦ããã¨æãã¾ãã npmã§ãã¦ã³ãã¼ãããã©ã¤ãã©ãªãLambda Layersã¸ç»é²ãã¦ããã°ãLambdaæ¬ä½ã¯ããªã軽ã使ãããã¨ãã§ãã¾ãã ä»åã¯Amazon Echoã®ask-sdkãä¾ã«Layersã¸ç»é²ãã¦ä½¿ã£ã¦ã¿ã¾ãã npmã§ãã¦ã³ãã¼ã ãã¼ã«ã«PCä¸ã§"nodejs"ãã©ã«ããä½ãã¾ãã æå¾ã«èª¬æãã¾ãã"nodejs"ã¨ããååã«ã¯æå³ãããã¾ãã "nodejs"ãã©ã«ãå ã§npmã³ãã³ããå®è¡ãã¾ãã cd nodejs npm install ask-sdk "nodejs"ãzipãã¡ã¤ã«ã¸å§ç¸®ãã¾ãã ä¸èº«ã§ã¯ãªã"nodejs"ãã©ã«ããã¨å§ç¸®ããã®ã注æãã¦ãã ããã Layersã¸ç»é² AWS ã®ç®¡çã³ã³ã½ã¼ã«ããLambdaï¼Layersãéãã¦"ã¬
â»: æ¬è¡¨ã¯ç¾å¨ç¢ºèªã§ããæ å ±ããçè ãç¬èªã«ä½æãã¦ãã¾ãã æ³¨æ Aurora Serverlessã®Data APIã¯ç¾å¨Betaçã®ããã夿´ãããå¯è½æ§ãããã¾ãã Data APIã§ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãµãã¼ãããã¾ããã ã¬ã¹ãã³ã¹ã¯æå¤§1,000è¡ã§1MBã®ãµã¤ãºå¶éãããã¾ãã ç¾å¨å©ç¨å¯è½ãªãªã¼ã¸ã§ã³ã¯ç±³å½æ±é¨ (ãã¼ã¸ãã¢åé¨)ã®ã¿ã§ãã ã³ãã¯ã·ã§ã³ã¯æå¤§1åã§ã¿ã¤ã ã¢ã¦ããã¾ãã èªè¨¼æ å ±ã¯Secrets Managerã使ã£ã¦DBã«æ¥ç¶ãã¾ãã ãã£ã¦ã¿ã äºåè¨å® 以ä¸ã®ç¶æ ãåæã¨ãã¾ãã ãªã¼ã¸ã§ã³: ç±³å½æ±é¨ (ãã¼ã¸ãã¢åé¨) Auroraã¨ã³ã¸ã³: Aurora Serverless 5.6.10a ã¾ããAurora Serverlessãèµ·åãã¾ããAurora Serverlessã®èµ·åæ¹æ³ã¯ä»¥ä¸ã®ã¨ã³ããªã御覧ãã ããã Aurora Ser
DynamoDB Streamã¨ã¯ DynamoDB Streamã¯ãDynamoDBã«å¯¾ããé ç®ã®è¿½å ã夿´ãåé¤ãã¤ãã³ãã¨ãã¦æ¤åºã§ããæ©è½ã§ããDynamoDB Streamã使ããã¨ã§ãé ç®ã追å ã»å¤æ´ãããæã«ããã·ã¥éç¥ãé£ã°ãããã¨ãã£ãå®è£ ãå¯è½ã«ãªãã¾ããä»åã¯ããã®ã¤ãã³ããLambdaã§åãåã£ã¦ã¿ããã¨æãã¾ãã åèï¼DynamoDB ã¹ããªã¼ã ã使ç¨ãããã¼ãã«ã¢ã¯ãã£ããã£ã®ãã£ãã㣠DynamoDBå´ã§Streamãæå¹å å ãããDynamoDBã®æ¦è¦ã®ã¿ãã«ãããã¹ããªã¼ã ã®ç®¡çããããStreamãæå¹åãã¾ããæ°æ§ã¤ã¡ã¼ã¸ã鏿ããã¨ãé ç®ã®å¤æ´æã«Lambdaãé ç®ã®Before&Afterã®ä¸¡æ¹ãåãåããã¨ãã§ãã¾ãã DynamoDB Streamãåãåãããã«Lambdaã«å¿ è¦ãªæ¨©é LambdaãDynamoDB Streamãå
æ¦è¦ Lambdaã¯100msã®å®è¡æéåä½ã§ãªã³ããã³ãã«èª²éããããããç«ã¡ä¸ãã£ã±ãªãã®EC2ã¤ã³ã¹ã¿ã³ã¹ããããæéãå®ããªãå¯è½æ§ããããã¨ãä¸è¬ã«ç¥ããã¦ããã ãããã以ä¸ã®æ§è³ªãæºããã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãEC2ã¤ã³ã¹ã¿ã³ã¹ä¸ã«æ§ç¯ããã±ã¼ã¹ã¨æ¯è¼ãã¦ãLambdaä¸ã«æ§ç¯ããã»ããã³ã¹ãå¹çãæªããªãã®ã§ã¯ãªããã¨èå¯ãã¦ã¿ãã Lambda functionã®å®è¡æéã®ãã¡ããããã¯ã¼ã¯I/Oæéãæ¯é çã§ãã Lambda functionã®å®è¡çµäºãåæçã«å¾ ããªããã°ãªããªã è¤æ°ã®ã¬ã³ã¼ããLambda functionã®å¼æ°ã«æ¸¡ããã¨ãã§ããªã Lambdaã®åºæ¬ã³ã¹ãæ§é ã¾ããLambdaã®ã³ã¹ãæ§é ãææ¡ããã Lambdaã®æé表[1]ã«ããã¨ããfunctionã«å¯¾ããåè¨ãªã¯ã¨ã¹ãæ°ãã¨ãfunctionã®åè¨å®è¡æéãã«å¿ãã¦æéãçºçããã å¾
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}