반응형
이번엔 Lambda Layer에 대해 알아보겠습니다.
Lambda Layer 란 무엇인가?
AWS Lambda Layer는 여러 Lambda 함수에서 공통으로 사용하는 라이브러리·패키지·코드·실행 바이너리 등을 분리하여 재사용할 수 있는 기능 입니다.
🔥 Layer를 사용하는 이유
- 여러 Lambda에서 같은 패키지를 중복 포함하지 않아도 됨
- Lambda 함수 ZIP 파일이 가벼워짐
- 배포 속도 개선
- 공통 라이브러리를 한 곳에서 관리 가능
- 아키텍처가 정리되며 유지보수가 쉬워짐
💡 Layer가 Lambda에서 로딩되는 경로
Node.js의 경우 Layer는 Lambda 실행 환경에서 다음과 같은 경로로 마운트 됩니다.
/opt/nodejs/node_modules/따라서, Layer ZIP 파일을 만들 때 내부 구조도 nodejs/node_modules 형태를 반드시 따라야 합니다.
이제 Lambda Layer를 직접 만들어서 사용해보겠습니다.
실습
먼저 Layer를 만들기 위해서는 Layer 전용 디렉터리를 준비하고, 그 안에 패키지를 설치해야 합니다.
예시로 mysql2와 @aws-sdk/client-s3 패키지를 Layer에 넣어서 사용해보겠습니다.
Layer 디렉터리 생성
mkdir -p layer/nodejs
cd layer/nodejspackage.json 정의 및 패키지 설치
패키지 설치 하기 위해 package.json 파일을 정의해주겠습니다.
{
"name": "lambda-connectivity-check",
"version": "1.0.0",
"description": "Lambda to test MySQL and S3 connectivity",
"dependencies": {
"@aws-sdk/client-s3": "^3.676.0",
"mysql2": "^3.11.0"
}
}그리고 이제 아래 명령어를 사용해 패키지 설치를 해보겠습니다.
npm install그러면 아래와 같은 파일 구조가 생깁니다.
layer/
└── nodejs/
├── package.json
├── package-lock.json
└── node_modules/Layer ZIP 파일 만들기
이제 Layer ZIP을 생성해보겠습니다.
Layer ZIP은 반드시 nodejs/ 폴더를 그대로 포함해야합니다.
cd ..
zip -r layer.zip nodejsLayer ZIP 파일 등록
AWS 콘솔에 접속하셔서
- AWS Console -> Lambda -> 계층
- 계층 생성
아래 이미지 처럼 Layer를 생성해주면 됩니다.

Lambda 함수에서 Layer 사용
앞선 진행과정을 정상적으로 수행을 하셧다면 Lambda 함수에서 아래 이미지와 같이 Layer를 등록해서 사용하면 됩니다.
Add a layer 클릭

아래 이미지와 같은 내용으로 추가

이상 입니다.
반응형
'AWS' 카테고리의 다른 글
| EKS 내부 서비스들을 하나의 Internal NLB로 통합하여 비용 개선 (ECS 연동 개선기) (0) | 2026.02.12 |
|---|---|
| AWS NAT Gateway 비용 분석: S3 트래픽과 VPC Endpoint의 중요성 (0) | 2025.12.16 |
| Packer 사용해서 AWS ami 커스텀 해보기 (0) | 2025.09.30 |
| Karpenter로 EKS에서 Spot 인스턴스 자동 프로비저닝하기 (0) | 2025.09.03 |
| GCP <-> AWS VPN 연결 (1) | 2025.06.25 |