AWS Lambda 함수
작은 정보
서버리스 전문가의 무료 실습 워크숍에 참여하여 모범 사례를 통해 서버리스 애플리케이션을 구축하는 방법을 알아보세요. 등록하려면 여기를 클릭
AWS Lambda는 서버를 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 코드가 실행되면 자동으로 확장 및 축소되며 사용량 기준 요금제를 사용합니다. 시작하려면 첫 번째 함수 생성을 참조하세요.
Lambda를 다음 용도로 사용할 수 있습니다.
-
파일 처리: 파일을 Amazon Simple Storage Service에 업로드할 때 자동으로 처리합니다. 자세한 내용은 파일 처리 예제를 참조하세요.
-
장기 실행 워크플로: 지속성 Lambda 함수를 사용하여 최대 1년 동안 실행할 수 있는 상태 저장 다단계 워크플로를 빌드합니다. 주문 처리, 승인 워크플로, 휴먼 인 더 루프 프로세스 및 진행 상황을 기억해야 하는 복잡한 데이터 파이프라인에 적합합니다.
-
데이터베이스 작업 및 통합 예제: 데이터베이스 변경에 대응하고 데이터 워크플로를 자동화합니다. 자세한 내용은 데이터베이스 예제를 참조하세요.
-
예약 및 정기 작업: EventBridge를 사용하여 정기적으로 자동 작업을 실행합니다. 자세한 내용은 예약된 작업 예제를 참조하세요.
-
스트림 처리: 분석 및 모니터링을 위해 실시간 데이터 스트림을 처리합니다. 자세한 내용은 Kinesis Data Streams를 참조하세요.
-
웹 애플리케이션: 수요에 맞게 자동으로 조정되는 확장 가능한 웹 앱을 구축합니다.
-
모바일 백엔드: 모바일 및 웹 애플리케이션을 위한 보안 API 백엔드를 생성합니다.
-
IoT 백엔드: 웹, 모바일, IoT 및 타사 API 요청을 처리합니다. 자세한 내용은 IoT를 참조하세요.
요금 정보는 AWS Lambda 요금
함수 및 지속성 함수
Lambda 함수는 최대 15분 동안 실행되며 API 요청 처리, 파일 업로드 처리 또는 데이터베이스 변경에 응답과 같은 이벤트 기반 작업에 적합합니다. 내구성이 뛰어난 함수는 더 오래 실행되고 중단 후에도 지속되어야 하는 워크로드에 대해 이 모델을 확장합니다. 최대 1년 동안 실행하여 진행 상황을 자동으로 확인하여 장애 발생 후 안정적으로 재개할 수 있습니다. 다단계 워크플로, human-in-the-loop 승인 또는 장기간에 걸친 서비스 간 조정이 필요한 경우 내구성 있는 함수를 사용하세요.
Lambda 작동 방식
Lambda를 사용하면 사용자는 자신의 코드에 대해서만 책임을 갖습니다. Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운영 체제 유지 관리, 용량 프로비저닝, 자동 규모 조정, 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다.
Lambda는 서버리스 이벤트 기반 컴퓨팅 서비스이므로 기존 웹 애플리케이션과 다른 프로그래밍 패러다임을 사용합니다. 아래의 모델에서는 Lambda가 작동하는 방식을 설명합니다.
-
Lambda 애플리케이션을 생성하는 데 사용하는 기본 구성 요소인 Lambda 함수에서 코드를 작성하고 구성합니다.
-
실행 역할을 사용해 함수가 상호 작용할 수 있는 AWS 서비스를 관리하고, 코드와 상호 작용할 수 있는 리소스 정책을 관리하여 Lambda 권한을 통해 보안 및 액세스를 제어합니다.
-
이벤트 소스 및 AWS 서비스는 Lambda 함수를 트리거하여 함수가 처리하는 JSON 형식의 이벤트 데이터(여기에는 이벤트 소스 매핑 포함)를 전달합니다.
-
Lambda는 런타임, 계층, 확장을 패키징하는 실행 환경에서 언어별 런타임(예: Node.js 및 Python)으로 코드를 실행합니다.
작은 정보
서버리스 솔루션을 빌드하는 방법을 알아보려면 서버리스 개발자 안내서를 확인하세요.
주요 기능
보안 애플리케이션 구성, 제어, 배포:
안정적으로 규모 조정 및 수행:
-
동시성 및 규모 조정 제어는 트래픽이 급증한 동안 애플리케이션 응답성과 리소스 사용률을 정확하게 관리합니다.
-
SnapStart는 콜드 스타트 시간을 크게 줄입니다. Lambda SnapStart는 일반적으로 함수 코드를 변경하지 않고도 1초 미만의 시작 성능을 제공할 수 있습니다.
-
응답 스트리밍은 실시간 처리를 위해 대용량 페이로드를 점진적으로 제공하여 함수 성능을 최적화합니다.
-
컨테이너 이미지는 컨테이너 워크플로를 사용하여 복잡한 종속성을 지닌 함수를 패키징합니다.
원활한 연결 및 통합:
관련 정보
Lambda 작동 방식에 대한 자세한 내용은 Lambda 작동 방식 섹션을 참조하세요.
Lambda 사용을 시작하려면 첫 번째 Lambda 함수 생성 섹션을 참조하세요.
예제 애플리케이션 목록은 예제 애플리케이션 및 패턴 시작하기 섹션을 참조하세요.
AWS Lambda의 보안
AWS은 클라우드 보안을 가장 중요하게 생각합니다. AWS 고객으로서 여러분은 가장 높은 보안 요구 사항을 충족하기 위해 설계된 데이터 센터 및 네트워크 아키텍처의 혜택을 받게 됩니다.
보안은 AWS과 사용자의 공동 책임입니다. 공동 책임 모델
-
클라우드의 보안 - AWS는 AWS 서비스 클라우드에서 AWS를 실행하는 인프라를 보호합니다. AWS는 또한 안전하게 사용할 수 있는 서비스를 제공합니다. 서드 파티 감사원은 정기적으로 AWS 규정 준수 프로그램
의 일환으로 보안 효과를 테스트하고 검증합니다. AWS Lambda에 적용되는 규정 준수 프로그램에 대한 자세한 내용은 규정 준수 프로그램 제공 범위 내의 AWS 서비스 내용을 참조하세요. -
클라우드 내 보안 – 귀하의 책임은 귀하가 사용하는 AWS 서비스에 의해 결정됩니다. 또한 귀하는 데이터의 민감도, 회사 요구 사항, 관련 법률 및 규정을 비롯한 기타 요소에 대해서도 책임이 있습니다.
이 설명서는 Lambda 사용 시 책임 분담 모델을 적용하는 방법을 이해하는 데 도움이 됩니다. 다음 항목에서는 보안 및 규정 준수 목표를 충족하도록 Lambda를 구성하는 방법을 보여줍니다. 또한 Lambda 리소스를 모니터링하고 보호하는 데 도움이 되는 다른 AWS 서비스를 사용하는 방법도 학습합니다.
Lambda 애플리케이션에 보안 원칙을 적용하는 방법에 대한 자세한 내용은 Serverless Land의 Security