AWS Lambda란?
Lambda는 AWS의 서버리스 컴퓨팅 서비스로 서버를 프로비저닝할 필요 없이 특정 이벤트에 대한 응답으로 코드를 실행할 수 있다.
- 완전 관리형 컴퓨팅 서비스
- 상태 비저장 코드 실행
- Node.js, Java, Python, C#, Go, Ruby를 지원
- 이벤트가 트리거되면 그에 대한 응답으로 코르를 실행하는 방식
AWS Lambda의 작동 방식
Lambda의 핵심 구성 요소는 Lambda 함수와 이벤트 소스이다.
이벤트 소스는 이벤트를 게시하고, Lambda 함수는 이벤트를 처리하도록 사용자가 작성하는 사용자 지정 코드이다.
AWS Lambda 함수 생성 및 사용법
1. 람다 생성 및 간단한 테스트
2. 입력값에 따라 다른 값이 출력되도록 해보기
3. S3를 트리거로 추가하여 S3에 업로드한 파일 이름 출력하기
https://jsonformatter.curiousconcept.com/#
복사한 JSON 코드는 아래와 같다.
{
"Records":[
{
"eventVersion":"2.1",
"eventSource":"aws:s3",
"awsRegion":"ap-northeast-1",
"eventTime":"2021-07-03T07:13:37.529Z",
"eventName":"ObjectCreated:CompleteMultipartUpload",
"userIdentity":{
"principalId":"AWS:AIDA3AHBWNTQ2DRXBHOWJ"
},
"requestParameters":{
"sourceIPAddress":"211.226.44.59"
},
"responseElements":{
"x-amz-request-id":"3GZ5Z2XYQZ8Q5N0P",
"x-amz-id-2":"nAOqconGlPxkBANhZdo6QX5XPPTpAIzwMzkuhlXeNSBuCf88Y8W/521Zee0COw6NQl+ar6f1KfDTyhU5mG76a6xR8WOqz8ht"
},
"s3":{
"s3SchemaVersion":"1.0",
"configurationId":"2f82c24d-2eb2-473e-8694-c31ac5743aed",
"bucket":{
"name":"myfirsttestbucket0464",
"ownerIdentity":{
"principalId":"A9DSGTC04WT85"
},
"arn":"arn:aws:s3:::myfirsttestbucket0464"
},
"object":{
"key":"SamsungNotesMicrosoftStore.zip",
"size":92172438,
"eTag":"1f34797c45b5d7a6867a00b8164a24e3-6",
"sequencer":"0060E00E1B2CFA2039"
}
}
}
]
}
참고 영상
https://www.youtube.com/watch?v=t8sjTFM_tfE&ab_channel=%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9
'AWS' 카테고리의 다른 글
SNS와 Lambda를 이용한 AutoScaling Group 인스턴스 EBS 스냅샷 생성 (0) | 2021.07.04 |
---|---|
AWS Lambda + API GateWay를 활용한 REST API 사용하기 (0) | 2021.07.03 |
AWS CodeCommit 사용해보기 (0) | 2021.07.03 |
AWS Route53 Failover를 활용한 고가용성 웹 사이트 구축 (0) | 2021.06.29 |
AWS VPC 구성 및 VPC peering연결, SSH 터널링 접속 (0) | 2021.06.20 |