상세 컨텐츠

본문 제목

II-5-2. Serverless-AWS Lambda

클라우드/AWS Cloud Technical Essentials

by datasa 2025. 3. 20. 00:28

본문

 

 

 

 

AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. 이벤트에 대한 응답으로 코드를 실행하고, 필요한 컴퓨팅 리소스만 사용하므로 비용 효율적인 애플리케이션 개발이 가능합니다.

 

AWS Lambda의 주요 특징:

  • 서버리스 컴퓨팅:
    • 서버 관리 없이 코드 실행에만 집중할 수 있습니다.
  • 이벤트 기반 실행:
    • 다양한 AWS 서비스 및 외부 이벤트에 대한 응답으로 코드를 실행합니다.
  • 자동 확장:
    • 트래픽 변화에 따라 자동으로 스케일링되어 안정적인 서비스를 제공합니다.
  • 다양한 언어 지원:
    • Node.js, Python, Java, C#, Go, Ruby 등 다양한 프로그래밍 언어를 지원합니다.
  • 사용량 기반 요금:
    • 실제 코드 실행 시간 및 요청 횟수에 따라 요금이 부과됩니다.

AWS Lambda 개발 및 사용 시 주의 사항:

  • 함수 설계:
    • Lambda 함수는 짧은 시간 안에 실행되도록 설계해야 합니다.
    • 상태를 유지하지 않는 방식으로 코드를 작성해야 합니다.
    • 외부 서비스와의 통신 시 타임아웃 및 재시도 로직을 고려해야 합니다.
  • 코드 관리:
    • Lambda 함수 코드는 압축 파일 형태로 업로드됩니다.
    • 코드 버전 관리를 통해 안정적인 배포를 유지해야 합니다.
    • 필요한 라이브러리 및 종속성을 함께 패키징해야 합니다.
  • 리소스 관리:
    • Lambda 함수에 할당되는 메모리 및 실행 시간을 적절하게 설정해야 합니다.
    • 불필요한 리소스 사용을 최소화하여 비용을 절감해야 합니다.
  • 보안:
    • Lambda 함수에 필요한 최소한의 권한만 부여해야 합니다.
    • 민감한 정보는 환경 변수 또는 AWS Secrets Manager를 사용하여 안전하게 관리해야 합니다.
    • 코드 보안 취약점을 정기적으로 점검해야 합니다.
  • 모니터링 및 로깅:
    • AWS CloudWatch를 사용하여 Lambda 함수의 성능 및 오류를 모니터링해야 합니다.
    • 로그를 통해 문제 발생 시 원인을 파악하고 해결해야 합니다.
  • 제한 사항:
    • Lambda 함수 실행 시간 및 메모리 사용량에 제한이 있습니다.
    • 외부 라이브러리 및 종속성 크기에 제한이 있습니다.
    • 동시 실행 수에 제한이 있습니다.

AWS Lambda 활용 사례:

  • API 백엔드:
    • REST API 또는 GraphQL API의 백엔드 로직을 Lambda 함수로 구현할 수 있습니다.
  • 데이터 처리:
    • S3, DynamoDB 등 AWS 서비스의 데이터 변경 이벤트에 대한 응답으로 데이터 처리 작업을 수행할 수 있습니다.
  • 실시간 스트리밍 처리:
    • Kinesis, IoT Core 등 실시간 데이터 스트림을 처리하는 데 사용할 수 있습니다.
  • 챗봇:
    • 사용자 입력에 대한 응답을 처리하는 챗봇 로직을 Lambda 함수로 구현할 수 있습니다.
  • 서버리스 웹 애플리케이션:
    • API Gateway와 Lambda를 함께 사용하여 서버리스 웹 애플리케이션을 구축할 수 있습니다.

AWS Lambda는 서버 관리 부담을 줄이고 비용 효율적인 애플리케이션 개발을 가능하게 하는 강력한 서비스입니다. 위 주의 사항을 참고하여 Lambda 함수를 개발하고 운영하면 안정적이고 효율적인 서버리스 애플리케이션을 구축할 수 있습니다.

'클라우드 > AWS Cloud Technical Essentials' 카테고리의 다른 글

관련글 더보기

댓글 영역