

# Lambda 함수 간접 호출 방법 이해
<a name="lambda-invocation"></a>

Lambda 함수를 배포한 후에는 여러 가지 방법으로 함수를 간접적으로 간접 호출할 수 있습니다.
+ [Lambda 콘솔](testing-functions.md) - Lambda 콘솔을 사용하여 함수를 간접적으로 간접 호출하는 테스트 이벤트를 빠르게 생성합니다.
+ [AWS SDK](https://aws.amazon.com/developer/tools/) - AWS SDK를 사용하여 프로그래밍 방식으로 함수를 간접적으로 간접 호출합니다.
+ [간접 호출](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html) API - Lambda 간접 호출 API를 사용하여 함수를 직접 간접 호출할 수 있습니다.
+ [AWS Command Line Interface(AWS CLI)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/invoke.html) – `aws lambda invoke` AWS CLI 명령을 사용하여 명령줄에서 직접 함수를 간접적으로 간접 호출합니다.
+ [함수 URL HTTP(S) 엔드포인트](urls-configuration.md) - 함수 URL을 사용하여 함수를 간접적으로 간접 호출하는 데 사용할 수 있는 전용 HTTP(S) 엔드포인트를 생성합니다.

이러한 모든 메서드는 함수를 *직접* 간접 호출하는 방법입니다. Lambda에서 일반적인 사용 사례는 애플리케이션의 다른 곳에서 발생하는 이벤트를 기반으로 함수를 간접적으로 간접 호출하는 것입니다. 일부 서비스는 새로운 이벤트가 발생할 때마다 Lambda 함수를 간접적으로 간접 호출할 수 있습니다. 이를 [트리거](lambda-services.md)라고 합니다. 스트림 및 대기열 기반 서비스의 경우 Lambda는 레코드 배치와 함께 함수를 간접적으로 간접 호출합니다. 이를 [이벤트 소스 매핑](invocation-eventsourcemapping.md)이라고 합니다.

함수를 간접 호출할 때 동기식으로 간접 호출할 것인지 비동기식으로 간접 호출할 것인지 선택할 수 있습니다. [동기식 간접 호출](invocation-sync.md)의 경우 함수가 이벤트를 처리하여 응답을 반환하기를 기다립니다. [비동기식 간접 호출](invocation-async.md)의 경우, Lambda는 처리를 위해 이벤트를 대기열에 저장하고 즉시 응답을 반환합니다. [간접 호출 API의 `InvocationType` 요청 파라미터](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html#API_Invoke_RequestParameters)에 따라 Lambda가 함수를 간접적으로 간접 호출하는 방식이 결정됩니다. `RequestResponse` 값은 동기식 간접 호출을 나타내고 `Event` 값은 비동기식 간접 호출을 나타냅니다.

IPv6를 통해 함수를 간접 호출하려면 Lambda의 퍼블릭 [듀얼 스택 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#dual-stack-endpoints)를 사용하세요. IPv4 및 IPv6를 모두 지원하는 듀얼 스택 엔드포인트입니다. Lambda 듀얼 스택 엔드포인트는 다음 구문을 사용합니다.

```
{{protocol}}://lambda.{{us-east-1}}.api.aws
```

[Lambda 함수 URL](urls-configuration.md)을 사용하여 IPv6를 통해 함수를 간접 호출할 수도 있습니다. 함수 URL 엔드포인트는 다음 형식을 취합니다.

```
https://{{url-id}}.lambda-url.{{us-east-1}}.on.aws
```

함수 간접 호출에서 오류가 발생하는 경우 동기식 간접 호출의 경우에는 응답에서 오류 메시지를 확인하고 간접 호출을 수동으로 다시 시도합니다. 비동기식 간접 호출의 경우 Lambda는 재시도를 자동으로 처리하고 간접 호출 레코드를 [대상](invocation-async-retain-records.md#invocation-async-destinations)에 보낼 수 있습니다.