AWS S3 + CloudFront로 이미지/동영상 퍼블릭 URL 생성 가이드 (1)

AWS S3 + CloudFront로 이미지/동영상 퍼블릭 URL 생성 가이드 (1)

AWS S3 버킷에 업로드한 이미지나 동영상 파일을 CloudFront를 통해 퍼블릭 URL로 제공하는 방법을 단계별로 안내합니다. CloudFront는 AWS의 글로벌 CDN(콘텐츠 전송 네트워크) 서비스로, S3의 파일을 더 빠르고 안전하게 전 세계에 배포할 수 있습니다.

1. AWS 회원가입

AWS를 처음 사용하시는 분은 먼저 계정을 생성해야 합니다.

단계별 회원가입 과정

  1. AWS 공식 사이트 접속
      • '무료 계정 생성' 버튼 클릭
        • notion image
  1. 계정 정보 입력
      • 이메일 주소, 계정 이름, 비밀번호 입력
      • 이메일 인증 진행
        • notion image
  1. 연락처 정보 입력
      • 이름, 주소, 전화번호 등 개인정보 입력
  1. 결제 정보 입력
      • 신용카드 정보 입력 (소액 결제 후 환불)
      • 1년 무료 티어 자동 적용
⚠️ 참고: 신용카드 등록이 필요하지만, 무료 티어 범위 내에서는 과금되지 않습니다.
  1. 휴대폰 인증
      • SMS 또는 음성통화로 인증번호 확인
  1. 계정 유형 및 지원 플랜 선택
      • 개인/비즈니스 선택
      • 기본 지원(무료) 선택
 

2. S3 버킷 생성 및 파일 업로드

2.1 S3 버킷 생성

  1. AWS 콘솔 접속
      • AWS Management Console에 로그인
      • 상단 검색창에 'S3' 입력 후 서비스 선택
        • notion image
  1. 버킷 생성하기
      • '버킷 만들기' 버튼 클릭
        • notion image
  1. 버킷 설정 및 생성
    1. notion image
    2. 기본 설정
        • 버킷 이름: 영문 소문자, 숫자, 하이픈만 사용 (전 세계 고유해야 함)
        • 리전: Asia Pacific (Seoul) ap-northeast-2 권장
    3. 객체 소유권 설정
        • 기본값(ACL 비활성화) 유지
    4. 퍼블릭 액세스 차단 설정
        • 중요: CloudFront를 사용할 때는 모든 퍼블릭 액세스를 차단해도 됩니다
        • 보안을 위해 차단 상태로 유지하는 것을 권장
    5. 버킷 생성 완료
        • 나머지 옵션은 기본값으로 두고 '버킷 만들기' 클릭
      버킷명이 고유하지 않아서, dantelabs → dante-labs-test 로 변경했습니다. 여러분도 고유하게 만드셔야 합니다
      notion image

2.2 파일 업로드

  1. 생성한 버킷 클릭
      • S3 버킷 목록에서 방금 만든 버킷 선택
  1. 파일 업로드
      • '업로드' 버튼 클릭
        • notion image
      • 이미지/동영상 파일을 드래그 앤 드롭 또는 '파일 추가'로 선택
        • notion image
  1. 업로드 완료 확인
      • 업로드된 파일이 객체 목록에 표시되는지 확인
        • notion image
          notion image

3. CloudFront 배포 생성

3.1 CloudFront 서비스 접속

  1. CloudFront 서비스 찾기
      • AWS 콘솔 상단 검색창에 'CloudFront' 입력
      • CloudFront 서비스 선택
        • notion image
  1. 배포 생성 시작
      • '배포 생성(Create Distribution)' 버튼 클릭
        • notion image

3.2 배포 설정

원본 설정 (Origin Settings)

  1. 배포 이름과 설명 입력
      • 배포 이름과 설명을 작성후 [Next] 버튼 클릭
      notion image
  1. 원본 도메인 (Origin Domain)
      • Origin type을 Amazon S3로 선택
      • [Browser S3] 버튼을 눌러서 팝업메뉴에서 앞서 생성한 S3 버킷 선택
      • 자동으로 S3 버킷 도메인이 입력됨
      • 원본 경로 (Origin Path)
        • S3 버킷 내 특정 폴더만 배포하려면 경로 입력 (예: /images)
        • 전체 버킷을 배포하려면 비워둡니다
      • Settings 에서 “Allow private S3 Bucket access to CloudFront” 체크
      • “Use recommended origin settings” 선택
      • [Next] 버튼 클릭
      notion image
  1. 보안설정 (Enable security)
      • [보안 보호 비활성화] 선택
      • [Next] 버튼 클릭
      notion image
  1. 설정 확인 및 배포 생성 (Review and create)
      • [create distribution] 버튼 클릭
      notion image
      • 배포 도메인 확인 (할당된 도메인 이름 기록 예: d1234abcd.cloudfront.net)
      notion image

3.3 배포 상태 확인

  1. 배포 목록에서 확인
      • 새로 생성된 배포가 목록에 나타남
        • notion image
      • 상태가 '배포'에서 활성상태로 변경될 때까지 대기 (보통 1-10분 소요)
        • notion image

4. CloudFront URL로 파일 접근

4.1 URL 구조 이해

CloudFront URL의 기본 구조는 다음과 같습니다:
https://[CloudFront-도메인]/[파일경로]
예시:
https://d1234abcd.cloudfront.net/images/sample.jpg https://d1234abcd.cloudfront.net/videos/demo.mp4
notion image

4.2 파일 접근 테스트

  1. CloudFront 도메인 확인
      • CloudFront 배포 목록에서 할당받은 도메인 복사
  1. URL 생성
      • S3에 업로드한 파일의 경로와 이름을 CloudFront 도메인 뒤에 추가
📸 [이미지 위치: S3에서 파일 경로 확인하는 화면]
  1. 브라우저에서 테스트
      • 생성한 URL을 브라우저 주소창에 입력
      • 이미지/동영상이 정상적으로 로드되는지 확인
📸 [이미지 위치: 브라우저에서 CloudFront URL로 이미지가 로드되는 화면]

4.3 성공 확인 방법

성공적으로 설정된 경우:
  • 브라우저에서 이미지가 즉시 로드됨
  • 동영상 파일의 경우 스트리밍 재생 가능
  • 개발자 도구에서 응답 헤더에 CloudFront 관련 정보 확인 가능

5. 문제 해결

5.1 자주 발생하는 오류

403 Forbidden 오류

원인:
  • S3 버킷 정책이 올바르게 설정되지 않음
  • OAC 설정이 누락됨
해결방법:
  1. S3 버킷 정책에서 CloudFront ARN이 정확한지 확인
  1. OAC가 올바르게 생성되고 연결되었는지 확인
📸 [이미지 위치: 403 오류 화면과 올바른 설정 비교]

404 Not Found 오류

원인:
  • 파일 경로가 잘못됨
  • 파일이 S3에 업로드되지 않음
해결방법:
  1. S3에서 파일 존재 여부 확인
  1. URL의 파일 경로가 정확한지 확인

CloudFront 배포가 활성화되지 않음

원인:
  • 배포 설정 중 오류
  • 시간이 더 필요함
해결방법:
  1. 15-20분 정도 더 대기
  1. 배포 설정을 다시 확인

5.2 성능 최적화 팁

  1. 적절한 리전 선택
      • S3 버킷은 주 사용자층에 가까운 리전에 생성
  1. 파일 형식 최적화
      • 이미지: WebP 형식 사용 권장
      • 동영상: 적절한 비트레이트와 해상도 설정
  1. 모니터링 활용
      • CloudWatch를 통한 사용량 및 성능 모니터링
📸 [이미지 위치: CloudWatch 모니터링 대시보드]

🎯 마무리

이제 AWS S3와 CloudFront를 활용하여 이미지와 동영상 파일을 전 세계 어디서나 빠르게 접근할 수 있는 퍼블릭 URL을 생성할 수 있습니다.

✅ 완료 체크리스트

AWS 계정 생성 및 로그인
S3 버킷 생성 및 파일 업로드
CloudFront 배포 생성
CloudFront URL로 파일 접근 테스트

💡 핵심 포인트

  1. 보안: S3 퍼블릭 액세스를 차단하고 CloudFront OAC 사용
  1. 성능: CloudFront의 글로벌 CDN으로 빠른 파일 배포
  1. 비용 효율성: AWS 무료 티어 활용 및 필요에 따른 설정 조정

📞 추가 지원


⚠️ 주의사항
  • 민감한 데이터는 퍼블릭 배포를 피하세요
  • 정기적으로 비용 및 사용량을 모니터링하세요
  • 불필요한 파일은 정리하여 스토리지 비용을 절약하세요