

# Lambda 확장 구성
<a name="extensions-configuration"></a>

## 익스텐션 구성(.zip 파일 아카이브)
<a name="using-extensions-config"></a>

익스텐션을 함수에 [Lambda 계층](chapter-layers.md)으로 추가할 수 있습니다. 계층을 사용하면 조직 내에서 또는 전체 Lambda 개발자 커뮤니티에서 익스텐션 프로그램을 공유할 수 있습니다. 계층에 하나 이상의 익스텐션을 추가할 수 있습니다. 각 함수에 최대 10개의 익스텐션을 등록할 수 있습니다.

계층에 대해 사용하는 것과 동일한 방법으로 함수에 익스텐션을 추가합니다. 자세한 내용은 [계층으로 Lambda 종속성 관리](chapter-layers.md) 단원을 참조하십시오.

**함수에 익스텐션 프로그램 추가(콘솔)**

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

1. 함수를 선택합니다.

1. 아직 선택되지 않은 경우 **코드(Code)** 탭을 선택합니다.

1. **계층(Layers)**에서 **편집(Edit)**을 선택합니다.

1. **계층 선택(Choose a layer)**에서 **ARN 지정(Specify an ARN)**을 선택합니다.

1. **ARN 지정(Specify an ARN)**에서 익스텐션 계층의 Amazon 리소스 이름(ARN)을 입력합니다.

1. **추가**를 선택합니다.

## 컨테이너 이미지에서 익스텐션 사용
<a name="invocation-extensions-images"></a>

[컨테이너 이미지](images-create.md)에 익스텐션을 추가할 수 있습니다. ENTRYPOINT 컨테이너 이미지 설정은 함수의 주 프로세스를 지정합니다. Dockerfile에서 ENTRYPOINT 설정을 구성하거나 함수 구성에서 재정의로 구성합니다.

컨테이너 내에서 여러 프로세스를 실행할 수 있습니다. Lambda는 주 프로세스와 모든 추가 프로세스의 수명 주기를 관리합니다. Lambda는 [익스텐션 API](runtimes-extensions-api.md)를 사용하여 익스텐션 수명 주기를 관리합니다.

### 예: 외부 익스텐션 추가
<a name="extensions-images-ex1"></a>

외부 익스텐션은 Lambda 함수와 별도의 프로세스에서 실행됩니다. Lambda는 `/opt/extensions/` 디렉터리의 각 익스텐션에 대해 프로세스를 시작합니다. Lambda는 익스텐션 API를 사용하여 익스텐션 수명 주기를 관리합니다. 함수가 완료될 때까지 실행된 후 Lambda는 각 외부 익스텐션에 `Shutdown` 이벤트를 보냅니다.

**Example Python 기본 이미지에 외부 익스텐션 추가**  

```
FROM public.ecr.aws/lambda/python:3.11

# Copy and install the app
COPY /app /app
WORKDIR /app
RUN pip install -r requirements.txt

# Add an extension from the local directory into /opt/extensions
ADD my-extension.zip /opt/extensions
CMD python ./my-function.py
```

## 다음 단계
<a name="using-extensions-next"></a>

익스텐션에 대해 자세히 알아보려면 다음 리소스를 사용하는 것이 좋습니다.
+ 기본적인 작업 예는 AWS Lambda 컴퓨팅 블로그에서 [AWS용 익스텐션 빌드](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/)를 참조하세요.
+ AWS Lambda 파트너가 제공하는 익스텐션에 대한 자세한 내용은 AWS Lambda 컴퓨팅 블로그에서 [AWS 익스텐션 소개](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-extensions-in-preview/)를 참조하세요.
+ 사용 가능한 예제 익스텐션 및 래퍼 스크립트를 보려면 AWS Lambda 샘플 GitHub 리포지토리에서 [AWS 익스텐션](https://github.com/aws-samples/aws-lambda-extensions)을 참조하세요.