Skip to content

다른 서비스와 함께 사용


AWS Lambda는 함수를 호출하거나 기타 작업을 수행하기 위해 다른 AWS 서비스와 통합된다. 다음은 몇 가지 일반적인 사용 사례이다.

Lambda와 함께 사용하는 서비스에 따라 호출은 일반적으로 두 가지 방법 중 하나로 작동한다. 이벤트가 호출을 유도하거나, Lambda가 대기열 또는 데이터 스트림을 폴링하고 대기열 또는 데이터 스트림의 활동에 대한 응답으로 함수를 호출한다. Lambda는 함수를 호출하지 않는 방식으로 Amazon Elastic File System 및 AWS X-Ray와 통합된다.

자세한 내용은 이벤트 기반 호출Lambda 폴링 섹션을 참조한다. 또는 다음 섹션에서 작업할 서비스를 검색하여 해당 서비스를 Lambda와 함께 사용하는 방법에 대한 정보의 링크를 찾는다.


1. 서비스 목록 및 상세 정보 링크

다음 표에서 작업할 서비스를 찾아 사용해야 하는 호출 메서드를 확인한다. 서비스 이름 링크를 따라 서비스 간의 통합을 설정하는 방법에 대한 정보를 찾는다. 이러한 주제에는 함수를 테스트하는 데 사용할 수 있는 예제 이벤트도 포함되어 있다.

Note

이 표의 항목은 'Amazon' 또는 'AWS' 접두사를 제외하고 서비스 이름별로 알파벳순으로 정렬된다. 브라우저의 검색 기능을 사용하여 목록에서 서비스를 찾을 수도 있다.

서비스 호출 메서드
Amazon Alexa 이벤트 기반, 동기식 호출
Amazon Managed Streaming for Apache Kafka Lambda 폴링
자체 관리형 Apache Kafka Lambda 폴링
Amazon API Gateway 이벤트 기반, 동기식 호출
AWS CloudFormation 이벤트 기반, 비동기식 호출
Amazon CloudFront (Lambda@Edge) 이벤트 기반, 동기식 호출
Amazon EventBridge(CloudWatch Events) 이벤트 기반, 비동기식 호출
Amazon CloudWatch Logs 이벤트 기반, 비동기식 호출
AWS CodeCommit 이벤트 기반, 비동기식 호출
AWS CodePipeline 이벤트 기반, 비동기식 호출
Amazon Cognito 이벤트 기반, 동기식 호출
AWS Config 이벤트 기반, 비동기식 호출
Amazon Connect 이벤트 기반, 동기식 호출
Amazon DynamoDB Lambda 폴링
Amazon Elastic File System 특수 통합
Elastic Load Balancing (Application Load Balancer) 이벤트 기반, 동기식 호출
AWS IoT 이벤트 기반, 비동기식 호출
AWS IoT Events 이벤트 기반, 비동기식 호출
Amazon Kinesis Lambda 폴링
Amazon Kinesis Data Firehose 이벤트 기반, 동기식 호출
Amazon Lex 이벤트 기반, 동기식 호출
Amazon MQ Lambda 폴링
Amazon Simple Email Service 이벤트 기반, 비동기식 호출
Amazon Simple Notification Service 이벤트 기반, 비동기식 호출
Amazon Simple Queue Service Lambda 폴링
Amazon Simple Storage Service (Amazon S3) 이벤트 기반, 비동기식 호출
Amazon Simple Storage Service Batch 이벤트 기반, 동기식 호출
보안 관리자 이벤트 기반, 동기식 호출
AWS X-Ray 특수 통합

2. 이벤트 기반 호출

일부 서비스는 Lambda 함수를 호출할 수 있는 이벤트를 생성한다. 이러한 유형의 아키텍처 설계에 대한 자세한 내용은 Lambda 운영자 안내서의 이벤트 기반 아키텍처를 참조한다.

이벤트 기반 아키텍처를 구현할 때 이벤트 생성 서비스에 함수의 리소스 기반 정책에서 함수를 호출할 수 있는 이벤트 생성 서비스 권한을 부여한다. 그런 다음 함수를 호출하는 이벤트를 생성하도록 해당 서비스를 구성한다.

이벤트는 JSON 형식으로 구조화된 데이터이다. JSON 구조는 JSON 구조를 생성하는 서비스와 이벤트 유형에 따라 다르지만, 모두 함수가 이벤트를 처리하는 데 필요한 데이터를 포함한다.

Lambda는 이벤트 문서를 객체로 변환한 후 함수 핸들러에 전달한다. 컴파일된 언어의 경우 Lambda는 라이브러리의 이벤트 유형에 대한 정의를 제공한다.

서비스에 따라 이벤트 기반 호출은 동기식 또는 비동기식으로 수행될 수 있다.

동기식 호출의 경우 이벤트를 생성하는 서비스는 함수로부터 응답을 기다린다. 이 서비스는 함수가 응답에 반환되어야 하는 데이터를 정의한다. 이 서비스는 오류에 대해 재시도할지 여부와 같은 오류 전략을 제어한다. 자세한 내용은 동기식 호출 섹션을 참조한다.

비동기 호출의 경우 Lambda는 이벤트를 함수에 전달하기 전에 대기열에 추가한다. Lambda가 이벤트를 대기열에 넣으면 이벤트를 생성한 서비스에 즉시 성공 응답을 보낸다. 함수가 이벤트를 처리한 후 Lambda는 이벤트 생성 서비스에 대한 응답을 반환하지 않는다. 자세한 내용은 비동기식 호출 섹션을 참조한다.

Lambda가 동기식 및 비동기식으로 호출된 함수의 오류 처리를 관리하는 방법에 대한 자세한 내용은 AWS Lambda의 오류 처리 및 자동 재시도를 참조한다.


3. Lambda 폴링

대기열 또는 데이터 스트림을 생성하는 서비스의 경우 Lambda에서 이벤트 소스 매핑을 설정하여 Lambda가 대기열 또는 데이터 스트림을 폴링하도록 할 수 있다.

Lambda 폴링 아키텍처를 구현할 때 함수의 실행 역할에 있는 다른 서비스에 액세스할 수 있는 Lambda 권한을 부여한다. Lambda는 다른 서비스의 데이터를 읽고, 이벤트를 생성하고, 함수를 호출한다.


References