AWS Amplify 를 이용한 (Nextjs)웹사이트 정적배포 정리

Wonwon·2023년 2월 19일
0
post-thumbnail

시작글(AWS 공식 설명글) :
https://aws.amazon.com/ko/getting-started/hands-on/host-static-website/

시작하기 앞서 s3를 이용한 정적웹사이트 호스팅을 이용하는게 비용적으로 효과적이지않냐고 말할 수 있지만, Nextjs의 serverside rendering, API endpoints 요청을 처리하기 위해선 Lambda, API Gateway, CloudFront의 설정이 함께 필요하고, Amplify는 이를 모두 연결해 제공해주는 서비스이다!

먼저 AWS-amplify Console에 접속하자
https://ap-northeast-2.console.aws.amazon.com/amplify/home?region=ap-northeast-2#/

나는 Github에 있는 Repository를 이용해 배포할것이므로 아래사진의 시작하기를 누르자.

자신의 Git repository선택

모든 레포지토리에 권한을 줄것인지 선택(Only select repositories 추천)

연결한 repository의 branch선택

여기까지 완료했다면, 레포지토리 연결과정은 끝이다.
이제 앱 빌드설정을 해야한다.

자동으로 빌드설정이 되있는데, 문제없는지 확인후 수정할건 수정하면된다.

docker를 사용한다면 docker image를 제공할 수 있다.

마지막으로 설정을 확인한 후 배포를 진행하면 끝이다!

넘어가면 이렇게 배포가 진행되는것을 볼 수 있다.

아래와같이 배포가 완료되면 아래의 링크를 통해 웹사이트를 접속할 수 있다.
(접속해보면 자동으로 https로 설정되있는것도 확인된다)

도메인을 추가하고싶은경우 "도메인 관리"에서 Route53에 등록된 도메인을 이용해 추가할 수 있다.

다른 환경변수 설정 및 빌드성공,실패 알림도 설정가능하므로 필요할경우 사용하면될것이다.

  • Vercel도 아주 저럼한가격에 Nextjs serverside 기능을 지원하는 배포기능을 제공하고있고(Vercel에서 만들었으니까 당연한..?), AWS amplify와 유사한 ui로 같은 기능들을 제공하고있다.
  • 다른 AWS 서비스들을 사용하고있다면 AWS-amplify를 이용하는것이 좋아보이고, 그것이 아니라면 간단하게 Vercel을 이용하는것이 좋아보인다.
profile
꾸준히 기록, 학습하려 노력하고 있습니다.

0개의 댓글