´ë¸Þ´º ¹Ù·Î°¡±â º»¹® ¹Ù·Î°¡±â

µ¥ÀÌÅÍ ±â¼ú ÀÚ·á

µ¥ÀÌÅÍ ±â¼ú ÀÚ·á »ó¼¼º¸±â
Á¦¸ñ AWS Lambda À̺¥Æ® ±â¹Ý Ŭ¶ó¿ìµå ÇÔ¼ö
µî·ÏÀÏ Á¶È¸¼ö 5635
÷ºÎÆÄÀÏ  

¼­¹ö ¾ø´Â Ŭ¶ó¿ìµå ÇÁ·Î±×·¡¹Ö µµÀü±â

AWS Lambda À̺¥Æ® ±â¹Ý Ŭ¶ó¿ìµå ÇÔ¼ö



¾Æ¸¶Á¸À¥¼­ºñ½º(AWS, Amazon Web Service)´Â ÀÎÅͳÝÀ» ÅëÇØ IT ¸®¼Ò½º¿Í ¾ÖÇø®ÄÉÀ̼ÇÀ» ÇÊ¿äÇÒ ¶§¸¸ »ç¿ëÇÏ´Â ´ëÇ¥ÀûÀΠŬ¶ó¿ìµå ÄÄÇ»ÆÃ ¼­ºñ½º·Î, »ç¿ëÇÑ ¸¸Å­¸¸ ºñ¿ëÀ» ³»´Â È¿À²ÀûÀÎ IT ÀÎÇÁ¶ó¸¦ Á¦°øÇϰí ÀÖ´Ù.



ÀÌ·¯ÇÑ Å¬¶ó¿ìµå ȯ°æ¿¡¼­ ½ÇÇàµÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥Àº °³¹ßÀÚµéÀÌ ÄÚµå¿Í ±â´É ±¸Çö¿¡¸¸ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï È®À强°ú ½Å·Ú¼ºÀÌ ´ãº¸µÇ¸é¼­ ·±Å¸ÀÓ È¿À²µµ ¿ì¼öÇÑ Å¬¶ó¿ìµå Á᫐ °³¹ß ȯ°æÀÌ ÇÊ¿äÇÏ´Ù.



2014³â 11¿ù ¹ßÇ¥µÈ AWS Lambda´Â Ŭ¶ó¿ìµå¿¡¼­ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÏ´Â »õ·Î¿î °³¹ß Ç÷§ÆûÀÌ´Ù. ±âÁ¸ ÇÁ·Î±×·¡¹Ö°ú AWS Áö½ÄÀ» Ȱ¿ëÇØ ¼­¹ö ¹é¿£µå¸¦ ¿î¿µÇÏ°í °ü¸®ÇÒ Çʿ䰡 ¾ø´Â °Ô Å« Ư¡ÀÌ´Ù. 3ȸ¿¡ °ÉÄ£ ¿¬À縦 ÅëÇØ AWS LambdaÀÇ ±âº» °³³ä°ú À̸¦ ÀÌ¿ëÇÑ ¼­¹ö ¾ø´Â ¸ð¹ÙÀÏ ¾Û °³¹ß, ÀÚ¹Ù¿Í ½ºÄ®¶ó·Î ¶÷´Ù ÇÔ¼ö¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý µîÀ» »ìÆìº¸°Ú´Ù.



AWS LambdaÀÇ °³³ä

¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸µ¿Çϱâ À§Çؼ­´Â AWS¿¡¼­ °¡»ó¼­¹öÀÎ EC2 ÀνºÅϽº¸¦ ¸¸µé°í ±× À§¿¡ ¿î¿µÃ¼Á¦(OS)¿Í ÇÁ·Î±×·¡¹Ö °³¹ß ȯ°æÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ¼­¹ö ÇÁ·Î±×·¥Àº È®À强°ú Æ®·¡ÇÈ µîÀÇ Åº·Â¼ºÀ» °í·ÁÇØ ¼­¹ö ¿ë·®À» ¹Ì¸® ¿äûÇϰųª È®º¸ÇØ¾ß ÇÑ´Ù. Ŭ¶ó¿ìµå ÄÄÇ»ÆÃ ȯ°æ¿¡¼­´Â À̸¦ Á» ´õ ºü¸£°í À¯¿¬ÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Ŭ¶ó¿ìµå ÇÔ¼öÀÎ AWS Lambda´Â ¶÷´Ù ÇÔ¼ö(Lambda function)¸¦ ÅëÇØ °³¹ßÀÚ°¡ ÀÌ·¯ÇÑ Áغñ¸¦ ÀüÇô ÇÏÁö ¾Ê¾Æµµ ¿ÜºÎ¿¡¼­ ¿À´Â ´Ù¾çÇÑ À̺¥Æ®(À̹ÌÁö ¾÷·Îµå, DB ¾÷µ¥ÀÌÆ®)ÀÇ ¹ß»ý ½ÃÁ¡¿¡ ƯÁ¤ 󸮸¦ ÇÒ ¼ö ÀÖ´Ù.

Lambda¿¡¼­ °¡Àå Áß¿äÇÑ °³³äÀº ¡®¶÷´Ù ÇÔ¼ö¡¯´Ù. ÀÌ ¶÷´Ù ÇÔ¼ö´Â Node.js(ÀÚ¹Ù½ºÅ©¸³Æ®·Î °³¹ßµÈ À̺¥Æ® ±â¹Ý ¼­¹ö ±¸Çö)¿Í ÀÚ¹Ù8 ¾ð¾î·Î ±¸ÇöÇÏ°í ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¶÷´Ù ÇÔ¼ö´Â ½ÇÇà ȯ°æ(±¸Çö ¾ð¾î, ÇÊ¿äÇÑ ¸Þ¸ð¸® Á¦ÇÑ ±â°£À̳ª ÀÎÁõ ÀÚ°Ý)À» ÁöÁ¤ÇÏ´Â ÄÜÅØ½ºÆ® Á¤º¸¿Í ½ÇÁ¦ Äڵ带 ¾÷·ÎµåÇϴµ¥, Äֿܼ¡¼­ Á÷Á¢ ÆíÁýÇϰųª Ŭ·¡½º ÆÄÀÏ È¤Àº ¾Æ¸¶Á¸ S3(Simple Storage Service)·ÎºÎÅÍ ¾÷·ÎµåÇÒ ¼ö ÀÖ´Ù. ÇÊ¿äÇÒ °æ¿ì Ÿ»ç ¶óÀ̺귯¸®µµ ¾÷·Îµå¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. Âü°í·Î ¶÷´Ù ÇÔ¼ö´Â ÇϳªÀÇ ZIP ÆÄÀÏ Çü½ÄÀ¸·Î µÅ ÀÖ´Ù.

¾÷·Îµå ÀÌÈÄ ¶÷´Ù ÇÔ¼ö ÀڽŰú AWS ¸®¼Ò½º(ƯÁ¤ S3 ¹öŶ, ¾Æ¸¶Á¸ ´ÙÀ̳ª¸ðDB(DynamoDB) Å×ÀÌºí ¶Ç´Â ¾Æ¸¶Á¸ Ű³×½Ã½º(Kinesis) ½Ç½Ã°£ ½ºÆ®¸²)À» ¿¬°áÇÑ´Ù. AWS Lambda´Â ¶÷´Ù ÇÔ¼ö¿¡ À̺¥Æ®(ÀϹÝÀûÀ¸·Î ÀÚ¿øÀÌ º¯°æµÈ °æ¿ì ½ÇÇà)¸¦ ÇÔ²² ¿¬°áÇÑ´Ù.




¿¹ÄÁ´ë <±×¸² 2>ó·³ ¸ð¹ÙÀÏ ¾Û¿¡¼­ ¾Æ¸¶Á¸ S3 ½ºÅ丮Áö¿¡ ½Å±Ô À̹ÌÁö¸¦ ¿Ã¸± °æ¿ì °ü·Ã ½æ³×ÀÏÀ» »ý¼ºÇÏ·Á¸é ±âÁ¸ ¼­¹ö¿¡ ¼³Á¤µÈ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¯³ª ÀÌÁ¦´Â ¶÷´Ù ÇÔ¼ö°¡ À̸¦ ´ë½ÅÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ¾Æ¸¶Á¸ ´ÙÀ̳ª¸ðDB¿¡ »õ·Î¿î µ¥ÀÌÅͰ¡ Ãß°¡µÆÀ» ¶§ ´Ù¸¥ Å×À̺íÀ» ¼öÁ¤Çϰųª »ç¿ëÀÚ¿¡°Ô ¾Ë¸²À» º¸³¾ ¼öµµ ÀÖ´Ù.

AWS Lambda´Â AWS °ü¸® ÄܼÖ(Management Console), AWS SDK ¹× AWS CLI(Command Line Interface)¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. Lambda API´Â ¸ðµÎ ¹®¼­È­µÅ ÀÖÀ¸¸ç ±âÁ¸ ÄÚµå ÆíÁý±â ¹× ±âŸ °³¹ß µµ±¸¸¦ Lambda¿¡ ¿¬°áÇØ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.



AWS Lambda ÇÁ·Î±×·¡¹ÖÀÇ ½ÇÇà ȯ°æ

¶÷´Ù ÇÔ¼ö´Â ¿¬°áµÈ AWS ¼­ºñ½ºÀÇ ¸®¼Ò½º°¡ º¯°æµÉ ¶§ Ȱ¼ºÈ­µÈ´Ù. Áï ÁöÁ¤µÈ Node.js³ª Àڹ٠Ŭ·¡½º ÇÔ¼ö°¡ ½ÇÇàµÇ°í¼­¾ß ÀÛ¾÷ÀÌ Ã³¸®µÈ´Ù. ÇÔ¼ö´Â (POST¿Í ÇÔ²² Àü´Þ µÈ ¸Å°³ º¯¼ö¸¦ ÅëÇØ) JSON Çü½ÄÀÇ µ¥ÀÌÅÍ ±¸Á¶¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ÀÌ µ¥ÀÌÅÍ ±¸Á¶´Â ¶÷´Ù ÇÔ¼ö¸¦ Ȱ¼ºÈ­ÇÏ´Â °è±â°¡ µÇ´Â º¯°æ ¶Ç´Â ±âŸ À̺¥Æ®¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù.

Lambda´Â ¸®¼Ò½º º¯°æ ¼Óµµ¿¡ µÚÃÄÁöÁö ¾Êµµ·Ï Çʿ信 µû¶ó ¶÷´Ù ÇÔ¼öÀÇ Ãß°¡ º¹»çº»À» Ȱ¼ºÈ­ÇÑ´Ù. ¶÷´Ù ÇÔ¼ö´Â ÄÄÇ»ÆÃ ÀνºÅϽº¿¡ »óŸ¦ ¿µ±¸ÀûÀ¸·Î ÀúÀåÇÒ ¼ö ¾ø´Ù. ¸¸¾à ÀúÀåÀ» ¿øÇϸé S3³ª ´ÙÀ̳ª¸ðDB¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

¿©·¯ºÐÀÇ ÄÚµå´Â Node.js ¹× ¸®´ª½º ȯ°æ ±×¸®°í ÀÚ¹Ù8¿¡¼­ ³»ÀçµÈ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ AWS ¼­ºñ½º¸¦ È£ÃâÇϱâ À§ÇØ AWS SDK for JavaScript in Node.js¸¦ ¾µ ¼öµµ ÀÖ´Ù. °¢ ¶÷´Ù ÇÔ¼ö¿¡ ÁöÁ¤µÈ ÄÜÅØ½ºÆ® Á¤º¸¿¡´Â ÇÔ¼öÀÇ ÃÖ´ë ½ÇÇà ½Ã°£ÀÌ ÁöÁ¤µÅ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ª°Ô ¼³Á¤µÇ¾î ÀÖÁö¸¸ (¸î ÃÊ Á¤µµ¿¡ ´ëºÎºÐ ½ÇÇà °¡´ÉÇϹǷÎ) Çʿ信 µû¶ó ÃÖ´ë 60ÃʱîÁö ÁöÁ¤ °¡´ÉÇÏ´Ù.

Lambda´Â AWS°¡ Á¦°øÇÏ´Â »ç¿ëÀÚ ±ÇÇÑÀ» ÁöÁ¤ÇÏ´Â IAM ¿ªÇÒ(role)À» »ç¿ëÇØ ¶÷´Ù ÇÔ¼ö¿¡ ´ëÇÑ Á¢±Ù°ú AWS ¸®¼Ò½º¸¦ °ü¸®ÇÑ´Ù. ÀÌ·¯ÇÑ È£Ãâ ¿ªÇÒ(Invocation role)Àº Lambda¿¡¼­ ƯÁ¤ ¶÷´Ù ÇÔ¼ö¸¦ ¼öÇàÇÒ ±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù. ½ÇÇà ¿ªÇÒ(Execution role)Àº ƯÁ¤ AWS ¸®¼Ò½º¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù. ¶ÇÇÑ ¶÷´Ù ÇÔ¼öÀÇ ½ÇÇàÀ» °¨½ÃÇÏ°í ¿äû ¼ö, Áö¿¬ ½Ã°£, °¡¿ë¼º ¹× ¿À·ù ºñÀ² Åë°è¸¦ ¾Æ¸¶Á¸ Ŭ¶ó¿ìµå¿öÄ¡(CloudWatch)¿¡ ÀúÀåÇÑ´Ù. ÀÌ´Â 30ÀÏ µ¿¾È º¸°üµÇ¸ç Äֿܼ¡¼­µµ º¼ ¼ö ÀÖ´Ù. ÀÌÁ¦ Lambda¸¦ »ç¿ëÇÒ ¶§ °í·ÁÇØ¾ß ÇÒ ¸î °¡Áö »çÇ×À» »ìÆìº¸ÀÚ.

¡Ü ¶÷´Ù ÇÔ¼ö ÄÜÅØ½ºÆ® Á¤º¸¿¡´Â ½ÇÇà¿¡ ÇÊ¿äÇÑ ¸Þ¸ð¸® ¾çÀ» ÁöÁ¤ÇÑ´Ù. 128MB¿¡¼­ 1??GB±îÁö ¿øÇÏ´Â °ªÀ» ÁöÁ¤ÇÏ¸é µÈ´Ù. ¸Þ¸ð¸® ¼³Á¤¿¡ µû¶ó ¶÷´Ù ÇÔ¼ö¸¦ »ç¿ë °¡´ÉÇÑ ÀνºÅϽºÀÇ CPU ´É·Â, ³×Æ®¿öÅ© ´ë¿ªÆø, IO ´ë¿ªÆøÀÌ °áÁ¤µÈ´Ù.

¡Ü °¢ ¶÷´Ù ÇÔ¼öÀÇ ½ÃÀÛÀº ÃÖ´ë 256°³ÀÇ ÇÁ·Î¼¼½º³ª ½º·¹µå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÃÖ´ë 512MBÀÇ ·ÎÄà ½ºÅ丮Áö¿Í 102°³ ÀÌ»óÀÇ ÆÄÀÏ µð½ºÅ©¸³Å͵µ »ç¿ë °¡´ÉÇÏ´Ù. ¶ÇÇÑ ÃÖ´ë 10°³ÀÇ µ¿½Ã ¾Æ¿ô ¹Ù¿îµå ¿¬°áÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù.

¡Ü Lambda´Â °¢ AWS °èÁ¤¿¡¼­ °ü¸®»ó Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ¹Ì¸®º¸±â ±â°£ µ¿¾È¿¡´Â µ¿½Ã ½ÇÇà ¿äûÀ» ÃÖ´ë 25°³±îÁö ó¸®ÇÒ ¼ö?? ÀÖ´Ù.



AWS Lambda ÇÔ¼ö ¸¸µé±â

Áö±ÝºÎÅÍ´Â AWS °ü¸® ÄܼÖÀ» »ç¿ëÇØ °£´ÜÇÑ ¶÷´Ù ÇÔ¼ö¸¦ ¸¸µå´Â °úÁ¤À» »ìÆìº¸ÀÚ. ¿ì¼± Äֿܼ¡¼­´Â 8°³ Á¤µµÀÇ ±âº» ¿¹Á¦¸¦ ÀÌ¿ëÇÒ ¼ö Àִµ¥, ÀÌ Áß Çϳª¸¦ ¶÷´Ù ÇÔ¼ö·Î ¸¸µé°í ½ÇÇàÇØ º¸ÀÚ. ¸ÕÀú [Create a Lambda function]³ª ±âº» ¿¹Á¦ Áß ¡®Hello World¡¯¸¦ ¼±ÅÃÇÑ´Ù(<±×¸² 3> ÂüÁ¶). À̸§°ú ¼³¸íÀ» ÀÔ·ÂÇϰí Node.js¿Í ÀÚ¹Ù8 Ŭ·¡½º µî ½ÇÇà ȯ°æÀ» ¼±ÅÃÇÑ´Ù. ¾ÆÁ÷ 2°³ÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¸ÀÌ Áö¿øÇÏÁö¸¸ ÇâÈÄ¿¡´Â ´Ù¾çÇÑ ¾ð¾î Áö¿øÀÌ Ãß°¡µÉ ¿¹Á¤ÀÌ´Ù. ¶÷´Ù ÇÔ¼ö´Â Äֿܼ¡¼­ Á÷Á¢ ÀÛ¼ºÇϰųª ÆÐŰÁö°¡ Æ÷ÇÔµÈ ZIP ÆÄÀÏ È¤Àº S3·ÎºÎÅÍ Á÷Á¢ ¾÷·ÎµåÇÒ ¼öµµ ÀÖ´Ù. ¿¹ÄÁ´ë »õ·Î¿î À̹ÌÁö°¡ ¾÷·ÎµåµÆÀ» ¶§ ¹®ÀÚ¸¦ ÀνÄÇÏ´Â ¶óÀ̺귯¸®¸¦ ZIP¿¡ Æ÷ÇÔÇØ ¶÷´Ù ÇÔ¼ö¸¦ ÀÛ¼ºÇÑ ÈÄ ÀÎ½ÄµÈ °á°ú¸¦ ´ÙÀ̳ª¸ðDB¿¡ ³ÖÀ» ¼ö ÀÖ´Ù.



´ÙÀ½À¸·Î ¶÷´Ù ÇÔ¼ö ½ÇÇà ½Ã ¾î¶² IAM ¿ªÇÒÀ» »ç¿ëÇÒÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÏ°í ¸Þ¸ð¸® ¿ä±¸ »çÇ× Á¶Á¤°ú ½ÇÇà ½Ã°£ Á¦?Áø ±ÇÇÑ Áß Çϳª¸¦ ¼±ÅÃÇØ ¹Ù·Î ¸¸µé ¼ö ÀÖ´Ù.



ÀÌÁ¦ [Next]¸¦ ´©¸£¸é °£´ÜÇÑ Hello World ¶÷´Ù ÇÔ¼ö°¡ ¸¸µé¾îÁø´Ù. ÀÌ·¸°Ô ¸¸µç ¶÷´Ù ÇÔ¼ö´Â Äֿܼ¡¼­ ¹Ýº¹ ÆíÁý Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù. <±×¸² 5>ó·³ ¶÷´Ù ÇÔ¼ö¸¦ ÆíÁýÇϰí, ½ÇÁ¦ µ¥ÀÌÅ͸¦ ³Ö¾î Å×½ºÆ®ÇØ º¼ ¼öµµ ÀÖ´Ù. Âü°í·Î Å×½ºÆ® ½Ã¿¡´Â Å×½ºÆ® ½ÇÇà ½Ã°£ °á°ú ·Î±× µîÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù . ¾Õ¼­ ¼³¸íÇßµí Lambda´Â °¢ ¶÷´Ù ÇÔ¼ö¸¶´Ù Åë°è Á¤º¸¸¦ ¼öÁýÇϰí À̸¦ ¾Æ¸¶Á¸ Ŭ¶ó¿ìµå¿öÄ¡·Î º¸³½´Ù. °ü·Ã Åë°è´Â Äֿܼ¡¼­ È®ÀÎ °¡´ÉÇÏ´Ù.









ÀÚ¹Ù ¾ð¾î Áö¿ø

¶÷´Ù ÇÔ¼ö´Â Node.js¿Í ¸¶Âù°¡Áö·Î ÀÚ¹Ù8·Î Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¹°·Ð °³¹ß¿¡ ÀÚ¹Ù ¶óÀ̺귯¸®µµ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, AWS SDK for Java¸¦ ÀÌ¿ëÇØ AWS API¸¦ È£ÃâÇÒ ¼öµµ ÀÖ´Ù. ÀÚ¹Ù¸¦ ÀÌ¿ëÇÑ ¶÷´Ù ÇÔ¼ö Á¦ÀÛ¿¡´Â aws-lambda-java-core¶ó´Â ÇÔ¼ö Çڵ鷯, ÄÜÅØ½ºÆ® °´Ã¼, aws-lambda-java-events¶ó´Â AWS ¸®¼Ò½ºÀÇ À̺¥Æ® µÎ °¡Áö ¶óÀ̺귯¸®°¡ ¾²ÀδÙ. ÀÚ¹Ù ±â¹ÝÀÇ ¶÷´Ù ÇÔ¼ö¸¦ ¸¸µå´Â ¹æ¹ýÀº µÎ °¡Áö´Ù. °´Ã¼¸¦ ÀÔÃâ·ÂÇÏ´Â ³ôÀº ¼öÁØÀÇ ¸ðµ¨(ÀÚ¹Ù POJO³ª ÇÁ¸®¹ÌƼºê ÀÔÃâ·Â Çü½Ä »ç¿ë °¡´É)À» ÀÌ¿ëÇÏ´Â °Ô ´ëÇ¥ÀûÀÌ´Ù. ¸¸¾à POJO¸¦ »ç¿ëÇÏÁö ¾Ê°Å³ª Lambda ½Ã¸®¾ó¸®Á¦ÀÌ¼Ç ¸ðµ¨ÀÌ ¿ä±¸ Á¶°ÇÀ» ÃæÁ·ÇÏÁö ¾ÊÀ» °æ¿ì ½ºÆ®¸² ¸ðµ¨À» ¾µ ¼ö ÀÖ´Ù. ÀÚ¹Ù·Î ¶÷´Ù ÇÔ¼ö °³¹ß ¹æ¹ýÀº Â÷ÈÄ ¿¹Á¦¿Í ÇÔ²² ÀÚ¼¼ÇÏ ´Ù·ç´Ï Âü°íÇÏÀÚ.



<¸®½ºÆ® 1> POJO¸¦ ÀÌ¿ëÇÑ Lambda ÀÔÃâ·Â ¸ðµ¨ public lambdaHandler(input, Context context) throws IOException; public lambdaHandler(input) throws IOException;



<¸®½ºÆ® 2> ½ºÆ®¸²À» ÀÌ¿ëÇÑ Lambda ÀÔÃâ·Â ¸ðµ¨ public void lambdaHandler(InputStream input, OutputStream output, Context context) throws IOException;



AWS Lambda´Â °³¹ßÀÚ°¡ ÇöÀç »ç¿ëÇÏ´Â °³¹ß µµ±¸¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÄÄÆÄÀÏµÈ ÀÚ¹Ù Äڵ带 ¶÷´Ù ÇÔ¼ö¿¡¼­ »ç¿ëÇϱâ À§Çؼ­´Â ZIP ¶Ç´Â JAR ÆÄÀÏ¿¡ ÄÄÆÄÀÏµÈ Å¬·¡½º ÆÄÀÏÀ» ³Ö°í ¾÷·ÎµåÇÏ¸é µÈ´Ù. Âü°í·Î Lambda ÆÐŰÁö ¾÷·ÎµåÀÇ Å©±â´Â 50MB ÀÌÇÏ·Î Á¦ÇѵȴÙ. Çڵ鷯 ÇÔ¼ö´Â ÀÚ¹Ù µð·ºÅ͸® ±¸Á¶¿¡ µû¶ó ±¸¼ºµÅ ÀÖ¾î¾ß ÇÑ´Ù(¿¹ : com/mypackage/MyHandler.class). ¶ÇÇÑ JAR ÆÄÀÏÀº lib ¼­ºê µð·ºÅÍ¿¡ À§Ä¡ÇØ¾ß Çϸç, ¹èÆ÷¸¦ ½±°Ô Çϱâ À§ÇØ ¸ÞÀ̺ì(Maven)À̳ª ±×·¡µé(Gradle)¿Í °°Àº ÀÚ¹Ù °³¹ß µµ±¸¸¦ ÀÌ¿ëÇØµµ µÈ´Ù. ZIP ÆÄÀÏÀ» ¾÷·ÎµåÇÒ ¶§¿¡´Â ¡®java8¡¯À̶ó°í ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¸¸¾à Çڵ鷯 ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇßÀ¸¸é Ŭ·¡½º¸íµµ ³Ö¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì com.mypackage.LambdaHandler::functionHandleró·³ Àüü ¸Þ¼Òµå ·¹ÆÛ·±½º¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. AWS Toolkit for Eclipse Ç÷¯±×ÀÎÀ» ÀÌ¿ëÇϸé ZIP ÆÄÀÏ »ý¼º°ú ¾÷·Îµå¸¦ ÀÚµ¿È­ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÌŬ¸³½º AWS ¸Þ´º¿¡¼­ Lambda ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé ¼öµµ ÀÖ´Ù. À̸¦ ÅëÇØ ¼Õ½±°Ô ÇÔ¼ö¸¦ ¸¸µé°í ÇÑ ¹ø Ŭ¸¯¸¸À¸·Î ½ÇÇà±îÁö ÇÒ ¼ö ÀÖ´Ù.



AWS Lambda´Â ¶÷´Ù ÇÔ¼ö°¡ ½ÇÇàµÈ ¸¸Å­¸¸ °ú±ÝÇÏ´Â ¿ä±Ý ü°è·Î ¿î¿µµÈ´Ù. ¸¸¾à ¿ì¸®°¡ ¿øÇÏ´Â ¿ä±¸ »çÇ×ÀÌ ¶÷´Ù ÇÔ¼ö·Î ±¸Çö °¡´ÉÇÒ °æ¿ì ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷, ½ÇÇàÀ» À§ÇÑ °¡»ó ¼­¹ö°¡ ÇÊ¿ä ¾øÀ¸¸ç, À̸¦ °ü¸®ÇÏ´Â µ¥ µå´Â ºñ¿ë ¶ÇÇÑ ¾ø´Ù. AWS Lambda´Â ÇÑ ´Þ¿¡ 100¸¸ °ÇÀÇ ½ÇÇà ¿äû°ú ÃÖ´ë 320¸¸ ÃÊ ÄÄÇ»ÆÃ ó¸® ½Ã°£±îÁö´Â ¹«·á·Î ¼­ºñ½ºµÇ°í ÀÖ´Ù.

AWS Lambda´Â AWS ¼­ºñ½º À̺¥Æ®¿¡ µû¶ó Äڵ带 ½ÇÇàÇϰí ÄÄÇ»ÆÃ ¸®¼Ò½º¸¦ ÀÚµ¿À¸·Î °ü¸®Çϴ Ŭ¶ó¿ìµå ¼­ºñ½º´Ù. ¼­¹ö ¾øÀ̵µ ±â´ÉÀ» ¼öÇàÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» ½±°í ºü¸£°Ô °³¹ßÇÒ ¼ö ÀÖ¾î ±â´ë¸¦ ¸ðÀ¸°í ÀÖ´Ù. ´ÙÀ½ ½Ã°£¿¡´Â ¶÷´Ù ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ¼­¹ö ¾øÀÌ ¸ð¹ÙÀÏ ¾ÛÀ» È¿°úÀûÀ¸·Î ¸¸µå´À ¹æ¹ý°ú Node.js Ȱ¿ë¿¡ ´ëÇØ Á» ´õ ±íÀÌ »ìÆìº¸°Ú´Ù.



Ãâó : ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î 8¿ùÈ£

Á¦°ø : µ¥ÀÌÅÍ Àü¹®°¡ Áö½ÄÆ÷ÅÐ DBguide.net