AWS Lambda는 이벤트에 응답하여 코드를 실행하고 자동으로 기본 컴퓨팅 리소스를 관리하는 서버 없는 컴퓨팅 서비스입니다. AWS Lambda를 사용하여 사용자 지정 로직을 통해 다른 AWS 서비스를 확장하거나, AWS 규모, 성능 및 보안으로 작동하는 자체 백엔드 서비스를 만들 수 있습니다. AWS Lambda는 Amazon API Gateway를 통한 HTTP 요청, Amazon S3버킷에 있는 객체에 대한 변경 사항, Amazon DynamoDB의 테이블 업데이트 또는 AWS Step Functions의 상태 전환과 같은 다양한 이벤트에 대한 응답으로 코드를 자동 실행할 수 있습니다.

Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다. 개발자는 코드를 제공하기만 하면 됩니다.


PAC-Q4_House-Ads_Lambda_2up

AWS Lambda 함수 소개

AWS Lambda에서 실행하는 코드를 'Lambda 함수'라고 합니다. Lambda 함수를 만든 뒤에는 스프레드시트의 수식과 마찬가지로 트리거되는 즉시 언제든지 실행할 수 있습니다. 각 함수에는 코드뿐 아니라 함수 이름과 리소스 요구 사항을 비롯한 일부 관련 구성 정보가 포함되어 있습니다. Lambda 함수는 '상태를 저장하지 않으며' 기본 인프라에 대한 선호도가 없으므로 Lambda는 필요에 따라 많은 함수 사본을 빠르게 시작하여 수신 이벤트 비율에 따라 조정할 수 있습니다.

코드를 AWS Lambda에 업로드한 뒤 함수를 특정 AWS 리소스(예: 특정 Amazon S3 버킷, Amazon DynamoDB 테이블, Amazon Kinesis 스트림 또는 Amazon SNS 알림)와 연결할 수 있습니다. 그런 다음 리소스가 변경되면 Lambda가 함수를 실행하여 필요에 따라 컴퓨팅 리소스를 관리함으로써 수신 요청에 맞출 수 있습니다.

주요 제품 기능

커스텀 로직으로 다른 AWS 서비스 확장

AWS Lambda를 사용하면 Amazon S3 버킷과 Amazon DynamoDB 테이블 등의 AWS 리소스에 커스텀 로직을 추가하여 데이터가 클라우드를 통해 들어오거나 이동할 때 손쉽게 컴퓨팅을 적용할 수 있습니다.

또한, 손쉽게 AWS Lambda를 시작할 수 있습니다. 먼저 코드를 업로드(또는 Lambda 콘솔에서 직접 개발)하고 메모리와 시간 초과 기간, AWS Identity and Access Management(IAM) 역할을 선택하여 함수를 작성할 수 있습니다. 그런 다음 특정 Amazon S3 버킷이나 Amazon DynamoDB 테이블, Amazon Kinesis 스트림 중에서 AWS 리소스를 지정하여 함수를 트리거합니다. 리소스가 변경되면 Lambda가 함수를 실행하여 필요에 따라 컴퓨팅 리소스를 시작하고 관리하여 수신 요청에 맞출 수 있습니다.

커스텀 백엔드 서비스 구축

AWS Lambda를 사용하여 애플리케이션에 대한 새로운 백엔드 서비스를 생성할 수 있습니다. 이러한 애플리케이션은 Amazon API Gateway를 사용한 Lambda API 또는 커스텀 API 엔드포인트 구축을 통해 온디맨드로 트리거됩니다. 커스텀 이벤트를 클라이언트에서 처리하는 대신 Lambda를 사용하여 처리하면 클라이언트 플랫폼 변형을 방지하고 배터리 소모를 줄이며 더욱 쉽게 업데이트할 수 있습니다.

자체 코드 사용 가능

AWS Lambda를 사용하면 새로운 언어나 도구, 프레임워크를 배울 필요가 없습니다. 기본 라이브러리뿐 아니라 모든 타사 라이브러리를 사용할 수 있습니다. AWS Lambda는 Java, Node.js, C# 및 Python 코드를 지원하며 향후 다른 언어도 지원할 예정입니다.

완전히 자동화된 관리

AWS Lambda는 가용성이 뛰어난 내결함성 인프라에서 코드를 실행할 수 있도록 모든 인프라를 관리하므로 차별화된 백엔드 서비스 구축에 집중할 수 있도록 해 줍니다. Lambda를 사용하면 패치가 출시되어도 기본 OS를 업데이트할 필요가 없으며 사용량이 증가함에 따라 서버 규모를 조정하거나 새로운 서버 추가에 대해 걱정할 필요가 없습니다. AWS Lambda는 코드를 원활하게 배포하고 모든 관리, 유지 관리 및 보안 패치를 수행하며 Amazon CloudWatch를 통해 내장된 로깅 및 모니터링 기능을 제공합니다.

내결함성 기본 제공

Lambda에는 내결함성이 기본 제공됩니다. AWS Lambda는 각 리전에 있는 여러 가용 영역의 컴퓨팅 파워를 유지 관리하여 개별 시스템이나 데이터 센터 시설에 장애가 발생해도 코드를 보호할 수 있습니다. AWS Lambda 및 서비스에서 실행되는 함수 모두 예측 가능하고 안정적인 운영 성능을 제공합니다. AWS Lambda는 서비스 자체 및 서비스에서 운영하는 함수에 대해 높은 가용성을 제공하도록 설계되었습니다. 유지 관리 기간이나 예약된 가동 중지 시간이 없습니다.

Automatic Scaling

AWS Lambda는 필요한 경우에만 코드를 호출하고 특별히 구성하지 않아도 수신 요청에 따라 지원할 수 있도록 자동 확장됩니다. 코드에서 처리할 수 있는 요청 수에는 제한이 없습니다. AWS Lambda는 대개 이벤트가 발생한 후 밀리초 내에 코드를 실행합니다. 또한, Lambda는 자동으로 확장하므로 이벤트 발생 빈도가 증가해도 성능이 높게 유지됩니다. 코드 상태가 저장되지 않으므로 Lambda는 배포와 구성에 대한 지연 없이 필요한 만큼 많은 인스턴스를 시작할 수 있습니다.

Amazon CloudFront 요청에 대한 응답으로 코드 실행

Lambda@Edge를 사용하면 AWS Lambda가 오리진 서버와 최종 사용자의 콘텐츠 요청 또는 오리진 서버와 최종 사용자에 대한 콘텐츠 요청과 같은 Amazon CloudFront 이벤트에 대한 응답으로 글로벌 AWS 로케이션에서 코드를 실행할 수 있습니다. 따라서 더 짧은 지연 시간으로 좀 더 풍부하고 개인화된 콘텐츠를 최종 사용자에게 손쉽게 제공할 수 있습니다. 자세히 알아보기 »

여러 기능 조율

AWS Step Functions로 워크플로우를 구축하여 복잡하거나 장기간 실행되는 작업을 위해 여러 AWS Lambda 함수를 조정할 수 있습니다. Step Functions를 사용하면 순차, 병렬, 분기 및 오류 처리 단계를 사용하여 Lambda 함수를 트리거하는 워크플로우를 정의할 수 있습니다. Step Functions 및 Lambda를 통해 애플리케이션 및 백엔드에 대해 안정적이고 장기간 실행되는 프로세스를 구축할 수 있습니다.

통합된 보안 모델

AWS Lambda를 사용하면 내장된 AWS SDK 및 AWS Identity and Access Management(IAM)와의 통합을 통해 코드가 다른 AWS 서비스에 안전하게 액세스할 수 있습니다. AWS Lambda는 기본적으로 VPC 내에서 코드를 실행합니다. 선택적으로 자체 VPC 뒤에서 리소스에 액세스하도록 AWS Lambda를 구성할 수 있으므로, 사용자 정의 보안 그룹과 네트워크 액세스 제어 목록을 활용하여 Lambda 함수가 VPC 내 리소스에 액세스하도록 할 수 있습니다.

AWS Lambda는 SOC, HIPAA, PCI, ISO를 준수합니다. 최신 Lambda 자격증 및 규정 준수 준비에 대해 해당 범위 내 전체 서비스를 참조하십시오.

사용량에 따라 지불

AWS Lambda를 사용하면 코드 실행에 필요한 컴퓨팅 시간 및 서비스된 요청에 대해서만 비용을 지불합니다. 100밀리초 단위로 청구 금액이 정산되기 때문에 비용 효율적이고, 하루에 몇 개의 요청부터 1초당 수천 개의 요청에 이르기까지 자동으로 쉽게 확장할 수 있습니다.

유연한 리소스 모델

함수에 할당할 메모리 양을 선택하면 AWS Lambda가 CPU 성능과 네트워크 대역폭, 디스크 I/O를 비례하여 할당합니다.

AWS Lambda 요금에 대해 자세히 알아보십시오

요금 페이지로 이동하기
시작할 준비가 되셨습니까?
가입
질문이 있으십니까?
AWS에 문의