[AWS] S3에 서비스 배포 팁


이번에 48wedding.com이라는 서비스를 만들고 있다. 만드는 과정에서 처음부터 혼자 만든 서비스는 꽤 있었는데, 배포까지 혼자하는건 처음이어서 그 경험을 공유해보려한다.

react-router 사용할 수 있게하기


S3에 배포를 하면 특정한 도메인이 생기게 되는데, SPA이기 때문에 그 안에서 라우팅을 할 땐 잘 된다.

그러나 새로고침을 한다거나. URL을 입력해서 접속을 할경우 정해진 도메인이 아니라서 에러페이지를 보게된다.

이럴 때 해결할 수 있는 아주 간단한 방법이 있다.

에러페이지 설정

바로 S3의 정적호스팅의 에러페이지를 index.html(시작페이지와 같은파일)로 하는것이다.

싱글페이지 앱이기 때문에 에러페이지로 리다이렉트되어도 index.html이 라우팅을 해주게된다.

우리가 예상했던 페이지로 가는 아주 간단한 방법이다.

이 현상을 해결하기 위해 여러가지 프로그램적인 해결방법이 존재하는데, 에러페이지 설정으로 한방에 끝낼 수 있다.

AWS CLI


나의 경우는 s3cmd라는 CLI를 사용해서 배포한다. 몇가지 설정을 하면 npm 명령어로 한방에 빌드와 배포까지 끝낼 수 있다.

npm run build && s3cmd sync build/* s3://48wedding.com && echo 'Deployed!'

위와같은 명령어를 사용하면 된다.

배포가 엄청 쉬워졌다.




© 2017. by isme2n

Powered by aiden