[nextjs] nextjs serverless 배포 sst를 소개합니다.

도디·2023년 5월 20일
1

회사 프로젝트에서 next를 사용하는데, next 프레임워크의 서버리스 배포를 위해 기존에는 @sls-next/serverless-component 라이브러리로 했었다.

그러나 라이브버리 관리가 일년전에 멈춰져있고, nextjs 최근 버전을 지원하지 않는듯했다. 그렇기 때문에 다른 서버리스 배포 로직을 제공하는 서비스가 필요했고, sst를 선택했다.

https://docs.sst.dev/start/nextjs

나의 경우는 정말 간단하게 sst를 붙였는데, nodejs16 npm7 이상이 필요하고, aws자격증명이 로컬적으로 세팅이 되어있었기 때문이다. aws에 대해서는 멍청이 이기 때문에, 자격세팅 하라고 하면 조금 슬플수도..

1. sst 초기화

npx create-sst@latest

기존 프로젝트에 sst를 초기화 해서 세팅해주고 sst.config.js가 만들어지면 배포 로직의 추가 설정을 하면 된다.

2. 로컬에서 개발환경 시작하기

package.json을 보면 "dev": "sst bind next dev" 라고 script가 바뀌어있을 것이다. 이는 'Lambda 함수 내에서 실행 중인 것처럼 작동할 수 있습니다.' 라고 한다.
로컬에서 프로젝트를 실행하려면 sst를 로컬에서 실행해주고 nextjs 프로젝트를 평소처럼 키면 된다.

# Start SST locally
npx sst dev
# Start Next.js locally
yarn dev

3. 배포하기

다른 설정없이 일단 sst가 잘 작동되는지 살펴보자. 둘 중 하나의 명령어를 사용하면, 배포가 될 것이다.

npx sst dev
npx sst dev --stage prod

만약 안된다면, sst remove 명령어로 관련 리소스를 모두 제거 하자. 그리고 초기화도 다시 한번 더 해보고 배포를 해보면 잘 된다(나의 경우엔?)
https://docs.sst.dev/packages/sst#sst-remove

npx sst remove 
npx sst remove --stage prod

npx create-sst@latest
profile
충전중..🤔

0개의 댓글