ํ์ฌ ํด์ปค์ค HRD์ "๊ฐ์ฅ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ AWS, ๊ธฐ์ด๋ถํฐ ์ค๋ฌด๊น์ง" ์ธ๊ฐ์ ๋ฃ๊ณ ์๋๋ฐ, Lambda ์ค์ต ๋ถ๋ถ์ด ์์ด์ ๊ธฐ๋ก์ ํด๋์ผ๋ ค๊ณ ํ๋ค.
AWS Lambda๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค ์ด๋ค.
์ด๊ฑด ๋ญ๋. ์๋ฒ๋ ์ปจํ ์ด๋ ์์ด (๊ธฐ์กด EC2 ๋ ECS ๋ฐฉ์์ด ์๋) ์ฝ๋[ํจ์]๋จ์๋ก ์คํ์ด ๊ฐ๋ฅํ ์ปดํจํ ์๋น์ค ์ด๋ค.
์๋์ ์ผ๋ก ๊ฐ๋ณ๊ณ , ์ค๋ ์ฒ๋ฆฌ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์๋ ๊ฐ๋จํ ์๋น์ค๋ค์ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๊ฒ ์ฐ์ธ๋ค.
์คํ์๊ฐ ๋ณ ๊ณผ๊ธ์ด ํน์ง์ด๋ค.
AWS Lambda์ ํน์ง๊ณผ ์ฅ,๋จ์ ์ ๋ค์์ ๋ ์์ธํ ์ดํด๋ณด๊ธฐ๋ก ํ๊ณ , ๋ ๋ค ์ค์ต์ ํด๋ณด๊ฒ ๋ค.
์ค์ตํ๊ธฐ
AWS์ ๋ก๊ทธ์ธ ํ, Lambda๋ฅผ ๊ฒ์ํด์ ํด๋น ํ๋ฉด์ ๋์ด๋ค.

๋๋ค๋ฅผ ๋ง๋ค์ด ๋์ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ฒซ ํ๋ฉด์ ์ด๋ ๊ฒ ์๊ฒผ๋ค.
1. ํจ์ ์์ฑ

- ์๋ก ์์ฑ์ ์๋ฌด๋ฐ ์ฒญ์ฌ์ง์ด๋ ๊ฐ์ด๋๋ผ์ธ ์์ด ์ฉ์ผ๋ก ์ค์ ํด์ ์์ฑํ ์ ์๋ ์ต์ ์ด๋ค.

- ๋ธ๋ฃจํ๋ฆฐํธ๋ ์ผ์ข ์ ํ ํ๋ฆฟ์ ์ ๊ณตํด์ฃผ๋ ์ต์ ์ด๋ค. python ์ธ์ด๋ nodejs ์ธ์ด๋ก ์ ๊ณตํด์ฃผ๋ ๋ฑ์ ์ต์ ์ด ์๋ค.
- ์ฌ๊ธฐ์ Hello world function์ python์ผ๋ก ์ฐ์ด๋ณด๋๋ก ํ๊ฒ ๋น

- ์ญํ ์ ๋ณด์ ๊ทธ๋ฃน์ ์ค์ ํ ๋ ๋ง์ด ์ฐ์ด๋๋ฐ, ํด๋์ ๊ฒ์ด ์์ผ๋ฏ๋ก ๊ทธ๋ฅ ๊ธฐ๋ณธ ์ํ๋ก ์ค์ ํ๊ณ ๋์ด๊ฐ๋ค.
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
- ํจ์์ฝ๋๋ ์ด๋ ๊ฒ ์๋์์ฑ์ด ๋์ด์๋ค.
- ์ฐ์ธก ํ๋จ์ ํจ์ ์์ฑ ๋ฒํผ์ ํตํด ์์ฑ์ ๋ง์น๋ค.
2. ํจ์ ์คํ

- ํจ์๋ฅผ ์์ฑํ๋ค๊ณ ํด์ ๋ฐ๋ก ์คํ๋์ง ์๊ณ , ์ด๋ค ํน์ ํ ํธ๋ฆฌ๊ฑฐ๋ฅผ ํตํด ์คํ์ด ๋๊ฒ ๋๋ค.
- ํธ๋ฆฌ๊ฑฐ ์ถ๊ฐ๋ฅผ ํตํด์ ์คํ ์กฐ๊ฑด์ ์ค์ ํ๊ฑฐ๋ ๋ค๋ฅธ ์จ๋ํํฐ์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
- ๋์ ์ถ๊ฐ๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ๋ง๋ ํจ์์ ์๋ํฌ์ธํธ๋ฅผ ์ค์ ํด์ค ์ ์๋ค.

- ํ ์คํธ๋ฅผ ํตํด ์ด๋ค ์ด๋ฒคํธ๋ฅผ ํตํด ํจ์๋ฅผ ์คํ์ํฌ ๊ฑด์ง ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ์ค์ ํด๋ณธ๋ค.

- ์ ์ฅ๋ ์ด๋ฒคํธ๊ฐ ์๋ฌด๊ฒ๋ ์๊ธฐ ๋๋ฌธ์ ์ ์ด๋ฒคํธ๋ฅผ ์์ฑํด์ค๋ค.
- ์ด๋ฒคํธ JSON์์ value๊ฐ๋ค์ ๋ณ๊ฒฝํด๋ดค๋ค.
3. ์คํ ๊ฒฐ๊ณผ ํ์ธ

์ด๋ ๊ฒ ๊ฒฐ๊ณผ๊ฐ์ด ์ ๋์จ๊ฒ์ด ํ์ธ ๋์๋ค.
4. ๋ก๊ทธ ํ์ธ

๋๋ค์ ๋ก๊ทธ๋ cloudwatch์์ ์์ด๊ณ ์์ผ๋ฏ๋ก ๊ฒ์ํด์ ๋ค์ด๊ฐ๋ณธ๋ค.

๋ก๊ทธ > ๋ก๊ทธ ๊ทธ๋ฃน์ ๋ณด๋ฉด ์ ๋ ๊ฒ ๋ง๋ค์ด๋์ ๋๋ค์ ์ด๋ฆ์ผ๋ก ๋ก๊ทธ ๊ทธ๋ฃน์ด ์์ฑ๋์ด์์์ ํ์ธํ ์ ์๋ค.

ํด๋น ๋ด์ฉ์ ํ์ธํด๋ณด๋ฉด ๊ฒฐ๊ณผ ๋ก๊ทธ๋ก ๋ดค๋ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
ํ์ฌ ํด์ปค์ค HRD์ "๊ฐ์ฅ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ AWS, ๊ธฐ์ด๋ถํฐ ์ค๋ฌด๊น์ง" ์ธ๊ฐ์ ๋ฃ๊ณ ์๋๋ฐ, Lambda ์ค์ต ๋ถ๋ถ์ด ์์ด์ ๊ธฐ๋ก์ ํด๋์ผ๋ ค๊ณ ํ๋ค.
AWS Lambda๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค ์ด๋ค.
์ด๊ฑด ๋ญ๋. ์๋ฒ๋ ์ปจํ ์ด๋ ์์ด (๊ธฐ์กด EC2 ๋ ECS ๋ฐฉ์์ด ์๋) ์ฝ๋[ํจ์]๋จ์๋ก ์คํ์ด ๊ฐ๋ฅํ ์ปดํจํ ์๋น์ค ์ด๋ค.
์๋์ ์ผ๋ก ๊ฐ๋ณ๊ณ , ์ค๋ ์ฒ๋ฆฌ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์๋ ๊ฐ๋จํ ์๋น์ค๋ค์ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๊ฒ ์ฐ์ธ๋ค.
์คํ์๊ฐ ๋ณ ๊ณผ๊ธ์ด ํน์ง์ด๋ค.
AWS Lambda์ ํน์ง๊ณผ ์ฅ,๋จ์ ์ ๋ค์์ ๋ ์์ธํ ์ดํด๋ณด๊ธฐ๋ก ํ๊ณ , ๋ ๋ค ์ค์ต์ ํด๋ณด๊ฒ ๋ค.
์ค์ตํ๊ธฐ
AWS์ ๋ก๊ทธ์ธ ํ, Lambda๋ฅผ ๊ฒ์ํด์ ํด๋น ํ๋ฉด์ ๋์ด๋ค.

๋๋ค๋ฅผ ๋ง๋ค์ด ๋์ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ฒซ ํ๋ฉด์ ์ด๋ ๊ฒ ์๊ฒผ๋ค.
1. ํจ์ ์์ฑ

- ์๋ก ์์ฑ์ ์๋ฌด๋ฐ ์ฒญ์ฌ์ง์ด๋ ๊ฐ์ด๋๋ผ์ธ ์์ด ์ฉ์ผ๋ก ์ค์ ํด์ ์์ฑํ ์ ์๋ ์ต์ ์ด๋ค.

- ๋ธ๋ฃจํ๋ฆฐํธ๋ ์ผ์ข ์ ํ ํ๋ฆฟ์ ์ ๊ณตํด์ฃผ๋ ์ต์ ์ด๋ค. python ์ธ์ด๋ nodejs ์ธ์ด๋ก ์ ๊ณตํด์ฃผ๋ ๋ฑ์ ์ต์ ์ด ์๋ค.
- ์ฌ๊ธฐ์ Hello world function์ python์ผ๋ก ์ฐ์ด๋ณด๋๋ก ํ๊ฒ ๋น

- ์ญํ ์ ๋ณด์ ๊ทธ๋ฃน์ ์ค์ ํ ๋ ๋ง์ด ์ฐ์ด๋๋ฐ, ํด๋์ ๊ฒ์ด ์์ผ๋ฏ๋ก ๊ทธ๋ฅ ๊ธฐ๋ณธ ์ํ๋ก ์ค์ ํ๊ณ ๋์ด๊ฐ๋ค.
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
- ํจ์์ฝ๋๋ ์ด๋ ๊ฒ ์๋์์ฑ์ด ๋์ด์๋ค.
- ์ฐ์ธก ํ๋จ์ ํจ์ ์์ฑ ๋ฒํผ์ ํตํด ์์ฑ์ ๋ง์น๋ค.
2. ํจ์ ์คํ

- ํจ์๋ฅผ ์์ฑํ๋ค๊ณ ํด์ ๋ฐ๋ก ์คํ๋์ง ์๊ณ , ์ด๋ค ํน์ ํ ํธ๋ฆฌ๊ฑฐ๋ฅผ ํตํด ์คํ์ด ๋๊ฒ ๋๋ค.
- ํธ๋ฆฌ๊ฑฐ ์ถ๊ฐ๋ฅผ ํตํด์ ์คํ ์กฐ๊ฑด์ ์ค์ ํ๊ฑฐ๋ ๋ค๋ฅธ ์จ๋ํํฐ์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
- ๋์ ์ถ๊ฐ๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ๋ง๋ ํจ์์ ์๋ํฌ์ธํธ๋ฅผ ์ค์ ํด์ค ์ ์๋ค.

- ํ ์คํธ๋ฅผ ํตํด ์ด๋ค ์ด๋ฒคํธ๋ฅผ ํตํด ํจ์๋ฅผ ์คํ์ํฌ ๊ฑด์ง ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ์ค์ ํด๋ณธ๋ค.

- ์ ์ฅ๋ ์ด๋ฒคํธ๊ฐ ์๋ฌด๊ฒ๋ ์๊ธฐ ๋๋ฌธ์ ์ ์ด๋ฒคํธ๋ฅผ ์์ฑํด์ค๋ค.
- ์ด๋ฒคํธ JSON์์ value๊ฐ๋ค์ ๋ณ๊ฒฝํด๋ดค๋ค.
3. ์คํ ๊ฒฐ๊ณผ ํ์ธ

์ด๋ ๊ฒ ๊ฒฐ๊ณผ๊ฐ์ด ์ ๋์จ๊ฒ์ด ํ์ธ ๋์๋ค.
4. ๋ก๊ทธ ํ์ธ

๋๋ค์ ๋ก๊ทธ๋ cloudwatch์์ ์์ด๊ณ ์์ผ๋ฏ๋ก ๊ฒ์ํด์ ๋ค์ด๊ฐ๋ณธ๋ค.

๋ก๊ทธ > ๋ก๊ทธ ๊ทธ๋ฃน์ ๋ณด๋ฉด ์ ๋ ๊ฒ ๋ง๋ค์ด๋์ ๋๋ค์ ์ด๋ฆ์ผ๋ก ๋ก๊ทธ ๊ทธ๋ฃน์ด ์์ฑ๋์ด์์์ ํ์ธํ ์ ์๋ค.

ํด๋น ๋ด์ฉ์ ํ์ธํด๋ณด๋ฉด ๊ฒฐ๊ณผ ๋ก๊ทธ๋ก ๋ดค๋ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.