Next.js 서버 인스턴스 배포할때 나타나는 화이트아웃 현상 트러블 슈팅
요약
AWS ECS Fargate를 통해 Next.js 서버 인스턴스를 운용하고 있었는데, 새 배포 버전으로 태스크가 개정(revision)되면서 이전 인스턴스가 사라져서 Next.js 애플리케이션의 정적 자원(static)을 찾지 못해 404가 떨어지는 케이스를 해결했습니다.정적 자원을 assetPrefix 옵션을 사용해서 별도의 CDN에 업로드해서 배포 개정이 이루어져도 자원을 찾지 못하는 문제를 인프라 구조를 개선해서 해결한 내용입니다.
안녕하세요, 저는 웹 프론트엔드 개발자입니다.
Next.js를 사용하신다면 서버 인스턴스를 어느 플랫폼에 호스팅하시나요?
Vercel에서 제공하는 호스팅 서비스를 사용하시는 분도 계실 것이고, AWS(EC2, ECS, EKS, Amplify 등), GCP, Azure와 같은 관리형 Sass를 사용해서 서버 런타임을 운용하고 계실 겁니다.
저는 실무에서 AWS ECS Fargate 환경에서 Next.js 앱 인스턴스를 띄워 운영하고 있습니다. 가용 리소스와 트래픽에 맞추어 컴퓨팅 리소스를 탄력적으로 관리할 수 있다는 점에서 ECS를 매우 편리하게 사용하고 있습니다.
하지만 언제나 그렇듯 기술을 제대로 이해하고 사용하지 않으면 예기치 못한 문제를 맞이하게 됩니다.
작년, 새로운 배포판으로 개정(revision) 할때 화면이 하얗게 나오는 white-out 현상을 인지했고 어떤 인프라 구조와 배포 방식으로 대처할 수 있었는지 소개해드리고자 합니다.