[Tool] AWS Lambda(람다) 사용법

전 특정 기능을 REST API로 요청(+API GateWay)하거나 정해진 시간에 동작(+Event Bridge)시킬 때 AWS 람다를 사용하고 있습니다. 람다는 호출 수와 동작 시간이 적은 개인적인 용도로 사용하기에 비용 부담이 없고 사용법도 매우 쉬워서 서버 지식 없이 클라우드를 사용할 수 있는 장점이 있습니다. 본 포스팅에서는 AWS 람다의 함수, 계층, 트리거, 대상 등 사용법을 정리했습니다.



AWS Lambda 함수 만들기

1. AWS에서 Lambda를 검색한 후 [함수 생성] 버튼을 클릭합니다.

AWS Lambda 람다 사용법 (9)




2. [새로 작성]을 선택한 후 함수의 이름과 사용할 프로그래밍 언어를 고릅니다.

[Tool] AWS Lambda(람다) 사용법




3. [트리거]는 특정 요청(API GateWay)이나 정해진 시간(Event Bridge)을 신호로 람다 함수가 작동하게 설정할 수 있고, [대상 추가]에서는 비동기 실행이나 조건 성립 후 다른 람다 함수 실행 등 작업을 정할 수 있습니다.

[Tool] AWS Lambda(람다) 사용법
[Tool] AWS Lambda(람다) 사용법
[Tool] AWS Lambda(람다) 사용법




6. 메인 함수인 lambda_handler의 #Todo 부분에 함수나 코드를 작성하면 return에서 json형태로 응답을 보낼 수 있습니다.

[Tool] AWS Lambda(람다) 사용법




7. 마지막으로 [계층]에서 코드 안에 import로 포함한 라이브러리를 pip이나 npm 대신 직접 업로드하면 람다 함수를 만들 수 있습니다. 업로드 방법은 아래를 참조해 주세요.

[Tool] AWS Lambda(람다) 사용법
[Tool] AWS Lambda(람다) 사용법




AWS Lambda 계층 만들기

1. 우선 코드에 사용할 라이브러리를 python이란 폴더 안에 python 폴더를 하나 더 만들어 …\python\python 경로로 설치하고 zip으로 압축합니다. 제가 자주 쓰는 파이썬 pip의 설치경로 지정은 아래와 같습니다.

pip install --target=[경로]\python\python [라이브러리명]




2. 사이드 메뉴바에서 [계층]을 찾은 후 계층을 만들어 줍니다.

[Tool] AWS Lambda(람다) 사용법




3. 4번에서 위에서 압축한 zip 파일을 업로드하고 5번에서 람다 함수에 사용한 프로그램 언어를 선택합니다. 이때 5번은 선택사항이지만 설정하지 않으면 람다 함수에서 추가할 때 안보입니다.

[Tool] AWS Lambda(람다) 사용법




AWS Lambda 트리거 만들기

1. AWS에서 Event Bridge를 찾아 규칙을 만듭니다.

AWS Lambda 트리거 만들기 (2)




2. 이벤트 패턴에서는 AWS의 서비스나 서드 파티 서비스로 이벤트를 받게 설정할 수 있습니다.

AWS Lambda 트리거 만들기 (3)




3. 일정에서는 특정 시간마다 발생하는 [고정 비율]과 알람처럼 날짜, 요일을 설정할 수 있는 [일정]이 있습니다. 일정의 Cron식은 [분][시][일][월][주][년]으로 구성돼 있습니다. [*] 모든 값, [?] 특정한 값 없음, [-] 범위, [,] 범위가 아닌 특정 값, [/] 시작시간/단위, [L] 마지막 요일, [W] 가장 가까운 평일, [#] n번째 주의 요일.

FieldValuesWildcards
Minutes0-59, – * /
Hours0-23, – * /
Day-of-month1-31, – * ? / L W
Month1-12 or JAN-DEC, – * /
Day-of-week1-7 or SUN-SAT, – * ? L #
Year1970-2199, – * /
AWS Lambda 트리거 만들기 (4)




4. 마지막으로 이벤트가 발생했을 때 작동할 대상인 AWS Lambda의 함수를 선택합니다.

AWS Lambda 트리거 만들기 (5)




AWS Lambda 설정하기

– [테스트]에서는 postman 같은 프로그램을 쓰지 않아도 요청을 보내고 결과를 받는 테스트를 할 수 있습니다.

[Tool] AWS Lambda(람다) 사용법




– [모니터링]에서는 해당 람다 함수의 작동 시간, 에러, 로그 등 정보를 확인할 수 있습니다.

[Tool] AWS Lambda(람다) 사용법




– [구성]의 일반 구성에서 메모리와 제한 시간을 늘릴 수 있고, 그 외에 트리거, 권한, 대상 등 다양한 설정이 가능합니다. 특히 메모리는 함수의 작동 시간을 줄여주고 제한시간은 오류나 무한 루프로 인한 과금을 막아주기도 합니다. [AWS Lambda 요금]

[Tool] AWS Lambda(람다) 사용법




참고글

[Cron 표현식]
크론(cron) 표현식 정리 – 배워가는 블로거




관련글

guest
0 Comments
Inline Feedbacks
모든 댓글 보기