본문 바로가기

AWS/Lambda6

Lambda Function에서 Python용 Handler를 호출해주는 코드 Lambda Function 설정할 때 내가 만든 코드의 함수를 핸들러 항목에서 지정하면 Lambda가 호출을 해준다.여기서 다음과 같은 호기심이 발동했다.핸들러에 지정한 함수는 누가 호출해 줄까?Python이나 Node.js 같은 Interpreter 형식의 언어라면 원본 코드를 찾아볼 수 있지 않을까?그래서 먼저, 핸들러 함수를 호출해주는 코드 위치를 찾기 위해 아래 코드를 만들어 Lambda에서 실행해 봤다. (Python용)import jsonimport inspectdef lambda_handler(event, context): # TODO implement print(inspect.stack()) return { 'statusCode': 200, 'bo.. 2024. 11. 15.
AWS Lambda 런타임 중 Python에서 사용가능한 기본 Package 목록 https://insidelambda.com/ 에 가져옴. 저 사이트를 만든 사람이 아래의 코드를 이용했다고 하며, # $Id$ # # Locate all standard modules present in the AWS Lambda environment # # To launch call the "main" function in Lambda # # Based on listmodules.py written by Fredrik Lundh, January 2005 # http://svn.python.org/projects/python/tags/r252/Doc/tools/listmodules.py # from __future__ import print_function import imp, sys, os, re, .. 2023. 6. 8.
AWS SAM Local Testing 시 Docker desktop이 아닌 'minikube' 사용하기 (macOS 기준) SAM 배포(deploy)를 하기 전에 개발중인 Lambda 나 API Gateway에 대한 테스트를 local에서 하고 싶을때는 다음과 같이 가능합니다. # API Gateway, Lambda 실행 $ sam local start-api # Lambda 함수를 지정해 한번 호출 $ sam local invoke "함수이름" 이와 같이 sam local 명령어를 이용할 때에는 docker가 구동상태에서 사용을 해야 하는데, Docker desktop이 지난 2021년 8월에 회사내 사용자는 유료구매후에 사용해야 한다고 라이센스 정책을 변경했습니다. 사용자들이 지속적으로 aws sam 개발팀에게 docker 대안으로 minikube를 사용할 수 있도록 요청하고 있던 상태에서 github의 mmidenhal.. 2023. 2. 1.
AWS Lambda Function 퍼포먼스 비교: python에서 boto3와 aioboto3의 병렬처리 https://www.trek10.com/blog/aws-lambda-python-asyncio 에서 비교한 자료 요약. 다음 3가지 코드로 퍼포먼스 비교함. 병렬처리 없이 순차적으로 실행하는 코드 aioboto3(boto3 라이브러리에 비동기 처리를 할 수 있게 해주는 라이브러리)를 이용한 병렬처리 코드 boto3 라이브러리를 Python 기본 라이브러리인 ayncio를 이용해 작성한 병렬처리 코드 코드 구성 기본 순차 처리 코드 import os import boto3 s3 = boto3.client('s3') BUCKET_NAME = os.getenv('BUCKET_NAME') def main(): bucket_contents = s3.list_objects_v2(Bucket=BUCKET_NAME).. 2022. 7. 14.
AWS Lambda behind the scenes Alex Xu 라는 사람이 트위터에 올린 “AWS Lambda behind the scenes” 트윗 내용을 번역하였습니다. 글 시작: Alex Xu on Twitter 전체 Thread 보기: Thread by @alexxubyte on Thread Reader App 서버리스는 클라우드 서비스들 중에서 가장 핫한 주제 중 하나입니다. AWS Lambda 는 내부적으로 어떻게 동작하는 걸까요? Lambda는 이벤트에 대한 응답으로 (역:다양한 프로그래밍 언어로 직접 작성한) Function을 실행하는 Amazon Web Services (AWS)에서 제공하는 Severless 컴퓨팅 서비스입니다. Firecracker MicroVM Firecracker는 모든 Lambda Function을 구동하는 엔.. 2022. 7. 14.
Lambda함수 내에서 사용할 수 있는 최대 CPU 개수는?? Lambda 함수는 설정한 Memory 사이즈에 따라 사용할 수 있는 CPU 파워가 결정되지만, AWS 에서는 명시적으로 최소 CPU, 최대 CPU 개수가 몇개인지는 알려주지는 않는다. 다만, 몇가지 정보를 기준으로 판단해 볼 수 있는데, 이는 다음과 같다. Lambda에서 사용할 수 있는 최대 CPU 개수는 6개 근거: AWS Labda now supports up to 10 GB of memory and 6 vCPU cores for Lambda Functions - 2022년 1월 현재, Lambda에서 사용할 수 있는 메모리 사이즈는 최대 10GB(10240 MB”)이며, 위의 기사에서처럼 10 GB 메모리 사용시 최대 6 vCPU 를 사용할 수 있다고 함. Lambda 함수의 기본 CPU 개수는.. 2022. 7. 14.