- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
이 가이드는 “Code uncompressed size is greater than max allowed size of 272629760.” 오류를 해결하는 데 도움이 됩니다. 이 오류는 Datadog 서버리스 플러그인을 사용하여 Node.js 서버리스 애플리케이션을 계측할 때 일반적으로 발생합니다. 다른 언어나 배포 방법에서도 동일한 오류가 발생하는 경우 문제 해결 전략이 적용될 수 있습니다.
이 오류는 함수의 압축되지 않은 코드 크기가 250MB 제한을 초과함을 나타냅니다. 함수 패키지(함수 코드 및 종속성을 포함하는 .zip
아티팩트)와 함수에 설정된 Lambda 레이어 모두 이 제한에 포함됩니다. 두 가지 모두를 조사하여 원인을 찾아보세요.
일반적으로 Datadog은 계측를 위해 두 개의 Lambda 레이어를 추가합니다:
AWS CLI 명령 aws lambda get-layer-version
을 사용하여 Datadog 람다 레이어의 콘텐츠와 크기를 검사합니다. 예를 들어 다음 명령을 실행하면 _Datadog-Node22-x 버전 117 및 _Datadog-Extension 버전 66에 대한 람다(Lambda) 레이어를 다운로드하고 압축되지 않은 크기(약 30MB 합산)를 검사할 수 있는 링크가 표시됩니다. 압축되지 않은 크기는 레이어와 버전에 따라 다릅니다. 다음 예제의 레이어 이름과 버전 번호를 애플리케이션에서 사용하는 레이어 이름과 버전 번호로 바꾸세요:
AWS lambda get-layer-version \
--layer-name arn:AWS:lambda:us-east-1:464622532012:layer:Datadog-Node22-x \
--version-number 117
AWS lambda get-layer-version \
--layer-name arn:AWS:lambda:us-east-1:464622532012:layer:Datadog-Extension \
--version-number 66
Datadog 람다 레이어 외에도 기능/함수에 추가된(또는 추가될) 다른 람다 레이어도 검사하세요. 서버리스 프레임워크]4를 사용하는 경우, deploy
또는 package
명령을 실행한 후 숨겨진 .serverless
폴더에서 CloudFormation 템플릿을, Layers
섹션에서 람다 레이어 목록을 찾을 수 있습니다.
함수 배포 패키지에는 필요 없는 큰 파일이나 코드가 포함될 수 있습니다. 서버리스 프레임워크를 사용하는 경우 deploy
또는 package
명령을 실행한 후 숨겨진 .serverless
폴더에서 배포 패키지(.zip
파일)을 찾을 수 있습니다.
배포 크기( 패키지 )와 레이어의 합이 한도를 초과하지 않는 경우 AWS 지원팀에 문의하여 조사를 요청하세요. 총 크기가 한도를 초과하는 경우 배포 패키지를 검사하고 패키지 옵션을 사용하여 런타임에 필요하지 않은 대용량 파일을 제외하세요.
Datadog Lambda 레이어는 계측 라이브러리를 패키지화하여 Lambda 실행 환경에서 사용할 수 있기 때문에datadog-lambda-js
및 dd-trace
를 package.json
에서 종속성으로 지정할 필요가 없습니다. 로컬 빌드 또는 테스트에 Datadog 라이브러리가 필요한 경우 배포 패키지에서 제외되도록 devDependencies
로 지정합니다. 마찬가지로 serverless-plugin-datadog
는 개발에만 필요하며 devDependencies
아래에 지정해야 합니다.
또한, 배포 패키지에 포함된 다른 종속성 (node_modules
폴더)을 검사하고 dependencies
에서 필요한 종속성만 보관합니다.
웹팩 또는 에스빌드(esbuild)와 같은 번들러를 사용하면 사용되는 코드만 포함시켜 배포 패키지 크기를 줄일 수 있습니다. 필요한 웹팩 설정은 Node.js Lambda 추적 및 번들러 호환성을 참조하세요.
사용 사례에 따라 패키지 크기와 관련된 문제를 해결하기 위해 datadog-ci lambda instrument
명령을 사용하는 것이 더 쉬울 수 있습니다. datadog-ci lambda instrument
명령은 서버리스-플러그인-Datadog과 동일한 계측을 설정합니다. 자세한 내용은 datadog-ci repo를 참조하세요.
Datadog 지원팀의 지원이 필요한 경우 티켓에 다음 정보를 포함하세요:
serverless.yaml
, package.json
,package-lock.json
, yarn.lock
, tsconfig.json
, webpack.config.json
.추가 유용한 문서, 링크 및 기사: