Jack Salvador
← Blog 목록으로

S3 + CloudFront + OAC로 안전한 정적 사이트 배포하기

왜 S3를 직접 공개하지 않을까

S3 버킷을 퍼블릭으로 열어 정적 웹사이트 호스팅을 켜는 방식은 간단하지만, 버킷이 인터넷에 직접 노출됩니다. 대신 CloudFront(CDN)를 앞에 두고, S3는 비공개로 유지하면 다음 이점이 있습니다.

OAC란

OAC(Origin Access Control)는 CloudFront만 S3 오리진에 접근할 수 있도록 서명된 요청을 보내는 최신 방식입니다. 과거의 OAI(Origin Access Identity)를 대체합니다. 버킷 정책에서 “이 CloudFront 배포에서 온 요청만 허용”하도록 제한하면, S3를 완전히 비공개로 두면서도 사이트는 정상 동작합니다.

큰 그림

  1. astro builddist/ 정적 파일 생성
  2. dist/를 비공개 S3 버킷에 업로드
  3. CloudFront 배포 + OAC로 S3에 연결
  4. ACM 인증서로 커스텀 도메인에 HTTPS 적용
  5. Route 53에서 도메인을 CloudFront로 연결

이 글은 예시(sample) 포스트입니다. 실제 배포 명령은 README와 배포 단계에서 다룹니다.