본문 바로가기

AWS Cloud Club

[ACC] Amazon S3 bucket 웹사이트

  • Amazon S3를 사용하여 정적 웹사이트 호스팅하기
  • S3로 데이터 보호하는 한 가지 방법 배우기
  • Amazon S3에서 데이터 수명 주기 전략 세우기
  • Amazon S3에서 재해 복구(DR) 전략 세우기

챌린지 #1

1단계: 파일 준비하기

index.html, css, image 등을 준비

2단계: 정적 웹사이트를 호스팅할 S3 버킷 만들기

  1. Amazon S3 콘솔 열기
  2. 웹사이트를 담을 버킷 생성 (버지니아 북부 지역, Bloak all public access는 비활성화)
  3. 버킷에서 정적 웹사이트 호스팅을 활성화 (인덱스 문서로는 index.html 파일을 사용)

3단계: S3 버킷에 콘텐츠 업로드하기

  1. index.html 파일과 css 및 images 폴더를 S3 버킷에 업로드

  2. 별도의 웹 브라우저 탭에서 정적 웹 사이트의 엔드포인트 링크를 엽니다.

4단계: 모두가 볼 수 있도록! 퍼블릭 읽기 액세스 권한을 부여하는 버킷 정책 만들기

  1. 버킷 정책 편집기를 사용하여 퍼블릭 익명 사용자에게 읽기 전용 권한을 부여하는 버킷 정책 생성

    ✅ ARN 뒤에 /* 를 붙인다. 그렇지 않으면 버킷이 내 객체가 아닌 버킷 자체를 가리키게 되어 효과가 없음

  2. 웹 사이트에 퍼블릭 액세스가 가능한지 확인

챌린지 #2 웹사이트 안전하게 지키기

5단계: S3 버킷에서 버전 관리 켜기

  1. S3 콘솔에서 버킷의 버전 관리를 활성화
    💡주의: 버전 관리를 한번 키면 끌 수 없음

  2. 메모장과 같은 텍스트 편집 프로그램으로 index.html 파일을 열어 수정

  3. 수정된 파일을 S3 버킷에 다시 업로드

  4. 웹사이트를 새로고침해서 수정사항이 반영됐는지 확인

  5. index.html 파일의 새 버전을 보려면 버킷에 가서 'List versions'를 선택. 파일의 두 버전이 모두 보인다.

챌린지 #3 S3 객체 스토리지의 비용 최적화

버전 관리를 실행하니, 새 버전을 올릴 때마다 S3 버킷이 점점 커짐
비용을 아끼기 위해 오래된 버전은 삭제

6단계: 수명 주기 정책 설정

소스 버킷의 오래된 버전을 자동으로 S3 Standard-IA로 옮기고, 나중에는 삭제하는 정책

  1. 웹사이트 버킷의 수명 주기 설정에서 두 가지 규칙 생성. (반드시 따로따로 생성)
  • 30일 지난 이전 버전을 S3 Standard-IA로 옮기기
  • 365일 지난 이전 버전 삭제

💡특정 파일에만 적용하고 싶다면, 수명 주기 규칙을 만들기 전에 파일에 태그붙이기
첫 번째 수명 주기 정책


두 번째 수명 주기 정책

▼ 완료된 모습

챌린지 #4 더 안전하게 백업

교차 리전 복제: 기존 S3 버킷에서 다른 리전에 있는 S3 버킷으로 객체를 자동으로 복제, 데이터 복원력 강화, 지연 시간 감소, 재해 복구 전략 강화 목적으로 사용

✅ 용어 정리: 소스 버킷과 대상 버킷
소스 버킷은 원본 버킷이고, 대상 버킷은 백업을 위한 두 번째 버킷

7단계: 교차 리전 복제 활성화

  1. 소스 버킷과 다른 리전에 두 번째 버킷을 생성하고 해당 버킷에 대해 버전 관리를 활성화
  2. 소스 S3 버킷에서 교차 리전 복제를 켜준다.
  • 복제 규칙
    규칙 활성화
    규칙 범위: 모든 객체
    대상: 대상 버킷(새로 만든 S3 버킷)
    IAM: 새 역할 생성
    기존 객체를 복제하시겠습니까?: 예, 완료 보고서 생성 체크 안 함, IAM 새 역할 생성






  1. index.html 파일을 수정 후 소스 버킷에 새 버전 업로드
    현재 3개의 버전이 업로드 됨을 확인
  2. 새 파일이 대상 버킷에도 복제됐는지 확인
    대상 버킷에도 현재 3개의 버전이 업로드 됨을 확인
  3. 소스 버킷에 가서 최신 버전을 삭제

    💡소스 버킷에서 방금 삭제한 버전이 대상 버킷에도 삭제될까?


    소스 버킷에서 삭제해도 대상 버킷에서는 삭제되지 않음