S3 웹 호스팅을 진행하면서 다양한 포스팅 문서, 공식 문서를 찾아봤고, AWS 개편으로 참고에 어려움을 겪었습니다.
물론 선배 개발자분들은 내용에 대해서 쉽게 이해하고 바로 적용하기 쉽겠지만, S3를 처음 접하는 초보 개발자분들에게는 혼란이 있을 수 있겠다는 생각이 들어 Error Handling으로 윗글을 작성하게 됐습니다. (물론 글쓴이도 초보 개발자입니다.)
글 작성은 도메인을 구매했다는 가정하에 진행합니다.
우선 AWS, S3에 접속합니다.
S3 접속 후, 버킷 만들기 버튼을 클릭해 버킷을 만들어야 합니다.
이때 중요한 점이 호스팅하고자 하는 도메인과 버킷 이름을 일치시켜줘야 합니다.
제일 많은 Error를 발생시킨 부분이고 고생한 부분이 이 부분입니다.
예를 들어, dreambackend.com으로 호스팅하고자 할 때에는 버킷 이름을 dreambackend.com으로 작성해주시기를 바랍니다.
버킷 생성 시 모든 퍼블릭 엑세스 차단을 클릭해 모두 허용해줘야 합니다.
(누구나 접근할 수 있게 하기 위함)
버킷 생성 후 해당 버킷에 들어가, 속성을 누르고 가장 하단 부분에 있는 정적 웹 사이트 호스팅 편집을 진행해야 합니다.
인덱스 문서에 웹 사이트 기본 페이지를 지정하고 오류 문서에 오류 페이지를 적어주시면 됩니다.
오류 페이지를 별도로 작성하지 못하셨다면, index.html로 진행하셔도 됩니다.
다양한 글을 읽어본 결과 index.html 대신 main.html로 진행하는 분들도 많이 계셨고, 이는 본인의 프로젝트에 따라 결과물이 달라진다 생각됩니다. 따라서 이 부분까지 제가 이 글에서 설명해 드리기에는 무리가 있습니다.
버킷 정책 설정은 일반 페이지에서 복사 붙여넣는 것이 아니라, 직접 만들어 주셔야 합니다.
위 화면에서 편집을 누르고 들어갑니다.
정책 생성기를 클릭해 정책을 생성할 수 있고, 버킷 ARN을 미리 복사해놓으면 더 편리하게 작업할 수 있습니다.
Select Type of Policy: S3 Bucket Policy
Principal:
Actions: GetObject
Amazon Resource Name (ARN): 기존 복사한 ARN을 붙여넣고 / 을 입력한 후
Add Statement를 클릭해 정책을 생성합니다.
생성된 정책을 복사 후, 버킷 정책에 붙여넣은 후 저장하면 됩니다.
Route53에 접속해 호스팅 영역을 생성합니다.
이때 호스팅 영역은 본인이 사용할 도메인 이름이고, S3 버킷 이름과 같아야 합니다.
예를 들면 도메인 이름이 dreambackend.com이면 S3 버킷 이름도 dreambackend.com 여야 합니다.
호스팅 영역을 생성하고, 접속해 레코드를 생성합니다.
유형은 A-IPv4 주소 및 일부 AWS 리소스..
별칭을 클릭 후 S3 웹 사이트 엔드포인트에 대한 별칭
개인의 레젼(레기온)이 중요합니다. 만약 S3를 서울로 작성하셨다면 서울로 설정하시고, 저와 같이 버지니아 북부를 선택해 작업을 진행하셨다면 버지니아 북부를 선택하시면 됩니다.
이후 생성된 S3 버킷을 클릭해 레코드를 생성하시면 됩니다.
위 방법은 http만 지원하기 때문에, https 지원하기 위해서는 Cloud Front를 통해 해결할 수 있습니다.
Cloud Front를 통한 https 배포는 차후 업로드 하도록 하겠습니다.
아래는 S3-Route53을 통한 호스팅 도메인 연결하기 결과물입니다.
감사합니다.