

# Lambda 비동기 호출에 대한 오류 처리 설정 구성
<a name="invocation-async-configuring"></a>

다음 설정을 사용하여 Lambda가 오류를 처리하고 비동기 함수 호출을 재시도하는 방법을 구성하세요.
+ [MaximumEventAgeInSeconds](https://docs.aws.amazon.com/lambda/latest/api/API_PutFunctionEventInvokeConfig.html#lambda-PutFunctionEventInvokeConfig-request-MaximumEventAgeInSeconds): Lambda가 이벤트를 삭제하기 전에 비동기 이벤트 대기열에서 이벤트를 유지하는 최대 시간(초)입니다.
+ [MaximumRetryAttempts](https://docs.aws.amazon.com/lambda/latest/api/API_PutFunctionEventInvokeConfig.html#lambda-PutFunctionEventInvokeConfig-request-MaximumRetryAttempts): 함수가 오류를 반환할 때 Lambda에서 이벤트를 재시도하는 최대 횟수입니다.

Lambda 콘솔 또는 AWS CLI를 사용하여 함수, 버전 또는 별칭에 대한 오류 처리 설정을 구성합니다.

------
#### [ Console ]

**오류 처리를 구성하려면**

1. Lambda 콘솔의 [함수 페이지](https://console.aws.amazon.com/lambda/home#/functions)를 엽니다.

1. 함수를 선택합니다.

1. **구성(Configuration)**을 선택한 다음 **비동기식 호출(Asynchronous invocation)**을 선택합니다.

1. **비동기식 호출**에서 **편집**을 선택합니다.

1. 다음 설정을 구성합니다.
   + **최대 이벤트 기간** - Lambda가 비동기 이벤트 대기열에서 이벤트를 유지하는 최대 시간입니다(최대 6시간).
   + **재시도 시도** - 함수가 오류를 반환할 때 Lambda 재시도 횟수입니다(0\$12 사이).

1. **Save**(저장)를 선택합니다.

------
#### [ AWS CLI ]

AWS CLI를 사용하여 비동기 간접 호출을 구성하려면 [put-function-event-간접 호출-config](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/put-function-event-invoke-config.html) 명령을 사용합니다. 다음 예제에서는 최대 이벤트 기간이 1시간이고 재시도가 없는 함수를 구성합니다.

```
aws lambda put-function-event-invoke-config \ 
  --function-name error \
  --maximum-event-age-in-seconds 3600 \
  --maximum-retry-attempts 0
```

이 `put-function-event-invoke-config` 명령은 함수, 버전 또는 별칭의 기존 구성을 덮어씁니다. 다른 옵션을 재설정하지 않고 옵션을 구성하려면 [update-function-event-간접 호출-config](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-event-invoke-config.html)를 사용합니다. 다음 예제에서는 이벤트를 처리할 수 없을 때 `destination`이라는 표준 SQS 대기열로 레코드를 전송하도록 Lambda를 구성합니다.

```
aws lambda update-function-event-invoke-config \
  --function-name my-function \
  --destination-config '{"OnFailure":{"Destination": "arn:aws:sqs:us-east-1:123456789012:destination"}}'
```

------

다음 결과가 표시됩니다.

```
{
    "LastModified": 1573686021.479,
    "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST",
    "MaximumRetryAttempts": 0,
    "MaximumEventAgeInSeconds": 3600,
    "DestinationConfig": {
        "OnSuccess": {},
        "OnFailure": {}
    }
}
```

호출 이벤트가 최대 기간을 초과하거나 모든 재시도 시도에 실패하면 Lambda는 해당 이벤트를 폐기합니다. 취소된 이벤트의 복사본을 유지하려면 실패한 이벤트 [대상](invocation-async-retain-records.md#invocation-async-destinations)을 구성합니다.