infra, cloud/aws
Serverless framework의 배포 과정
worldint
2023. 8. 22. 11:15
관련 키워드
aws lambda, cloudformation( 템플릿, 스택) serverless-nextjs serverless/components serverless/cli |
Serverless가 프레임워크 이름임(개념이 아닌 고유명사)
얘가 해주는 역활은 AWS 인프라의 cloudfront + lambda + S3를 사용해서 배포를 해줌
간단히 nextjs를 사용하니까 그냥 정적 html파일로 빌드된걸 s3에 올리고 cloudfront와 연결해주는것같다
* 이거말고 다른 vercel이나 sst도 비슷한 방식일 것으로 예상된다
현재 nextjs13으로 업그레이드해서 serverless에서 sst로 바꿔야 하니 sst는 그때 다시 정리하자
배포 과정
serverless/cli를 사용하기 때문에
npx components-v1 명령어를 사용하면
serverless.yml파일에 기록된데로 배포가 진행된다
//serverless.yml
myServerlessNext:
component: '@sls-next/serverless-component@latest'
inputs:
bucketName: '${env.BUCKET_NAME}'
cloudfront:
distributionId: ${env.CROUDFRONT_ID}
name:
defaultLambda: '${env.DEFAULT_LAMBDA}'
apiLambda: '${env.API_LAMBDA}'
사용되는 aws 서비스는 s3, 클라우드 프론트, lambda@Edge이다
저 '@sls-next/serverless-component@latest'이 라이브러리는 packge.json에 있으면 안되고
그냥 yml파일에 써놓으면 serverless/cli가 npx 사용해서 저 라이브러리를 쓰는 형태같음