함수에 레이어 추가하기

함수에 레이어 추가하기 (Adding layers to functions)

Lambda 레이어(layer)는 보조 코드나 데이터를 포함하는 .zip 파일 아카이브예요. 레이어는 보통 라이브러리 의존성, 커스텀 런타임(custom runtime), 또는 구성 파일을 담아요.

이 섹션에서는 Lambda 함수에 레이어를 추가하는 방법을 설명해요. 레이어에 대한 더 개념적인 정보와 레이어를 쓸 이유는 레이어로 Lambda 의존성 관리하기를 참고하세요.

Lambda 함수가 레이어를 사용하도록 구성하려면 먼저 다음이 필요해요.

Lambda 함수에는 레이어를 최대 5개까지 추가할 수 있어요. 함수와 모든 레이어의 총 압축 해제 크기는 압축 해제 배포 패키지 크기 할당량인 250MB를 초과할 수 없어요. 자세한 내용은 Lambda 할당량(quotas)을 참고하세요.

이미 추가한 레이어 버전은 그 버전이 삭제되거나 레이어 접근 권한이 철회된 뒤에도 함수가 계속 사용할 수 있어요. 다만 삭제된 레이어 버전을 사용하는 새 함수는 만들 수 없어요.

함수에 레이어를 추가하려면

  1. Lambda 콘솔의 Functions 페이지를 열어요.
  2. 함수를 선택해요.
  3. Layers 섹션까지 아래로 스크롤하고 Add a layer를 선택해요.
  4. Choose a layer 아래에서 레이어 원본을 선택해요.
  5. Add를 선택해요.

레이어를 추가하는 순서가 Lambda가 레이어 콘텐츠를 실행 환경에 병합하는 순서예요. 콘솔에서 레이어 병합 순서를 바꿀 수 있어요.

함수의 레이어 병합 순서 업데이트하기 (콘솔)

  1. Lambda 콘솔의 Functions 페이지를 열어요.
  2. 구성할 함수를 선택해요.
  3. Layers 아래에서 Edit을 선택해요.
  4. 레이어 중 하나를 선택해요.
  5. Merge earlier 또는 Merge later를 선택해 레이어 순서를 조정해요.
  6. Save를 선택해요.

레이어는 버전 관리돼요. 각 레이어 버전의 콘텐츠는 불변이에요. 레이어 소유자는 새 레이어 버전을 출시해 업데이트된 콘텐츠를 제공할 수 있어요. 콘솔로 함수에 연결된 레이어 버전을 업데이트할 수 있어요.

함수의 레이어 버전 업데이트하기 (콘솔)

  1. Lambda 콘솔의 Layers 페이지를 열어요.
  2. 버전을 업데이트하려는 레이어를 선택해요.
  3. Functions using this version 탭을 선택해요.
  4. 수정하려는 함수를 선택한 다음 Edit을 선택해요.
  5. Layer version에서 바꿀 레이어 버전을 선택해요.
  6. Update functions를 선택해요.

AWS 계정 간에 함수 레이어 버전은 업데이트할 수 없어요.

출처: AWS Lambda 개발자 안내서

본문

레이어 정보 찾기

함수의 런타임과 호환되는 계정의 레이어를 찾으려면 ListLayers API를 사용해요. 예를 들어 다음 list-layers AWS Command Line Interface(CLI) 명령을 사용할 수 있어요.

aws lambda list-layers --compatible-runtime python3.14

다음과 비슷한 출력이 보여요.

{
  "Layers": [
    {
      "LayerName": "my-layer",
      "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer",
      "LatestMatchingVersion": {
        "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
        "Version": 2,
        "Description": "My layer",
        "CreatedDate": "2025-04-15T00:37:46.592+0000",
        "CompatibleRuntimes": [
          "python3.14"
        ]
      }
    }
  ]
}

계정의 모든 레이어를 나열하려면 --compatible-runtime 옵션을 생략해요. 응답 세부 정보는 각 레이어의 최신 버전을 보여줘요.

ListLayerVersions API로 레이어의 최신 버전을 가져올 수도 있어요. 예를 들어 다음 list-layer-versions CLI 명령을 사용할 수 있어요.

aws lambda list-layer-versions --layer-name my-layer

다음과 비슷한 출력이 보여요.

{
  "LayerVersions": [
    {
      "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
      "Version": 2,
      "Description": "My layer",
      "CreatedDate": "2023-11-15T00:37:46.592+0000",
      "CompatibleRuntimes": [
        "java11"
      ]
    },
    {
      "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1",
      "Version": 1,
      "Description": "My layer",
      "CreatedDate": "2023-11-15T00:27:46.592+0000",
      "CompatibleRuntimes": [
        "java11"
      ]
    }
  ]
}

더 알아보기 (Learn more)