페이지 4: 다른 AWS 서비스와 Lambda 통합하기

4. 다른 AWS 서비스와 Lambda 통합하기

AWS Lambda의 진정한 강점은 다른 AWS 서비스와의 긴밀한 통합 능력에 있습니다. 이를 통해 강력하고 유연한 이벤트 기반 아키텍처를 구축할 수 있습니다.

4.1. Amazon S3 이벤트 통합

S3 버킷에 객체가 생성, 삭제 또는 수정될 때 Lambda 함수를 자동으로 트리거할 수 있습니다. 이는 이미지 리사이징, 데이터 처리, 파일 형식 변환 등의 작업에 유용합니다.

// S3 버킷에 트리거 추가 (콘솔 또는 CLI/Terraform/CloudFormation)
// 이벤트 소스: S3 -> 대상: Lambda 함수

4.2. Amazon DynamoDB Streams 통합

DynamoDB 테이블의 모든 항목 변경(생성, 업데이트, 삭제)을 실시간으로 캡처하여 Lambda 함수로 스트리밍할 수 있습니다. 이는 실시간 분석, 데이터 복제, 감사 로그 생성 등에 사용됩니다.

4.3. Amazon API Gateway 통합

API Gateway는 HTTP 요청을 Lambda 함수로 라우팅하는 데 사용됩니다. 이를 통해 사용자 지정 RESTful API 엔드포인트를 구축하고 서버리스 웹 애플리케이션을 호스팅할 수 있습니다.

// API Gateway에서 새 엔드포인트 생성 후 통합 유형을 Lambda 함수로 설정
// Lambda 함수는 HTTP 요청을 처리하고 HTTP 응답을 반환합니다.
exports.handler = async (event) => {
    // event.httpMethod, event.path, event.body 등에 접근
    return {
        statusCode: 200,
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ message: "Hello from API Gateway & Lambda!" }),
    };
};

4.4. Amazon SNS/SQS 통합

SNS(Simple Notification Service)를 통해 주제에 발행된 메시지에 응답하거나, SQS(Simple Queue Service) 대기열에서 메시지를 폴링하여 비동기 작업을 처리할 수 있습니다.