

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Lambda 함수를 트리거하도록 Amazon SQS 대기열 구성
<a name="sqs-configure-lambda-function-trigger"></a>

Lambda 함수를 사용하여 Amazon SQS 대기열의 메시지를 처리할 수 있습니다. Lambda는 대기열을 폴링하고 함수를 동기적으로 간접 호출하여 메시지 배치를 이벤트로 전달합니다.

**가시성 제한 시간 구성**   
대기열의 가시성 제한 시간을 [함수 제한 시간](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-common-summary)의 6배 이상으로 설정합니다. 이렇게 하면 이전 배치를 처리하는 동안 함수에 스로틀링이 발생하는 경우 재시도할 시간이 Lambda에 충분히 주어집니다.

**Dead Letter Queue(DLQ) 사용**  
Lambda 함수가 처리하지 못하는 메시지를 캡처할 Dead Letter Queue(DLQ)를 지정합니다.

**여러 대기열 및 함수 처리**  
Lambda 함수는 각 대기열에 대해 별도의 이벤트 소스를 생성하여 여러 대기열을 처리할 수 있습니다. 여러 Lambda 함수를 동일한 대기열에 연결할 수도 있습니다.

**암호화된 대기열에 대한 권한**  
암호화된 대기열을 Lambda 함수와 연결하지만 Lambda가 메시지를 폴링하지 않는 경우 Lambda 실행 역할에 `kms:Decrypt` 권한을 추가합니다.

**제한 사항**  
대기열과 Lambda 함수는 같은 AWS 리전에 있어야 합니다.  
기본 키(Amazon SQS용AWS 관리형 KMS 키)를 사용하는 [암호화된 대기열](sqs-server-side-encryption.md)은 다른에서 Lambda 함수를 호출할 수 없습니다 AWS 계정. Amazon SQS

구현 세부 정보는 *AWS Lambda 개발자 안내서*의 [Amazon SQS에서 AWS Lambda 사용](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)을 참조하세요.

## 사전 조건
<a name="configure-lambda-function-trigger-prerequisites"></a>

Lambda 함수 트리거를 구성하려면 다음 요구 사항을 충족해야 합니다.
+ 사용자를 사용하는 경우 Amazon SQS 역할에 다음 권한이 포함되어야 합니다.
  + `lambda:CreateEventSourceMapping`
  + `lambda:ListEventSourceMappings`
  + `lambda:ListFunctions`
+ Lambda 실행 역할에는 다음 권한이 포함되어야 합니다.
  + `sqs:DeleteMessage`
  + `sqs:GetQueueAttributes`
  + `sqs:ReceiveMessage`
+ 암호화된 대기열을 Lambda 함수와 연결하는 경우 Lambda 실행 역할에 `kms:Decrypt` 권한을 추가합니다.

자세한 내용은 [Amazon SQS의 액세스 관리 개요](sqs-overview-of-managing-access.md) 단원을 참조하십시오.

**Lambda 함수를 트리거하는 대기열을 구성하려면(콘솔)**

1. [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/)에서 Amazon SQS 콘솔을 엽니다.

1. 탐색 창에서 **대기열**을 선택합니다.

1. **대기열** 페이지에서 구성할 대기열을 선택합니다.

1. 대기열 페이지에서 **Lambda 트리거** 탭을 선택합니다.

1. **Lambda 트리거** 페이지에서 Lambda 트리거를 선택합니다.

   목록에 필요한 Lambda 트리거가 포함되어 있지 않은 경우 **Lambda 함수 트리거 구성**을 선택합니다. Lambda 함수의 Amazon 리소스 이름(ARN)을 입력하거나 기존 리소스를 선택합니다. 그런 다음 **저장**을 선택합니다.

1. **저장**을 선택합니다. 콘솔에서 구성을 저장하고 대기열의 **세부 정보** 페이지를 표시합니다.

   **세부 정보** 페이지의 **Lambda 트리거** 탭에는 Lambda 함수와 해당 상태가 표시됩니다. Lambda 함수가 대기열에 연결되기까지 약 1분 정도 소요됩니다.

1. 구성 결과를 확인하려면 [대기열에 메시지를 전송](creating-sqs-standard-queues.md#sqs-send-messages)한 후 Lambda 콘솔에서 트리거된 Lambda 함수를 확인합니다.