[AWS] S3 호스팅에 도메인 연결하기

S3에서 정적 웹호스팅을 할 수 있다는 이야기는 들어 보았지만, 아직까지 해 볼 경험이 없었는데
지인 덕분에 간만에 재밌는걸 해봐서 잊지 않으려고 기록합니다.

이미 많은 포스팅들도 있고, 공식 가이드 문서도 충분히 잘 정리 되어 있으니 참고 하시기 바랍니다.

도메인은 이미 구매하였다는 가정하에 진행합니다.
이 포스팅에서 사용할 도메인은 [travelerapp.kr](http://travelerapp.kr) 입니다.(곧 만료 예정)

S3 설정하기


  1. 우선 별 다른 설정없이 s3 버킷을 생성하여줍니다.
    이때 주의할점은 버킷명을 호스팅 하고자 하는 도메인과 일치시켜 주어야 합니다.

    버킷 생성하기

    또한 권한 설정시 퍼블릭 액세스를 꼭 체크 해제 해주어야 합니다.

    버킷 생성하기(권한 설정) - 퍼블릭 액세스 체크해제

  2. 버킷이 생성되면 호스팅 하고자 하는 파일을 업로드하여줍니다.
    호스팅시 누구나 접근 가능하게 하기때문에 퍼블릭 액세스를 허용 해야합니다.

    파일 업로드시 퍼블릭 액세스로 변경

  3. 그 후 속성 → 정적 웹 사이트 호스팅 메뉴에 들어가서
    인덱스 문서(메인 페이지), 오류 문서(404 등 오류가 발생했을때 노출 할 페이지) 2가지를 설정하여줍니다.

    정적 웹호스팅 설정

    저는 아래와 같이 main.html과 error.html으로 설정했습니다.
    저장 후 빨간색 박스 안에 있는 엔드포인트에 본인이 설정한 페이지가 정상적으로 노출되는지 확인합니다.

    정적 웹호스팅 설정 - 엔드포인트 확인

    또한 /detail.html 과 같이 존재하지 않는 페이지를 조회하였을때에 오류 문서로 설정한 페이지가 정상적으로 노출되는지도 확인합니다.

  4. 마지막으로 버킷의 정책을 설정하여 줍니다.

    해당 리소스 하위 경로에 대한 조회 권한을 설정하는것으로, 아래의 빨간 박스 내용이 자신이 설정하려는 도메인과 동일해야합니다.

    버킷 정책 편집 - 편집기 안의 빨간 박스의 내용을 본인의 도메인으로 설정

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {
    "Version": "2012-10-17",
    "Id": "Policy1579004958999",
    "Statement": [
    {
    "Sid": "Stmt1579004957334",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::static.travelerapp.kr/*"
    }
    ]
    }

이것으로 S3에 대한 설정은 끝입니다.

Route53 설정하기


자세히 보기