다른 서비스와 함께 AWS Lambda 사용 - AWS Lambda

다른 서비스와 함께 AWS Lambda 사용

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

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

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

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

작은 정보

이 표의 항목은 ‘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 이벤트

이벤트 기반, 비동기식 호출

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

이벤트 기반, 동기식 호출

Secrets Manager

이벤트 기반, 동기식 호출

AWS X-Ray

특수 통합

이벤트 기반 호출

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

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

이벤트는 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는 다른 서비스의 데이터를 읽고, 이벤트를 생성하고, 함수를 호출합니다.