AWS Lambda
개발자 가이드

AWS Lambda란 무엇입니까?

AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. AWS Lambda는 필요 시에만 코드를 실행하며, 하루에 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 확장이 가능합니다. 사용한 컴퓨팅 시간에 대해서만 요금을 지불하면 되고 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. AWS Lambda에서는 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행할 수 있습니다. AWS Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버 및 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다. 가 지원하는 언어 중 하나로 코드를 공급하기만 하면 됩니다(현재 Node.js, Java, C#, Go 및 Python).

AWS Lambda를 사용하여 Amazon S3 버킷 또는 Amazon DynamoDB 테이블의 데이터 변경과 같은 이벤트에 대한 응답으로 코드를 실행할 수 있습니다. Amazon API Gateway를 사용하여 HTTP 요청에 대한 응답으로 코드를 실행할 수도 있으며, 또는 AWS SDK를 사용하여 만든 API 호출을 통해 코드를 호출할 수 있습니다. 이러한 기능을 제공하므로 Lambda를 사용하여 Amazon S3 및 Amazon DynamoDB와 같은 AWS 서비스에 대한 데이터 처리 트리거를 손쉽게 빌드하거나, Kinesis에 저장된 스트리밍 데이터를 처리하거나 AWS 규모, 성능, 보안에 따라 작동하는 자체 백엔드를 생성할 수 있습니다.

또한 이벤트에 의해 트리거되고 CodePipeline 및 AWS CodeBuild를 사용하여 자동으로 배포하는 함수로 구성된 서버리스 애플리케이션을 빌드할 수 있습니다. 자세한 정보는 AWS Lambda 애플리케이션 단원을 참조하십시오.

AWS Lambda 실행 환경에 대한 자세한 정보는 Lambda 실행 환경 및 가용 라이브러리 단원을 참조하십시오. AWS Lambda 가 코드를 실행하는 데 필요한 컴퓨팅 리소스를 확인하는 방법에 대한 내용은 기본 AWS Lambda 함수 구성 단원을 참조하십시오.

언제 AWS Lambda를 사용해야 합니까?

AWS Lambda는 AWS Lambda에서 지원되는 언어(즉, Node.js, Java, Go, C# 및 Python)로 애플리케이션 코드를 작성하고, AWS Lambda 표준 런타임 환경 및 Lambda에서 제공된 리소스 내에서 실행할 수 있는 경우에 많은 애플리케이션 시나리오를 위한 이상적인 컴퓨팅 플랫폼입니다.

AWS Lambda를 사용하면 사용자는 자신의 코드에 대해서만 책임을 갖습니다. AWS Lambda는 메모리, CPU, 네트워크 및 기타 리소스의 균형을 제공하는 컴퓨팅 플릿을 관리합니다. 이는 유연성을 대신하는 것으로, 로그인하여 인스턴스를 컴퓨팅하거나 운영 체제 또는 언어 런타임을 사용자 지정할 수 없습니다. 이러한 제약 조건을 통해 AWS Lambda는 용량 프로비저닝, 플릿 상태 모니터링, 보안 패치 적용, 코드 배포, Lambda 함수 모니터링 및 로깅과 같은 운영 및 관리 작업을 수행할 수 있습니다.

자체 컴퓨팅 리소스를 관리해야 하는 경우 Amazon Web Services는 사용자의 요구를 충족하는 다른 컴퓨팅 서비스도 제공합니다.

  • Amazon Elastic Compute Cloud(Amazon EC2) 서비스는 유연성 및 선택의 폭이 넓은 다양한 EC2 인스턴스 유형을 제공합니다. 이는 운영 체제, 네트워크 및 보안 설정 및 전체 소프트웨어 스택을 사용자 지정할 수 있는 옵션을 제공하지만, 사용자는 용량 프로비저닝, 플릿 상태 및 성능 모니터링, 내결함성을 위한 가용 영역 사용에 대한 책임을 갖습니다.

  • Elastic Beanstalk은 사용자가 기본 EC2 인스턴스에 대한 소유권과 완전한 제어권을 보유하고 있는 Amazon EC2에 애플리케이션을 배포 및 확장하기 위한 편리한 서비스를 제공합니다.

Lambda는 고가용 서비스입니다. 자세한 정보는 AWS Lambda 서비스 수준 계약(SLA)을 참조하십시오.

AWS Lambda를 처음 사용하십니까?

AWS Lambda를 처음 사용한다면, 다음 단원을 순서대로 읽어보기를 권장합니다.

  1. 제품 개요를 읽고 소개 동영상을 시청하여 샘플 사용 사례를 이해하십시오. 이 리소스는 AWS Lambda 웹 페이지에서 사용 가능합니다.

  2. 이 안내서의 Lambda 함수 단원을 읽어 보십시오. Lambda 함수의 프로그래밍 모델 및 배포 옵션을 이해하려면 몇 가지 핵심 개념을 숙지해야 합니다. 이 단원에서는 이러한 개념을 설명하고 함수 코드를 작성하는 데 사용할 수 있는 다양한 언어로 작업하는 방법에 대해 자세히 설명합니다.

  3. 콘솔 기반 시작하기 연습을 수행해 보십시오. 이 연습에서는 콘솔을 사용하여 첫 번째 Lambda 함수를 만들고 테스트할 수 있는 지침을 제공합니다. 또한 콘솔에서 제공되는 블루프린트로 함수를 빠르게 생성하는 방법을 알아봅니다. 자세한 정보는 시작하기 단원을 참조하십시오.

  4. 이 안내서의 AWS Lambda를 사용한 애플리케이션 배포 단원을 읽어 보십시오. 이 단원에서는 종합적 경험 생성에 사용하는 다양한 AWS Lambda 구성 요소를 소개합니다.

시작하기 연습 이외에도 다양한 사용 사례를 살펴볼 수 있으며 각 시나리오에는 예제 시나리오를 안내하는 자습서가 제공됩니다. 애플리케이션 요구 사항(예: 이벤트 중심 Lambda 함수 호출 또는 온디맨드 호출을 원하는지 여부)에 따라 특정 요구 사항을 충족하는 특정 자습서를 수행할 수 있습니다. 자세한 정보는 사용 사례 단원을 참조하십시오.

다음 주제에서는 AWS Lambda에 대한 추가 정보를 제공합니다.