안녕하세요. 지난 글에서 S3 버킷으로 HTML 정적 웹사이트를 호스팅하는 방법을 알아봤습니다.
▼ 이전 글 참고 [AWS] Amazon S3 정적 웹사이트 호스팅 방법 (S3 버킷으로 HTML 사이트 만들기) https://softwcgcg.tistory.com/26
[AWS] Amazon S3 정적 웹사이트 호스팅 방법 (S3 버킷으로 HTML 사이트 만들기)
안녕하세요 S3 Bucket 을 통해 HTML 소스를 그대로 올려서 사이트 접속 가능하게 해보겠습니다.시작은 AWS에서 S3로 접속 하는것 입니다.① 버킷 생성 → ② 정적 웹 사이트 호스팅 활성화 → ③ HTML
softwcgcg.tistory.com
다만 S3 웹사이트 엔드포인트 주소는 http:// 로만 접속되고 주소도 길어서 실제로 쓰기엔 아쉽습니다. 이번 글에서는 가비아에서 구입한 도메인을 연결하고, HTTPS(https://)로 접속되게 만들어 보겠습니다.
- ACM SSL 인증서: CloudFront 같은 AWS 통합 서비스에서 쓰면 발급·자동 갱신 모두 무료
- CloudFront: 새로 생긴 무료 플랜(월 0달러) 으로 월 100만 건 요청 / 100GB 전송까지 커버, 심지어 초과 요금도 없음
- 개인 홈페이지·포트폴리오 수준 트래픽으로는 이 한도를 넘길 일이 거의 없습니다.
순서
1. ACM에서 무료 SSL 인증서 발급
2. 가비아 DNS에 검증용 CNAME 등록 → 인증서 발급 완료
3. CloudFront 무료 플랜으로 배포 생성 (S3 연결 + 인증서 적용)
4. 가비아 DNS에서 내 도메인 → CloudFront 연결 후 HTTPS 접속 확인
■ STEP 1. ACM(Certificate Manager) 무료 SSL 인증서 요청
ACM 퍼블릭 인증서는 CloudFront 등 AWS 통합 서비스에서 사용하는 조건이면 발급도, 1년마다 하는 갱신도 전부 무료·자동입니다. 유료 SSL 인증서 살 필요가 없습니다.

AWS 콘솔에서 Certificate Manager 검색 후 접속 → 인증서 요청 클릭 오른쪽 아래 요금 안내에도 나오듯이, ACM 인증서는 CloudFront 같은 통합 AWS 리소스에서 사용하면 무료입니다.

인증서 유형: 퍼블릭 인증서 요청 선택 → 다음

도메인 이름에 루트 도메인 입력 후 "이 인증서에 다른 이름 추가"로 www.도메인 도 추가 여기서 무료 유지를 위해 내보내기 허용은 반드시 "내보내기 비활성화" 그대로 두세요. 내보내기 활성화를 선택하면 요금이 청구됩니다.
검증 방법은 DNS 검증(권장) 선택

키 알고리즘은 기본값 RSA 2048 그대로 → 요청 클릭

인증서가 생성되고 상태는 "검증 대기 중" 아직 도메인 주인 확인이 안 된 상태입니다. 가비아 DNS에 검증용 레코드를 넣어주러 갑니다.

도메인 목록에서 CNAME 이름 / CNAME 값 확인 (복사 버튼으로 복사) Route 53을 쓰면 버튼 하나로 되지만, 우리는 가비아 도메인이므로 직접 등록해야 합니다.
■ STEP 2. 가비아 DNS에 검증용 CNAME 레코드 등록
ACM이 "이 도메인 주인이 맞는지" 확인하는 절차입니다. 가비아 DNS에 CNAME 두 개(루트용, www용)만 넣어주면 됩니다.

가비아 로그인 → My가비아 → DNS 관리툴 접속 → "레코드 수정" 클릭

레코드 추가 → 타입 CNAME 선택, 호스트/값 입력 호스트에는 ACM의 CNAME 이름 중 마침표(.) 전까지의 앞부분만 입력합니다. 값에는 CNAME 값을 그대로 붙여넣으면 됩니다.
두 레코드 모두 확인(수정) 후 저장 클릭

잠시 후 ACM 새로고침 → 두 도메인 모두 상태 "성공" 확인 보통 몇 분~30분 내외로 발급됩니다. 이걸로 무료 SSL 인증서 발급 끝
■ STEP 3. CloudFront 무료 플랜으로 배포 생성
S3 자체는 커스텀 도메인 HTTPS를 지원하지 않아서 앞단에 CloudFront(CDN)를 붙입니다. 예전에는 사용량만큼 과금이었는데, 지금은 무료 플랜(월 0달러) 이 생겨서 개인 사이트는 공짜로 쓸 수 있습니다.

AWS 콘솔에서 CloudFront 검색 후 접속 → 배포 생성 클릭

플랜 선택 화면에서 "무료 (월 0달러)" 선택 무료 플랜 구성 월 100만 건 요청 / 100GB 허용량에 DDoS 보호, WAF, 무료 TLS 인증서, 글로벌 CDN, 5GB S3 저장공간까지 포함입니다. 그리고 "초과 요금은 없습니다" 라고 명시되어 있어서 요금 걱정 없습니다. S3에서 CloudFront로 가는 데이터 전송 비용도 자동 면제 입니다.

아래에 "사용한 만큼 지불" 옵션도 있지만 대규모 트래픽용이므로 무시 → 다음

배포 이름 은 자유롭게, 시작하기: 배포 이름 입력. Route 53 관리형 도메인 칸에 경고가 떠도 무시 우리 도메인은 가비아에 등록돼 있어서 CloudFront가 자동 구성을 못 한다는 안내일 뿐입니다. "도메인 설정 건너뛰기" 클릭

Specify origin: Origin type은 "Other" 선택, Custom origin에 S3 웹사이트 엔드포인트 주소(버킷명.s3-website.ap-northeast-2.amazonaws.com) 입력 이전 글에서 만든 S3 정적 웹사이트 엔드포인트를 그대로 넣으면 됩니다. 오리진/캐시 설정은 권장(recommended) 그대로 → Next

WAF 보안 설정 화면 — 무료 플랜에 포함이므로 기본값 그대로 Next "Security protections from WAF are included in your plan at no additional charge" = 추가 비용 없이 포함이라는 뜻입니다.

Review and create에서 Billing: Free($0/month), 예상 요금 $0 확인 → Create distribution 여기서도 월 0달러 확인 생성하면 됩니다.

배포 생성 완료. 배포 도메인 이름(xxxx.cloudfront.net)이 생겼습니다. 이제 설정 → 편집 클릭

설정 편집: 대체 도메인 이름(CNAME)에 내 도메인 2개(www 있는 것 / 없는 것) 입력, Custom SSL certificate에서 STEP 1에서 발급한 ACM 인증서 선택, 대체 도메인을 안 넣으면 내 도메인으로 접속이 안 됩니다. Security policy는 기본 권장값 선택

Default root object에 index.html 입력 → 변경 사항 저장 도메인만 쳤을 때(/) index.html이 열리게 하는 설정입니다. 빼먹으면 루트 접속 시 에러가 납니다.

동작(Behaviors) 탭 → 기본 동작 선택 → 편집 클릭

뷰어 프로토콜 정책: "Redirect HTTP to HTTPS" 선택 http:// 로 들어와도 자동으로 https:// 로 보내주는 설정입니다.

Save changes


원본(Origins) 탭 → 원본 선택 → 편집 프로토콜이 "HTTP만 해당"으로 되어 있는지 확인 후 저장 S3 웹사이트 엔드포인트는 HTTP만 지원하기 때문에, CloudFront→S3 구간은 HTTP로 가져오고 사용자→CloudFront 구간만 HTTPS로 제공하는 구조입니다.
■ STEP 4. 가비아 DNS에서 내 도메인 → CloudFront 연결
마지막입니다. 내 도메인으로 접속하면 CloudFront로 가도록 가비아 DNS에 CNAME을 넣습니다.

CloudFront 배포 목록에서 Domain name(xxxx.cloudfront.net) 복사 이 주소가 가비아에 입력할 CNAME 값입니다.

가비아 DNS 관리툴 → 도메인 체크 → 설정 클릭

레코드 추가: 타입 CNAME, 호스트 www, 값에 복사한 CloudFront 도메인 입력 → 확인 → 저장 값 맨 마지막에 마침표(.)를 붙여서 입력해야 합니다. (예: xxxx.cloudfront.net.)
브라우저에서 https://www.내도메인.com 접속 → 자물쇠 아이콘이 뜨면 성공

이렇게 해서 S3에 올린 HTML 사이트를 가비아 도메인 + HTTPS로 접속되게 만들었습니다.
비용 정리
- ACM SSL 인증서: 무료 (내보내기 비활성화 + AWS 통합 서비스 사용 조건, 자동 갱신도 무료)
- CloudFront: 무료 플랜 월 0달러 (월 100만 요청 / 100GB, 초과 요금 없음, S3→CloudFront 전송 무료, 5GB S3 저장 포함)
- S3: 무료 플랜에 포함된 5GB 안이면 0원
- 결론: 실제로 돈 나가는 건 가비아 도메인 등록비뿐입니다. 개인 홈페이지 수준이면 AWS 쪽 청구서에 0원이 찍힙니다.
무료 유지를 위한 주의 3가지
- ACM 인증서 요청 시 "내보내기 활성화"를 선택하면 과금됩니다 → 비활성화 그대로
- CloudFront 플랜 선택에서 "사용한 만큼 지불"이 아니라 "무료" 플랜인지 확인
- Pro/Business 플랜 전용 기능(Upgrade 표시)은 누르지 않기 — 기본 기능만으로 충분합니다.
'AWS > S3' 카테고리의 다른 글
| [AWS] Amazon S3 정적 웹사이트 호스팅 방법 (S3 버킷으로 HTML 사이트 만들기) (0) | 2026.07.07 |
|---|