람다 실습
여기에서는 이름과 런타임을 선택할 수 있습니다. 런타임은 이전에도 말했지만 컨테이너를 구축하는데 필요한 환경입니다. 이 환경을 구축하기 위해 평균 0.8초 정도 걸린다고 했습니다.
그리고 코드로 들어가서 실행할 함수를 작성해야 합니다. 함수의 이름은 lambda_handler이고 인자로는 event, context가 오는 것은 하나의 규칙입니다. 따라서 이에 맞춰서 간단한 함수를 작성해 보았습니다.
그리고 이 함수를 실행시키기 위해서 하는 방법 중 가장 흔한 방법은, 트리거를 설정해 주는 것입니다. Apache Kafka, API 게이트웨이, S3, Dynamo DB등을 활용할 수 있는데, 이는 다음에 하고 지금은 Cloud console에서 이를 실행해 보도록 하겠습니다.
이를 실행하기에 앞서서 이벤트를 설정해 주어야 합니다.
우선 쓰면서 익히는 걸로 하고, 빈 JSON을 그냥 써줍니다.
다음과 같이 결과가 보입니다.
이제는 동적으로 결과를 띄워보는 작업을 event, context를 통해 진행해 보도록 하겠습니다. 그냥 기존의 함수에서 event를 찍는 코드를 추가해 보았습니다.
Deploy하고 결과를 보면 다음과 같게 됩니다.
기존에 event를 만들 떄 설정했던 JSON이 찍히는 것을 확인할 수 있습니다.
이제 event객체를 아래와 같이 바꾸고 결과를 찍어보도록 하겠습니다.
이벤트 JSON
{
"key1": 1,
"key2": 2,
"key3": 3
}
이벤트 코드
def lambda_handler(event, context):
print(event)
return event['key1'] + event['key2'] + event['key3']
이제 Deploy하고 결과를 찍게 되면 아래와 같이 결괏값으로 key값들이 다 더해진값이 찍히는 것을 보실 수 있게 됩니다.
이제 이와 관련된 로그 스트림을 확인해 보겠습니다. Cloud Watch에서 이를 확인해 보도록 하겠습니다.
이와 같이 3개가 생긴 것을 보실 수 있습니다. 이 3개는 단순히 lambda의 함수가 바뀌고 deploy되었을 떄마다 바뀐 것을 기록한 것입니다.
결국엔 람다는 너무 독립적인 서비스다 보니까, 이를 모니터링 해 줄 도구가 이로서 충분하지 않습니다. 따라서 다음에 AWS X-Ray를 바탕으로 좀더 고도화된 모니터링 기술을 접하게 될 것입니다.
다음에는 트리거를 추가하는 실습을 해보겠습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - (API 게이트웨이) Lambda와 Rest API Gateway 연결 (0) | 2022.07.19 |
---|---|
[ DevOps ] - (API 게이트웨이) Lambda와 HTTP API Gateway 연결 (0) | 2022.07.19 |
[ DevOps ] - (API 게이트웨이) API게이트웨이의 구성 요소들 (0) | 2022.07.18 |
[ DevOps ] - (API 게이트웨이) API 게이트웨이란 (0) | 2022.07.18 |
[ DevOps ] - (개요) AWS Lambda 소개 (0) | 2022.07.18 |