AWS S3 + CloudFront + HTTPS 설정 + 도메인 설정까지 하는 방법

조성주·2023년 11월 28일
0
post-thumbnail

AWS S3 + CloudFront로 배포를 할 예정이다. 배포를 한 뒤 가비아에서 도메인을 구매를 하여 설정할 것이기 때문에 배포부터 도메인 설정까지 방법을 적어본다. 방금 막 적용하고 방법을 쓴 것이기 때문에 아래 내용대로 하면 설정이 잘 될 것이다.

  1. 먼저 AWS 계정을 만든다.
  1. 버킷 만들기를 클릭하여 버킷 생성을 시작한다.

  2. 버킷만들기에서 버킷 이름을 입력해주고 AWS 리전 아시아 태평양(서울)로 선택한다.
    만약에, 도메인을 사서 적용할거면 버킷이름과 구매한 도메인과 동일하게 해야한다.

  1. 이 버킷의 퍼블릭 액세스 차단 설정에서 모든 퍼블릭 엑세스 차단을 해제한다.

  2. 나머지는 기본값으로 하고 버킷 만들기를 한다.

  3. 버킷 -> 권한 에서 버킷 정책 편집을 클릭 후 정책 생성기를 들어간다. 들어가기 전 버킷 ARN을 복사한다.

  4. 정책 생성기에서
    Step 1.에 Select Type of Policy에서 S3 Bucket Policy로 선택한다.
    Step 2.에 Add Statement principal을 *로 입력하고 Actions에서 GetObject을 선택
    ARN에는 아까 복사한 ARN에
    /*를 입력한다. 그 후 Add Statement를 클릭하고 Generate Policy를 클릭하면 정책이 생성이 된다.

  5. 생성된 정책을 복사하여 버킷 정책 편집에 붙여넣기를 한다. 그 후 변경 사항 저장을 한다.

  6. S3 -> 속성에서 정적 웹 사이트 호스팅을 활성화하고 인덱스 문서와 오류 문서에 index.html을 입력한다. 그 후 변경 사항 저장을 한다.

  7. CloudFront에 접속하여 배포 생성을 한다.

  8. 원본 도메인에서 원본 도메인을 선택한다.
    원본 액세스는 Legacy access identities를 선택한다.
    원본 액세스 ID는 새 OAI 생성하여 생성된 ID를 선택한다.
    그리고 버킷 정책은 예, 버킷 정책 업데이트를 선택한다.
    Origin Shield 리전을 아시아 태평양(서울)로 선택한다.

  9. Redirect HTTP to HTTPS를 선택한다.

  1. 보안 보호 비활성화로 하고 나머지는 기본 설정값으로 한다. SSL 인증서는 인증서를 발급 받은 뒤에 설정할 것이다. 이렇게 다 설정이 되면 배포 생성을 한다.

  2. 생성된 배포를 클릭하여 오류 페이지로 들어가 사용자 정의 오류 응답 생성을 한다.
    오류 코드 선택을 403과 404로 선택하고
    오류 응답 사용자 정의에서 예를 선택하여 응답 페이지 경로를 index.html로 입력하고
    HTTP 응답 코드를 200으로 선택한다.

  3. 다음은 Route 53에 접속하여 호스팅 영역을 생성한다.
    도메인 이름에는 가비아에서 구매한 도메인을 입력하고
    유형은 퍼블릭 호스팅 영역으로 선택한다.
    이렇게 설정하면 호스팅 영역 생성을 한다.

  1. 호스팅 영역을 생성하고 들어가서 값/트래픽 라우팅 대상을 복사한다.

  2. 가비아에 접속하여 My가비아 -> 도메인 관리에 들어가서 네임서버 설정을 한다. 순차적으로 입력하면 된다.

  3. ACM (AWS Certificate Manager)에 들어가서 인증서를 요청한다.

  4. 퍼블릭 인증서 요청을 선택하고 완전히 정규화된 도메인 이름에 가비아에서 구매한 도메인과 www.구매한 도메인을 입력한다. 검증방법은 DNS 검증을 선택하고 키 알고리즘은 RSA 2048을 선택한다.

ex)

  • example.com
  • www.example.com

  1. 발급받은 인증서를 선택하여 Route 53에서 레코드 생성을 하면 상태가 검증 대기중에서 상태가 성공으로 바로 변경이 된다. 바로 변경이 안되면 조금 기다리면 된다.

  2. CloudFront로 돌아가서 생성된 배포로 들어가 편집에 들어가서 대체 도메인 이름에 가비아에서 구입한 도메인과 www.구입한 도메인을 입력하고 사용자 정의 SSL 인증서에서 발급받은 인증서를 선택한다.

  3. 다시 Route 53으로 돌아가서 호스팅 영역에서 레코드 생성을 하여 subdomain에 www를 입력하고 레코드 유형을 A로 선택하고 별칭으로 전환하여 엔드포인트를 CloudFront 배포로 선택하고
    리전은 미국 동부(버지니아 북부) 선택한다. 이렇게 선택하면 배포 선택을 할 수 있는데 CloudFront에서 생성한 배포를 선택하면 된다. 웬만하면 자동으로 선택한다. 그 후 레코드 생성을 해준다.

이렇게 하면 배포도 완료 ! 도메인 적용도 완료 !

profile
프론트엔드 개발자가 되기 위한 기록

0개의 댓글