ããã«ã¡ã¯ãå»çãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ãšã³ãžãã¢ã®äžçã§ããäž»ã«ãªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ã㪠CLINICS ã®éçºãæ
åœããŠããŸãã ä»å㯠CLINICS ã¢ããªå
ã§æ±ãåŠæ¹ç®ãã¬ãã¥ãŒã«éãã(watermark)ãå
¥ãã話ã玹ä»ããããšæããŸãããªã宿œããã®ããå®è£
æ¹æ³ãããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã® 3 æ¬ç«ãŠã§ãéãããããšæããŸãã 課é¡ãšè§£æ±ºæ¹é ãŸãããªãåŠæ¹ç®ãã¬ãã¥ãŒã«éãããå
¥ããããšã«ããã®ãã CLINICS ã§ã¯èšºå¯åŸã«æ£è
ãåžæãããšããããã€ãè¬å±æ¯æŽã·ã¹ãã Pharms ãå°å
¥ããŠãã調å€è¬å±ã«ãŠãªã³ã©ã€ã³æè¬æå°ãåããããšãã§ããŸãããã®éã«å»çæ©é¢ããåŠæ¹ç®ã®ç»åãã¡ã€ã«ã PDF ãã¢ããããŒãããæ£è
㯠CLINICS ã¢ããªãéããŠããªã³ã©ã€ã³æè¬æå°ãåããã調å€è¬å±ã«åŠæ¹ç®ããŒã¿ãéãå¿
èŠããããŸãã æ£è
ã¯ãªã³ã©ã€ã³æè¬æå°ãäºçŽããåã«å»çæ©é¢ããã¢ããããŒããããåŠæ¹ç®ç»åããã¬ãã¥ãŒã§ããŸãããã®åŠæ¹ç®ãã¬ãã¥ãŒã¯åæ¬ãšã¯æ±ããç°ãªããããæ£è
ãã¢ããªå
ã§ãããããæç¢ºã«åºå¥ã§ãããããªå¯Ÿå¿ãå
¥ããå¿
èŠãããããã®ææ®µãšããŠåŠæ¹ç®ãã¬ãã¥ãŒã«éãããå
¥ããããšã«ãããšããã®ãçç±ãšãªããŸãã å®çŸã»å®è£
æ¹æ³ ãŸãã¯ç»åã«éãããå
¥ããæ¹æ³ãèããããããã·ã¹ãã äžã§ã©ã®ã¿ã€ãã³ã°ã§éãããå
¥ãããæ€èšããŸãããåææ¡ä»¶ã§ãããåŠæ¹ç®ãã¬ãã¥ãŒç»åã¯ä»¥äžã®ãããªåœ¢ã§ä¿åãããŠããŸãã ãã©ãŒããã: JPEG, PNG, GIF, PDF(ç»å以å€ããã) ä¿åå Žæ: S3 ç»åã«éãããå
¥ããæ¹æ³ éããã¯æè¡çã«ã¯ 2 æã®ç»åãã¢ã«ãã¡ãã¬ã³ã 1 ã䜿ã£ãŠåæããç»åãšãªããŸãã ã¢ã«ãã¡ãã¬ã³ãã®å®çŸæ¹æ³ã¯èšèªãã©ã€ãã©ãªã«ãã£ãŠãããããããŸãããä»åã¯åŠæ¹ç®ãæ±ãã·ã¹ãã ã Go ãå©çšããŠããã®ã§ãGo ã®ä»¥äžã®æšæºã©ã€ãã©ãªã䜿ã£ãŠå®è£
ããŸããããŸããç»åã«ã¯åã( orientation )ã®æ
å ±ãä¿æãããŠããã®ã§ãããåããæèããªããšåææã«ãããããªãããšããããŸãã端æ«ãããŒã«ã«ãã£ãŠåãæ±ããç°ãªãéšåãå€ãã®ã§ããããè§£æ¶ããŠããã disintegration/imaging ããã±ãŒãžãå©çšããŸããã image ããã±ãŒãž : ããŒã¹ã©ã€ãã©ãª ximage ããã±ãŒãž : æç»åŠç disintegration/imaging ããã±ãŒãž : èªã¿èŸŒã¿æã«åããè£æ£ 詳现ã¯çããŸããã以äžã®ãããªã³ãŒãã§åæã§ããŸã func Watermark ( srcFile string ) { // å
ç»å imgb , _ := os . Open ( srcFile ) var img image . Image img , _ = imaging . Decode ( imgb , imaging . AutoOrientation ( true )) defer imgb . Close () // äžã«éããéããç»å wmb , _ := os . Open ( "watermark.png" ) watermark , _ , _ := image . Decode ( wmb ) defer wmb . Close () // éãããé
眮ããå Žæ (ç»åãµã€ãºã«ãã£ãŠç°ãªããããå®éã¯èšç®ãå¿
èŠ) watermarkRect := image . Rectangle { image . Point { 100 , 100 }, image . Point { 200 , 300 }} // åæåŠçïŒããã§ã¯ãã€ãªãã¢è£éã§å®æœïŒ b := img . Bounds () m := image . NewNRGBA ( b ) draw . Draw ( m , b , img , image . ZP , draw . Src ) draw . BiLinear . Scale ( m , watermarkRect , watermark , watermark . Bounds (), draw . Over , nil ) // åæç»åã®åºåïŒJPEG åºåãä»ã®ãšã³ã³ãŒããŒãå©çšããã°ä»ã®ç»å圢åŒãå¯ïŒ imgw , _ := os . Create ( "/tmp/dest.jpg" ) jpeg . Encode ( imgw , m , & jpeg . Options { Quality : jpeg . DefaultQuality }) defer imgw . Close () } PDF ã«éãããå
¥ããæ¹æ³ ãŸããä»åã®èŠä»¶ã«ã¯ PDF ãã¡ã€ã«ã«ãéãããå
¥ããå¿
èŠããããŸãããPDF ã«ã¯ã¬ã€ã€ãŒãšããæŠå¿µããããå
ã® PDF ã«å¯ŸããŠéãããå
¥ããã¬ã€ã€ãŒã远å ããã°å®çŸã§ããŸããGo ã«ã¯ PDF ãæšæºã§æ±ããããã±ãŒãžããªãã£ãã®ã§ãä»å㯠pdfcpu ãå©çšããŸããã éããã®ã¬ã€ã€ãŒã远å ãã颿°ãçšæãããŠããã以äžã®ã³ãŒãã ãã§å®çŸã§ããŠå€§å€äŸ¿å©ã§ãã 2 wm , _ := api . ImageWatermark ( "watermark.jpg" , "sc:.8 rel, rot:0" , onTop , update , pdfcpu . POINTS ) api . AddWatermarksFile ( "src.pdf" , "dest.pdf" , nil , wm , nil ) S3 ç»åã«éãããå
¥ããæ¹æ³ AWS ãå©çšããŠãããš S3 ã«åçš®ãã¡ã€ã«ãä¿åããããšãå€ããšæããŸãã åºæ¬çã«ã¯ S3 ç»åãèªã¿èŸŒãã§éããåŠçãããã°å®çŸã§ããŸãããAWS ã«ã¯ S3 ã®ã¬ã¹ãã³ã¹ãå å·¥ãããããŒãžã¡ã³ããµãŒãã¹ãããã€ããããä»å㯠S3 Object Lambda ãå©çšããŸããã S3 Object Lambda ãå©çšããããšã§ S3 ãããã¡ã€ã«ãååŸããéã« Lambda ã«ããåŠçãå®è¡ããããã§è¿åŽããããšãã§ããŸãããããå©çšããŠãå
ã®ç»åã« Lambda ã§éãããå
¥ããŠè¿åŽããããšãã§ããŸãã åŠæ¹ç®ãã¬ãã¥ãŒã«éãããå
¥ããåã®æ§æã¯ä»¥äžã®ãããªã€ã¡ãŒãžã§ãã ã¢ããªãµãŒããŒã«ãŠåŠæ¹ç®ãã¬ãã¥ãŒã® S3 presigned URLïŒçœ²åä»ã URLïŒãçºè¡ ã¯ã©ã€ã¢ã³ãã«è¿ã ã¯ã©ã€ã¢ã³ãã¯åãåã£ã URL ã«ã¢ã¯ã»ã¹ãåŠæ¹ç®ãã¬ãã¥ãŒã衚瀺ããã ããã« S3 Object Lambda ãå©çšããŠéãããå
¥ãããšä»¥äžã®ããã«ãªããŸãã ã¢ããªãµãŒããŒã«ãŠåŠæ¹ç®ãã¬ãã¥ãŒã® S3 Object Lambda Access Point ã® presigned URLïŒçœ²åä»ã URLïŒãçºè¡ ã¯ã©ã€ã¢ã³ãã¯åãåã£ã URL ã«ã¢ã¯ã»ã¹ S3 Object Lambda Access Point ã¯éããåŠçãè¡ã Lambda 颿°ãå®è¡ããã®éã« S3 Access Point ã®çœ²åä»ã URL ãçºè¡ãããªã¯ãšã¹ããã©ã¡ãŒã¿ã«èšå® Lambda Function ã¯åãåã£ã URL ã«ã¢ã¯ã»ã¹ãåŠæ¹ç®ãã¬ãã¥ãŒã®å
ç»åãååŸããŠéãããå
¥ããŠè¿åŽ éããå
¥ãã®åŠæ¹ç®ãã¬ãã¥ãŒã衚瀺ããã æ°ãã« S3 Object Lambda Access Point , Lambda Function , S3 Access Point ãçšæããå¿
èŠããã£ãŠå°ããããããã§ããç°¡åã«èª¬æãããšä»¥äžã®ãããªåœ¹å²ã®ãã®ãšãªããŸãã icon title description S3 Access Point S3 Bucket ã«å¯Ÿãã aliasãS3 Object Lambda ã¯å¿
ããããçµç±ã㊠S3 ã«ã¢ã¯ã»ã¹ããå¿
èŠããã Lambda Function S3 ã®ãã¡ã€ã«ã«å¯ŸããŠãªãããã®åŠçã宿œãã颿° S3 Object Lambda Access Point S3 Access Point ã«å¯Ÿã㊠Lambda 颿°ãå®è¡ããããã®ã¢ã¯ã»ã¹ãã€ã³ã éããåŠçãå®éåŒã³åºãéã¯ãã¢ããªã±ãŒã·ã§ã³åŽãã㯠S3 ã® presigned URL ãã S3 Object Lambda Access Point ã® presigned URL ã«åãæ¿ããã ããªã®ã§ãéãããããªãã®åãæ¿ããç°¡åã§ãã S3 presigned URL: https://[bucket-name].s3.ap-northeast-1.amazonaws.com/prescription.jpg?[signature] â S3 Object Lambda Access Point presigned URL: https://[s3-object-lambda-access-point]-[account-id].s3-object-lambda.ap-northeast-1.amazonaws.com/prescription.jpg?[signature] S3 Object Lambda ãå©çšããããšã§ä»¥äžã®ãããªã¡ãªããããããŸãã 远å ã®ã€ã³ãã©æ§ç¯ãäžèŠ æ¢åãµãŒããŒã®ãªãœãŒã¹è¿œå ããæ°ãã«éããåŠççšã®ãµãŒããŒãçšæããå¿
èŠããªããæ¢åã®ã¢ããªãµãŒããŒãžã®åœ±é¿ã軜埮ã«ã§ãã Lambda ãèªåçã«ã¹ã±ãŒã«ã宿œããŠãããã®ã§è² è·å¯Ÿçã容æ å©çšããåã ãã®èª²éãšãªãïŒS3 Get + Lambda + S3 Object Lambda ã®å©çšæïŒ éãããå
¥ããåŠæ¹ç®ãã¬ãã¥ãŒç»åãäºåã«çšæããå¿
èŠããªã äºåã«çšæãããšãªãªãŒã¹åã«ä¿æããç»åã«å¯ŸããŠãåŠçããå¿
èŠãåºãŠãã (ãã ããä»åã¯ç¹å®ã®ãŠãŒã¶ãŒã®ã¿ã®ã¢ã¯ã»ã¹ãªã®ã§äžç¹å®å€æ°ã®ã¢ã¯ã»ã¹ãèŠèŸŒãŸããå Žåã¯äºåçæããã»ãããããããããŸãã) ãã¡ããç»åã ãã§ã¯ãªããããã¹ãããŒã¿ãªã©ä»ã®ãã®ã«ãå©çšã§ããã®ã§ãS3 ã«ä¿ç®¡ããæ©å¯æ
å ±çããã£ã«ã¿ãªã³ã°ããŠè¿ãããçšéãªã©ã«ããããããŸãã AWS å
¬åŒããã¥ã¡ã³ãã«è©³çްãªè§£èª¬ãšæ§ã
ãªãŠãŒã¹ã±ãŒã¹ã®ãã¥ãŒããªã¢ã«ããããŸãã®ã§ãèå³ãããæ¹ã¯æ¯é埡芧ãã ããã S3 Object Lambda ã䜿çšãããªããžã§ã¯ãã®å€æ ããã©ãŒãã³ã¹ã»ãã¥ãŒãã³ã° ãããŸã§ã§ãåŠæ¹ç®ãã¬ãã¥ãŒã«éãããå
¥ããåŠçèªäœã¯å®æããŸãããããã§æ°ã«ãªã£ãŠããã®ãããã©ãŒãã³ã¹ã«ã€ããŠã§ããä»ãŸã§ã¯ S3 ã®ç»åã衚瀺ããã ãã§ãããéããåŠçã« S3 Object Lambda ã䜿ãããšã«ãªã£ããããéåºŠãšæéãæ°ã«ãªããšããã§ãã æ§ã
ãªãã¥ãŒãã³ã°ãã€ã³ãããããŸãããä»å㯠Lambda ã®ã¡ã¢ãªèšå®ã«çŠç¹ãçµã£ãŠã話ããããšæããŸãã Lambda ã® CPU ããã©ãŒãã³ã¹ Lambda ã¯ã¡ã¢ãªèšå®ããã§ããŸããããã¡ã¢ãªéã«æ¯äŸã㊠CPU æ§èœãåäžããä»çµã¿ãšãªã£ãŠããŸãã å
¬åŒããã¥ã¡ã³ã äžã§ã¯ 1769MB ããã 1vCPU ã§ãããšãããŠããŠãMAX ã® 10240MB ã§ 6vCPU 䜿ãããšããŠããŸããå®éã« Lambda ã® vCPU ã®èšå®ã調ã¹ãããã° ( SENTIA tech blog ) ã§ã¯ä»¥äžã®ããã«ãªã£ãŠããããã§ãã Memory vCPUs 128 - 3008 MB 2 3009 - 5307 MB 3 5308 - 7076 MB 4 7077 - 8845 MB 5 8846 - 10240 MB 6 ãã ããã¡ã¢ãªããããå¢ããããšããã§é¢æ°èªäœããã«ãã¹ã¬ããã»ãã«ãããã»ã¹åãããŠããªãå Žåã¯ããã©ãŒãã³ã¹åäžãèŠèŸŒããªããšããããšã«ããªããŸããé©åã«äžŠååŠçãå®è£
ãããŠããã°ãvCPU ãå¢ããå¢ç®ã§å€§ããªæ§èœåäžãæåŸ
ã§ããŸãã Lambda ã®æé æ±äº¬ãªãŒãžã§ã³(ap-northeast-1)ã«ãããŠã2022 幎 10 æçŸåšã¯ä»¥äžã®ãããªæéãšãªããŸãã 3 ç¡ææ : 1 ã¶æããã 100 äžãªã¯ãšã¹ãã40 äž GB-ç§(仮㫠1 GB ã§åããããšã㊠40 äžç§äœ¿ãã) 128 MB ã ãš 320 äžç§ã 10240 MB ã ãš 4 äžç§ æææ : 100 äžãªã¯ãšã¹ãããã 0.20 USD, GB-ç§ããã 0.00001666667 USD 1 åãªã¯ãšã¹ãããã 20 USD 128MB ã§ 1 äžç§ 䜿ããš 0.02083 USD 1024MB ã§ 1 äžç§ 䜿ããš 0.16666 USD äžèšã¯ x86(amd64) ã®å€æ®µãarm ã ãš 2 å²åŒ arm 㯠CPU ããã©ãŒãã³ã¹ã 2 å²åäžãããšèšãããŠããã®ã§ãå¯èœã§ããã° arm ãéžæãããšæŽã«ã³ã¹ãåäžãæåŸ
ã§ãã ãã®ããã«èŠãŠã¿ããšããµãŒããŒãã³ã³ãããå©çšããå Žåã¯ã©ããªã«æå°æ§æã§ãåé·åãèãããšæ°åãã«ã¯ãããã®ã§ãç¹ã«é »ç¹ã«å®è¡ãããªãæ©èœã¯ Lambda ã«ãããµãŒããŒã¬ã¹åãæ€èšãããšè¯ãããã§ãã ãŸããæéãããã§æéãããããšããããšã¯ãAPI ãªã©ãããã¯ãŒã¯ã¢ã¯ã»ã¹ã§æéã䜿ã£ãå Žåãæéããããããšã«æ³šæãå¿
èŠã§ããå€éš API ã®ããã©ãŒãã³ã¹ã«äŸåããŠããŸãã®ã§ããªãã¹ã Lambda 㯠CPU ã䜿ã£ãåŠçãæ¯é
çã«ãªããšã³ã¹ãããå©çšããããšãã§ããŸãã ãã³ãããŒã¯ Lambda ã®ããã©ãŒãã³ã¹èšæž¬ã«ã¯ã AWS Lambda Power Tuning ãå©çšããŸãããAWS Lambda Power Tuning 㯠Step Functions ãš Lambda ã䜿ã£ãŠ Lambda ã®é床ãšã³ã¹ããèšæž¬ã§ããããŒã«ã§ãã Step Functions ãš Lambda ããããã€ããäžã§ãStep Functions ã® state machine ã«èšæž¬ããã Lambda ã® ARN, memory èšå®, å®è¡åæ°, payload ãå
¥åããããšã§ãã³ãããŒã¯çµæãååŸã§ããŸãã å®è¡ãããšæçµçµæã« URL ãåºåããããã® URL ããã©ãŠã¶ã§è¡šç€ºããããšã§ãã°ã©ãã§çµæãšã¹ã³ã¢ããŒãã§çµæãå¯èŠåãããŸãããŸã 2 ã€ã®çµæãæ¯èŒããŠè¡šç€ºããããšãã§ããŸãã®ã§æ¹ååŸã«æ¯èŒããããšã容æã§ãã 4 AWS Lambda Power Tuning ã®å°å
¥ ãªããžããªã®ããã¥ã¡ã³ã ã«åŸãå°å
¥ããŠãããŸãã ä»å㯠AWS Serverless Application Repository(SAR) ã䜿ã£ãŠå°å
¥ããŸãããAWS Serverless Application Repository(SAR) ãšã¯ãã®åã®éãããµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³ã管çãããªããžããªã§ãããçµç¹å
ã«éããå
¬éããããšãå¯èœã§ãä»ã®äººãåå©çšå¯èœã«ãªã£ãŠããŸãããŸããå°å
¥ããéã¯å
¬éããŒãžã® Deploy ãã¿ã³ããããã ãã§èªèº«ã® AWS ã¢ã«ãŠã³ãäžã«ãããã€ããã CloudFormation ã® Stack ãšããŠç®¡çãããŸããåé€ã CloudFormation ã® Stack ãåé€ããã ãã§å®æœã§ããŸãã AWS Lambda Power Tuning 㯠ãã¡ããã èªèº«ã®ã¢ã«ãŠã³ãã«ãããã€ã§ããŸãã ãŸããAWS ãå人ã ãã§ãªã Datadog ã New Relic ãªã©ä»ã®ãããªãã·ã£ãŒããµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³ãå
¬éããŠããã®ã§ãä»ã«ã䜿ããããã®ããªããæ¢ããŠã¿ããšãããããããŸããã AWS Lambda Power Tuning ã®å®è¡ ãããã€ãå®äºãããšãAWS Step Functions äžã« state machine ãããã®ã§ãstate machine ã«ãã©ã¡ãŒã¿ãå
¥åããããšã§èšæž¬ãã§ããŸãã ãªããžããªã®ããã¥ã¡ã³ã ã«ããã€ãããæ¹ãèšèŒãããŠããŸããããã§ã¯ å®è¡ãã©ã¡ãŒã¿ãå®çŸ©ãã json ãã¡ã€ã«ãçšæããŠã¹ã¯ãªããããå®è¡ããæ¹æ³ã玹ä»ããŸãã ãŸãã¯ã AWS Lambda Power Tuning ãªããžã㪠ã git clone ãã scripts/sample-execution-input.json ãç·šéããŸãã { "lambdaARN" : "arn:aws:lambda:ap-northeast-1:123456789012:function:lambda-performance-tuning" , "powerValues" : [ 128 , 256 , 512 , 832 , 1024 , 1536 , 1769 , 1770 , 2048 , 3008 ], "num" : 100 , "payload" : { "body" : "{ \" id \" : \" 123 \" , \" name \" : \" performance \" }" , "path" : "/api/performance" , "httpMethod" : "GET" , "isBase64Encoded" : false , "multiValueHeaders" : { "Accept" : [ "application/json" ] } }, "parallelInvocation" : false } å
¥åå€ã®è©³çްã¯ä»¥äžã®éãã§ãã 5 lambdaARN: Lambda Function ã® ARN powerValues: èšæž¬ããã Lambda ã®ã¡ã¢ãªãæå® num: ã¡ã¢ãªããšã® Lambda å®è¡åæ° payload: Lambda Function ã«ããã Event JSON ã®å
容 parallelInvocation: ãã³ãããŒã¯ã䞊åå®è¡ãã æ¬¡ã«ã scripts/execute.sh ãå®è¡ãããšããã³ãããŒã¯ãéå§ãããæåŸã«çµæ URL ãåºåãããŸãããããã€æã®èšå®ã«ãã£ãŠãCloudFormation ã® Stack Name ãéãå ŽåããããŸãã®ã§ãå¿
èŠã«å¿ããŠæžãæããŠãã ããã $ sh ./scripts/execute.sh -n Execution started... -n . : -n . SUCCEEDED Execution output: { "power" :128, "cost" :8.4E-9, "duration" :3.6706666666666674, "stateMachine" : { " executionCost ":4.0E-4," lambdaCost ":1.0178708203125003E-4," visualization ":" https://lambda-power-tuning.show/#gAAAAQACQAMABAAG6QbqBgAIwAs = ; NOxqQP9GmkDFII5AbxKBQLErfECGXW1AWDmGQNNNjkBpSo1ARf1nQA = = ; l08QMn1jtDJ9YzQz1pCSM5dPkDNjd9gzb9AbNPzmGzR9YzQ05vRTNA = ="}} èšæž¬æ¹æ³ã¯ä»¥äžãç°¡åã§ãã ð AWS Lambda Power Tuning ã®çµæç¢ºèª èšæž¬çµæã確èªããŸãã颿°ã«ãã£ãŠåŸåã¯ç°ãªããŸãããããã§ã¯ 2 çš®é¡ã®ãã¿ãŒã³ã玹ä»ããŸãã DB ã API ã¢ã¯ã»ã¹ãªã©å€éšåŠçãæ¯é
çãªã±ãŒã¹(Network-intensive) Lambda å
ã®åŠçãå€éšåŠçã§å ããŠããå Žåã¯ã 以äžã®ãããªã°ã©ã ã«ãªããŸãã èµ€è²ã®å®è¡æéãã©ã®ã¡ã¢ãªèšå®ã§ã 4ms ååŸãšå€§ããªå€åããªããéè²ã®ã³ã¹ãã ããå³è©äžããã«ãªã£ãŠããŸãã ãã®å Žåã¯ãLambda ã®æäœã¡ã¢ãªã§ãã 128MB ãæé©ãšããããšã«ãªããŸãã CPU å®è¡æéãæ¯é
çãªã±ãŒã¹(CPU-intensive) Lambda å
ã®åŠçãå
éšåŠçã§å ããŠããå Žåã¯ã 以äžã®ãããªã°ã©ã ã«ãªããŸããéããåŠçã¯ç»ååæåŠçã«å€ãã® CPU ãå©çšããã®ã§ããã¡ãã®ãã¿ãŒã³ãšãªããŸããã ã¡ã¢ãªãå°ãªããšé床ãåºãŠããããã¡ã¢ãªãå¢ããã«é£ããŠéåºŠãæ¹åããŠãããã³ã¹ãã®å¢å ãç·©ããã§ãããã ããä»åã¯ããã°ã©ã ããã«ãã¹ã¬ããã»ãã«ãããã»ã¹å¯Ÿå¿ã¯ããŠããªããããã³ã¢æ°ãå¢ãã 1770MB 以éã¯å€§ããªé床æ¹åã¯èŠããããã³ã¹ããäžããçµæãšãªã£ãŠããŸãã ãã£ãŠããã®ã±ãŒã¹ã§ã¯ã³ã¹ãã ããèãããäœã¡ã¢ãªãæå©ã§ãããé床ãèããã 1024MB ~ 1770MB ãããã«ããããšãæ€èšãããšè¯ãããã§ãã ãŸãšã åŠæ¹ç®ãã¬ãã¥ãŒã«éãããå
¥ããããšã«ãªã£ãèæ¯ãå®çŸæ¹æ³ã玹ä»ããããŸããã éããåŠçã¯ã¢ã«ãã¡ãã¬ã³ãåŠçã宿œããããšã§å®çŸã§ããPDF ã«ã€ããŠã¯éããçšã®ã¬ã€ã€ãŒãéããããšã§å®çŸã§ããŸãã S3 Object Lambda ãå©çšããããšã§ã远å ã®ãµãŒããŒæ§ç¯ãããããšãªããS3 ã®ãã¡ã€ã«ã«å¯ŸããŠãã£ã«ã¿ãªã³ã°ããããããšãã§ããŸãã Lambda ã®ããã©ãŒãã³ã¹ã»ãã¥ãŒãã³ã°ã«ã€ããŠã¯ãAWS Lambda Power Tuning ãå©çšããŠå¯èŠåã§ããŸããå€éš API ãªã©ãããã¯ãŒã¯äŸå(Network-intensive)ã§ã¯ãªããCPU åŠçãäžå¿(CPU-intensive)ã«ãªããšãã³ã¹ãããå©çšããããšãã§ããŸãã S3 ã®ãã¡ã€ã«ã«å¯ŸããŠãªãããã®åŠçã宿œããããšèããŠãæ¹ã¯ãäžåºŠ S3 Object Lambda ã®å©çšãæ€èšããŠã¿ãŠã¯ãããã§ããããïŒ ãŸããLambda ã®ãã¥ãŒãã³ã°ãã€ã³ãã¯è²ã
ãããŸãããAWS Summit Online ã§ç޹ä»ããã以äžã®ã»ãã·ã§ã³ããããããªã®ã§ããã£ãšæ·±ããã¥ãŒãã³ã°ãããæ¹ã¯æ¯éã芧ãã ããïŒ AWS Lambda Performance Tuning Deep Diveãæ¬åœã«ç¥ãããã®ã¯âããâã ã£ãã ãããã« ã¡ãã¬ãŒã§ã¯ãå»çåéã®ç€ŸäŒèª²é¡ã IT ã«ãŠè§£æ±ºããããã«æ¥ã
éé²ããŠãããŸããå»çãšããåéã«ãããŠã¯ãæ©åŸ®ãªæ
å ±ãæ±ã£ãã蚺çãšãã倧äºãªæ¥åãæ¢ããªããããå¯çšæ§ãããã©ãŒãã³ã¹ãã»ãã¥ãªãã£ãšãã«é«ããµãŒãã¹ã¬ãã«ãæ±ããããŸããèå³ãããæ¹ã¯æ¯éãé£çµ¡ãã ããã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp Footnotes å
ç»åã«çŽæ¥æåãå³åœ¢ãªã©ãæç»ããããšããã¡ããå¯èœã§ãããéãããç»åããŒã¿ãšããŠãã¶ã€ã³ã管çãããããšããããä»åã¯ã¢ã«ãã¡ãã¬ã³ããéžæããã ã¢ã«ãã¡ãã¬ã³ã - wikipedia â© pdfcpu API document: watermark example â© ãã ãæåã® 60 å GB ç§/æãæšä»ã¯åå®ãªã®ã§ãã«å»ºãŠã§å©çšããŠããã€ã³ãã©ã³ã¹ããäžãã£ãŠãããUSD 衚èšã ãšã³ã¹ããå€ãããªãããã«ã¿ããã®ã§èŠæ³šæã AWS Lambda æé â© ãã® UI 㯠AWS Lambda Power Tuning UI ãšããããŒã«ã§å¥éæäŸãããŠããã lambda-power-tuning.show ãã¡ã€ã³ã§ã¢ã¯ã»ã¹ã§ããã®ã§ãèªåã§çšæããå¿
èŠã¯ãªããURL 㯠https://lambda-power-tuning.show/#AAEAAgADAAQ=;xKDwRUqaakU5+RtFcXLqRA==;UqkHOPJCBDjA6AM46DAEOA==;AAEAAgADAAQ=;aYP6RdyeeUUQKiVFuC76RA==;ZDoNOJy3DDiJrQs4zhENOA==;100;50 ã®ãããªåœ¢åŒã§ããŒã¿ã URL ã®ãã¹ãã©ã¡ãŒã¿ã«ãšã³ã³ãŒããããŠããã â© ãã®ä»ã«ã strategy ãªã©æ§ã
ãªãã©ã¡ãŒã¿ããã: aws-lambda-power-tuning: README-INPUT-OUTPUT.md â©