본문 바로가기
Cloud

[AWS] 4. Lambda

by DenverAlmighty 2025. 1. 17.

36. AWS Lambda

AWS Lambda

  1. 기능 및 역할:
    • AWS Lambda는 서버와 인프라를 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
    • 사용자에게 서버 관리 부담을 덜어주며, 코드를 작성하여 원하는 작업에 집중할 수 있도록 지원
  2. 특징:
    • 자동 확장: 작업량에 따라 자동으로 확장됩니다. 높은 워크로드 시에도 사용자 개입 없이 처리 가능.
    • 다양한 언어 지원: 여러 프로그래밍 언어로 코드 작성 가능.(Python, Java, Node.js, Go… )
    • 이벤트 기반 실행: 이벤트(예: S3에 파일 업로드) 발생 시 Lambda 함수가 실행되도록 구성 가능.
  3. 활용 사례:
    • 데이터 처리:
      • S3에 업로드된 파일을 처리(프로파일링, 변환, 정리, 전송 등).
      • 실시간 이벤트 처리 가능.
    • 자동화:
      • 이벤트 기반으로 작업 및 워크플로를 자동화.
    • 범용성:
      • 데이터 처리 외에도 다양한 이벤트 기반 작업에 활용 가능.
  4. 장점:
    • 비용 효율성: 사용한 컴퓨팅 리소스만큼만 비용 청구.
    • 서버리스: 인프라 설정 및 관리 부담이 없음.
    • 무상태(Stateless): 각 함수 실행은 독립적으로 이루어지며, 상태를 저장하지 않음. 필요시 다른 서비스와 연결하여 상태를 관리 가능.

 

38. Lambda Layers

이미지 출처 : https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/chapter-layers.html

AWS Lambda 레이어

AWS Lambda 레이어는 코드와 의존성을 분리 및 중앙화하여 관리를 간소화하고, 유지보수와 배포 효율성을 향상시키는 도구

  1. Lambda 레이어란 무엇인가?
    • Lambda 레이어는 의존성과 추가 코드를 함수와 분리하여 관리할 수 있는 ZIP 파일입니다.
    • 런타임 중에 함수 환경의 일부로 작동하며, 여러 함수에서 공유 가능합니다.
  2. 왜 Lambda 레이어를 사용하는가?
    • 공유 코드 관리: 여러 함수에서 공통으로 사용하는 코드를 중앙에서 관리할 수 있습니다.
    • 업데이트 용이성: 의존성이나 코드를 한 번 수정하면, 이를 사용하는 모든 함수에 적용됩니다.
    • 배포 패키지 크기 감소: 코드와 의존성을 분리함으로써 함수의 배포 크기를 줄일 수 있습니다.
  3. 레이어의 사용 방법:
    • 레이어 내용을 ZIP 파일로 패키징합니다.
    • ZIP 파일을 Lambda에 업로드하여 레이어로 등록합니다.
    • 함수 설정에서 해당 레이어를 포함하도록 지정합니다.
  4. 레이어 사용의 장점:
    • 중복 코드와 의존성을 줄여 유지보수를 간소화.
    • 함수 코드와 의존성을 독립적으로 관리 가능.
    • 배포 크기 감소로 비용 절감 및 배포 속도 향상.
  5. 사용 시나리오:
    • 여러 Lambda 함수에서 공통 라이브러리나 코드를 사용하는 경우.
    • 함수별로 독립적인 업데이트와 관리가 필요한 경우.