목록 보기
랠릿 standalone 적용기
프론트엔드

랠릿 standalone 적용기

인프런
인프런
2023년 9월 18일

두줄요약

Next.js standalone으로 Docker 이미지에 필요한 실행 파일만 포함해 배포 구조를 개선했습니다. ECR 이미지 용량과 배포 시간을 크게 줄이면서 환경 변수·정적 파일 처리 유의점을 정리했습니다.

문제 상황

  • Next.js 기반 B2C 서비스의 대용량 Docker image로 인한 ECR push·pull 및 배포 지연
  • 모노레포 Next.js v12 환경의 standalone 빌드에서 하위 라이브러리 누락과 환경 변수 미적용

해결 방법

  • output: 'standalone' 적용과 server.js 직접 실행으로 런타임 최소 파일만 포함
  • v12 모노레포에 outputFileTracingRoot 설정 추가
  • static·public 직접 복사, preload 모듈 설정, 빌드 전 환경별 .env를 루트로 복사하는 스크립트 구성

성능/운영 포인트

  • 불필요한 node_modules와 pnpm 제거, dd-trace 의존성은 dd-trace/init import로 standalone 결과물에 포함
  • ECR image 크기 2.46GB에서 404MB로 감소
  • 배포 시간 3분 38초에서 1분 7초로 2분 30초 단축

주의할 점

  • standalone 결과물에 포함되지 않는 정적 리소스의 별도 복사 또는 CDN 운영 필요
  • .env 위치와 Next.js 빌드 우선순위에 따른 환경 변수 누락 점검 필요

다음 읽기

#Next.js 주제를 다룬 다른 회사 글

NEXT.JS와 CDN, 그리고 도커 이미지 경량화

Next.js를 ECS나 EKS에서 직접 운영할 때 CDN 연동과 도커 이미지 경량화 방법을 정리했습니다. 정적 자산은 CDN으로 분리하고, standalone 출력으로 배포 이미지를 줄이는 노하우를 소개했습니다.

올리브영
올리브영
프론트엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...