Lambda

문학적인유사성·2024년 3월 31일
0

misc.

목록 보기
31/31

발표용 포스트 20240331

✔ 서버 프로비저닝 또는 관리, 워크로드 인식 클러스터 확장 로직 생성, 이벤트 통합 유지 또는 런타임 관리 없이 코드를 실행합니다. 

✔ 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 실행합니다. 코드를 ZIP 파일 또는 컨테이너 이미지로 업로드하기만 하면 Lambda는 자동으로 컴퓨팅 실행 능력을 할당하고, 모든 트래픽 규모에 대하여 수신 요청 또는 이벤트를 기반으로 코드를 실행합니다.

✔  Lambda 기능을 선호하는 언어(Node.js, Python, Go, Java 등)로 작성하고 서버리스 및 컨테이너 도구(AWS SAM 또는 Docker CLI)를 사용하여 기능을 구축, 테스트 및 배포합니다.

✔ 이벤트를 처리한 시간 * 용량만큼 과금이됨.

Lambda 예시



고급설정

https://aws.amazon.com/ko/blogs/korea/new-code-signing-a-trust-and-integrity-control-for-aws-lambda/


추가 권한 필요 : CreateNetworkInterface, DeleteNEtworkInterface, DescribeNetworkInterface
계정의 보안 그룹:서브넷 조합에 연결됨.
https://aws.amazon.com/ko/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/

Lambda Code


✔ Event
람다가 invoke 될 때 다른 서비스에서 이벤트를 전달받음.
어떤 서비스로부터 invoke되었는지에 따라 event구조가 달라짐
✔ Context :  
runtime정보를 핸들러에게 제공하기위해서 로깅등 용도로 사용할수있는 메타데이터들 
get_remaining_time_in_milis
람다 실행환경 정보들이 context에 담긴다.
람다 id같은것들!

✔ Global Scope
핸들러 함수 바깥의 영역으로 콜드 스타트 (init)때만 실행
워커노드가 종료되지않는 이상 메모리에 남아있음
초기화에 관한 내용을 이영역에 배치해서 활용할 것

Lambda Invoke 방식

Lambda ETC

✔ 파라미터

  • 시크릿 매니저 arn을 통해서 파라미터 호출 가능
  • 파라미터 스토어 호출 가능

✔ 제약

✔ EFS 파일시스템 탑재 가능

✔ 버저닝 가능

  • arn:aws:lambda:aws-region:acct-id:function:helloworld:42

✔ 별칭 생성 가능 - 함수 버전에 대한 포인터, $LATEST ( 별칭 arn으로 acces하고, 버전만 바꾸면됨! )

  • CreateAlias, UpdateAlias, DeleteAlias
  • 가중치 설정도 가능!

Lambda Architecture

Lambda Architecture – Synchronous Invoke

AWS re:Invent 2022 - A closer look at AWS Lambda (SVS404-R)
https://www.youtube.com/watch?v=0_jfH6qijVY&t=1471s

Lambda Architecture - Async / Event Invoke


AWS re:Invent 2022 - A closer look at AWS Lambda (SVS404-R)
https://www.youtube.com/watch?v=0_jfH6qijVY&t=1471s

FireCracker


How AWS’s Firecracker virtual machines work | Amazon Science
https://www.youtube.com/watch?v=BIRv2FnHJAg


https://www.slideshare.net/awskr/firecracker-microvm

Lambda - Host Integration


https://www.slideshare.net/awskr/firecracker-microvm

Lambda - Internal Architecture


https://www.slideshare.net/awskr/firecracker-microvm
https://github.com/firecracker-microvm/firecracker/blob/main/docs/jailer.md

참고문헌

https://arxiv.org/pdf/2311.15999.pdf
https://aws.amazon.com/ko/blogs/korea/new-code-signing-a-trust-and-integrity-control-for-aws-lambda/
https://aws.amazon.com/ko/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/lambda-urls.html
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/python-context.html
https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html
https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/lambda-runtime-environment.html
https://firecracker-microvm.github.io
https://aws.amazon.com/ko/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/
https://mateon.tistory.com/59
https://www.youtube.com/watch?v=5c_U2Hnx3fk
https://www.youtube.com/watch?v=0_jfH6qijVY&t=1471s
https://www.youtube.com/watch?v=QdzV04T_kec
https://dev.classmethod.jp/articles/devio-korea-online-aws-lambda/
https://www.youtube.com/watch?v=-BEou7aN7AY
https://www.youtube.com/watch?v=BIRv2FnHJAg
https://minye-lee19.gitbook.io/sw-engineer/os/class/firecracker
https://github.com/firecracker-microvm/firecracker/blob/main/docs/jailer.md
https://jeongchul.tistory.com/627
https://docs.aws.amazon.com/ko_kr/whitepapers/latest/security-overview-aws-lambda/lambda-isolation-technologies.html

profile
Are you nervous? Don't be

0개의 댓글