기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다른 서비스와 함께 AWS Lambda 사용
AWS Lambda는 함수를 호출하거나 기타 작업을 수행하기 위해 다른 AWS 서비스와 통합됩니다. 다음은 몇 가지 일반적인 사용 사례입니다.
-
Amazon Simple Storage Service(Amazon S3)와 같은 리소스 수명 주기 이벤트에 대한 응답으로 함수를 호출합니다. 자세한 내용은 Amazon S3에서 AWS Lambda 사용 단원을 참조하십시오.
-
수신 HTTP 요청에 응답합니다. 자세한 내용은 자습서: API Gateway에서 Lambda 사용 단원을 참조하십시오.
-
대기열에서 이벤트를 사용합니다. 자세한 내용은 Amazon SQS에서 Lambda 사용 단원을 참조하십시오.
-
일정에 따라 함수를 실행합니다. 자세한 내용은 Amazon에서 사용 AWS Lambda EventBridge (CloudWatch 이벤트) 단원을 참조하십시오.
Lambda와 함께 사용하는 서비스에 따라 호출은 일반적으로 두 가지 방법 중 하나로 작동합니다. 이벤트가 호출을 유도하거나, Lambda가 대기열 또는 데이터 스트림을 폴링하고 대기열 또는 데이터 스트림의 활동에 대한 응답으로 함수를 호출합니다. Lambda는 함수를 호출하지 않는 방식으로 Amazon Elastic File System 및 AWS X-Ray와 통합됩니다.
자세한 내용은 이벤트 기반 호출 및 Lambda 폴링 섹션을 참조하세요. 또는 다음 섹션에서 작업할 서비스를 검색하여 해당 서비스를 Lambda와 함께 사용하는 방법에 대한 정보의 링크를 찾습니다.
또한 Lambda 함수로 AWS 소프트웨어 개발 키트(SDK) 중 하나를 사용하여 다른 AWS 서비스와 프로그래밍 방식으로 상호 작용할 수 있습니다. 예를 들어 Lambda 함수가 Amazon S3 버킷을 생성하거나 함수 내에서 API 호출을 사용하여 DynamoDB 테이블에 데이터를 쓰도록 할 수 있습니다. AWS SDK에 대해 자세히 AWS에서의 구축을 위한 도구
서비스 목록 및 상세 정보 링크
다음 표에서 작업할 서비스를 찾아 사용해야 하는 호출 메서드를 확인합니다. 서비스 이름 링크를 따라 서비스 간의 통합을 설정하는 방법에 대한 정보를 찾습니다. 이러한 주제에는 함수를 테스트하는 데 사용할 수 있는 예제 이벤트도 포함되어 있습니다.
작은 정보
이 표의 항목은 ‘Amazon’ 또는 ‘AWS’ 접두사를 제외하고 서비스 이름별로 알파벳순으로 정렬됩니다. 브라우저의 검색 기능을 사용하여 목록에서 서비스를 찾을 수도 있습니다.
Service | 호출 메서드 |
---|---|
이벤트 기반, 동기식 호출 |
|
Lambda 폴링 |
|
Lambda 폴링 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
Lambda 폴링 |
|
특수 통합 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
Lambda 폴링 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
Lambda 폴링 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
Lambda 폴링 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
특수 통합 |
이벤트 기반 호출
일부 서비스는 Lambda 함수를 호출할 수 있는 이벤트를 생성합니다. 이러한 유형의 아키텍처 설계에 대한 자세한 내용은 Serverless Land의 Event driven architectures
이벤트 기반 아키텍처를 구현할 때 이벤트 생성 서비스에 함수의 리소스 기반 정책에서 함수를 호출할 수 있는 이벤트 생성 서비스 권한을 부여합니다. 그런 다음 함수를 호출하는 이벤트를 생성하도록 해당 서비스를 구성합니다.
이벤트는 JSON 형식으로 구조화된 데이터입니다. JSON 구조는 JSON 구조를 생성하는 서비스와 이벤트 유형에 따라 다르지만, 모두 함수가 이벤트를 처리하는 데 필요한 데이터를 포함합니다.
Lambda는 이벤트 문서를 객체로 변환한 후 함수 핸들러에 전달합니다. 컴파일된 언어의 경우 Lambda는 라이브러리의 이벤트 유형에 대한 정의를 제공합니다. 자세한 내용은 해당 언어(C#을 사용하여 Lambda 함수 빌드, Go를 사용하여 Lambda 함수 빌드, Java를 사용하여 Lambda 함수 빌드, 또는 PowerShell을 사용하여 Lambda 함수 빌드)로 함수를 빌드하는 방법에 대한 주제를 참조하세요.
서비스에 따라 이벤트 기반 호출은 동기식 또는 비동기식으로 수행될 수 있습니다.
-
동기식 호출의 경우 이벤트를 생성하는 서비스는 함수로부터 응답을 기다립니다. 이 서비스는 함수가 응답에 반환되어야 하는 데이터를 정의합니다. 이 서비스는 오류에 대해 재시도할지 여부와 같은 오류 전략을 제어합니다. 자세한 내용은 동기식 호출 단원을 참조하십시오.
-
비동기 호출의 경우 Lambda는 이벤트를 함수에 전달하기 전에 대기열에 추가합니다. Lambda가 이벤트를 대기열에 넣으면 이벤트를 생성한 서비스에 즉시 성공 응답을 보냅니다. 함수가 이벤트를 처리한 후 Lambda는 이벤트 생성 서비스에 대한 응답을 반환하지 않습니다. 자세한 내용은 비동기식 호출 단원을 참조하십시오.
Lambda가 동기식 및 비동기식으로 호출된 함수의 오류 처리를 관리하는 방법에 대한 자세한 내용은 AWS Lambda의 오류 처리 및 자동 재시도를 참조하세요.
Lambda 폴링
대기열 또는 데이터 스트림을 생성하는 서비스의 경우 Lambda에서 이벤트 소스 매핑을 설정하여 Lambda가 대기열 또는 데이터 스트림을 폴링하도록 할 수 있습니다.
Lambda 폴링 아키텍처를 구현할 때 함수의 실행 역할에 있는 다른 서비스에 액세스할 수 있는 Lambda 권한을 부여합니다. Lambda는 다른 서비스의 데이터를 읽고, 이벤트를 생성하고, 함수를 호출합니다.