S3 : Simple Storage Service

 

1. 버킷 만들기

버킷 이름에는 버킷 이름을 쓴다, 이때 동일한 이름이 있으면 생성이 안되니 유니크 한 이름 넣는 걸 추천
ACL 활성화 설정, 객체 소유권은 객체 라이터로 설정

[ 객체 소유권 - ACL ]

  • ACL - 활성화됨
  • 비활성화로 설정시 정책을  구성해야해 복잡함

 

[ 객체 소유권 - 소유권 ]

  • 버킷 소유자 선호 - 올라가는 파일 / 폴더의 소유권은 버킷 소유자에게 존재
  • 객체 라이터 - 올라가는 파일 / 폴더의 소유권은 객체를 올린 사람에제 존재

 

원본 및 변경된 파일을 모두 보존하고 있을지 설정

[ 버킷 버전 관리 ]

  • 비활성화 - 객체 버전 보존, 검색 및 복원 불가능 
  • 활성화 - 객체 버전 보존, 검색 및 복원 가능 
  • A를 수정해 A1을 만들었을 때, A는 안보임 처리되는데, 비활성화시 A는 아예 사라짐

 

서버측에서 암호화해 서버에게 관리를 맡길 것인지 여부 확인

 

[ 기본 암호화 ]

  • 비활성화 - 서버측에서 암호화하지 않음
  • 활성화 - 서버측에서 암호화

 

모든 퍼블릭 액세스 차단 체크 해제

[ 퍼블릭 액세스 차단 편집 ]

  • 모든 퍼블릭 엑세스 차단을 설정하면, 본인 제외 그 누구도 접근이 불가능
  • 접근 가능하게 하기 위해서는 위의 체크 표시를 해제해야 함

 

2. 파일 업로드

파일 업로드 후 상태가 성공으로 되어있으면 파일이 성공적으로 업로드 된 것
객체 누르면 - 메뉴 6개 (객체, 속성, 권한, 지표, 관리, 액세스 지점)
파일 누르면 - 메뉴 3개 (속성, 권한, 수정)

cf) ARN : JSON 코딩할 때 사용 많음

 

AccessDenied - 권한이 없기 때문

[ 권한 문제 ] 

  • 버킷만 퍼블릭으로 설정되어 있기 때문, 객체도 퍼블릭 설정 필요
  • 둘 중 하나라도 퍼블릭으로 설정하지 않으면 인터넷으로 공유되지 않음

 

2-1) 파일 업로드시 퍼블릭 액세스 설정

모든 사람(퍼블릭 액세스)에서 객체에 읽기 권한을 할당해줘야 외부에서 접근 가능

 

2-2) 파일 업로드 후 퍼블릭 액세스 설정

파일 > 권한 > ACL > 편집에서 퍼블릭 읽기 액세스 권한 부여 설정
파일 > 권한 > ACL > 객체 부분이 읽기로 설정되어 있음을 확인할 수 있음

 

 

 

 

[ 객체 접근 방법 ]

1) S3 URI : S3://버킷이름/파일명 - 버킷 이름이 고유한 이름이기 때문에 가능 /  CLI에서 사용

2) ARN (Amazon Resource Name) : arn:aws:s3:::버킷이름/파일명 - json 코드에서 사용

3) 웹 URL 경로(웹 브라우저) : https://버킷이름.s3.리전이름.amazonaws.com/파일명 

웹 URL로 접근시 업로드한 파일 확인 가능

 

3-1). S3 이용해 정적 웹사이트 만들기

  • 정적 웹사이트 : 누가 접속하더라도 동일한 페이지가 보이는 것
  • 이벤트 페이지(모집, 프로모션 등), 광고, 공사 중 페이지, 접속이 안될 때 사용하는 임시 페이지 등

HTML 파일을 올리고 해당 URL로 접속하면 파일 볼 수 있음
URL로 접근해 작성한 웹 페이지 확인

 

3-2)정적 웹 사이트 호스팅

  • 파일명을 입력하지 않고 웹 사이트에 접근 가능
  • http://[버킷이름].s3-website.[리전].amazonaws.com

정적 웹 사이트 호스팅을 형광펜과 동일하게 설정

[ 정적 웹 사이트 호스팅 ]

  • 정적 웹 사이트 호스팅을 활성화
  • 호스팅 유형을 정적 웹 사이트 호스팅으로 설정해 버킷의 엔드포인트(파일명 입력 전까지의 주소)를 웹 사이트로 설정
  • 인덱스 문서, 즉 기본 페이지로 보여줄 파일을 설정 (여기서는 index.html 파일을 기본 페이지로 설정 - 해당 파일이 존재해야 웹 페이지가 보임)

편집 완료 후 저장시 모습
url 입력 창의 주소를 보면 파일명이 드러나지 않는 것을 확인할 수 있음

 

 

[ 스토리지 종류 ]

  • 파일 스토리지 : 파일 단위 저장 내 컴퓨터에 있는 것처럼 직접 수정 가능, NAS와 비슷  e.g) 파일 공유 서버
  • 블록 스토리지 : 블록 단위로 분산해 저장, 파티션 나눠주고 그 범위 내에서만 사용 가능, SAN과 비슷  e.g) dropbox, onedrive, C드라이브, D드라이브 등 볼륨 제공
  • 객체 스토리지 : 객체 단위로 정리해서 저장, 한번 업로드하면 수정 불가능, 지우고 다시 업로드 필요   e.g) S3, Glacier, 웹하드

 

[ S3 활용 방법 ]

  • 다른 곳보다 저장 비용이 저렴함
  • 무거운(용량이 큰) 컨텐츠를 보관 : mp4 등 동영상
  • 사용자가 업로드 한 파일 저장 : 게시판 내용 등
  • 자주 사용하지 않는 파일 등 보관
  • 영원히 보관해야하는 파일 : 어릴 때 사진, 백업 파일 등등

 

[ S3 Storage Class ]

  • 가격 : https://aws.amazon.com/ko/s3/pricing/
  • Standard - 자주 Access
  • Standard-IA (Infrequent Access) - 자주 Access하지 않음, 인출 비용이 발생
  • One Zone-IA - 하나의 Zone에만 저장 = 가용성 떨어짐
  • Glacier instant retrieval - 인출 시간을 줄인 Glacier
  • Glacier flexible retrieval - Tape Storage 시장을 흡수하기 위한 서비스 (인출 시간이 몇 분~몇 시간 정도)
  • Glacier Deep Archive 
  • 아래로 갈 수록 인출비용이 비쌈, 위로 갈수록 보관 비용이 비쌈

 

[ Glacier에 저장하는 data ]

  • 주로 장기간 보관해야 하는 것들
  • e.g) 로그 파일 백업, 법적으로 의무 보관해야 하는 경우(의료 기록, 방문 기록 등), 계약서, 방송사의 오래된 영상

 

[ 데이터 ]

  • 처음에는 접근을 많이  함 - Standard
  • 시간이 지나면 안 오게 됨 - Glacier flexible / instant retrieval에 저장
  • 매번 사람이 처리하기 어려우므로 서명 

cf) 스토리지 클래스에서 비용 변경 가능. 단, 클래스 별로 의무 기간 존재

 

 

[ 수명 주기(Life Cycle) 규칙 ]

  • 지정한 기간 후에 다른 class로 이동하도록 설정 가능

 

[ Intelligent Tiering (지능적으로 티어를 이동하는 것) ]

  • 사람이 이동시키는 것이 아닌 자동으로 적합한 class로 변경
  • 30일 동안 사용하지 않으면 frequent -> infrequent
  • 90일 동안 사용하지 않으면 Archive Access Tier로 이동함
  • 접근이 발생하면 다시 Frequent Access Tier로 이동함
  • 예측 가능 여부에 따라 수명 주기 혹은 Intelligent Tiering 선택해 사용
  • 예측이 어려운 경우 : 담당자가 초보인 경우, 기존에 정보가 별로 없는 경우 등

S3 Intelligent Tiering 가격표

 

 

[ Region & Zone ]

  • Region(리전) : 특정 지역에서 클라우드 서비스를 하기 위한 단위
  • Zone(가상의 데이터 센터) : 데이터센터 단위(1~6개까지의 데이터센터 묶음)

 

[ Cross Region Replication (리전간 복제, CRR) ]

  • 다른 리전으로 데이터를 복사하는 것
  • 특별한 경우가 아니라면 할 필요가 없음
  • 대부분의 서비스는 리전 내에서 충분히 가능하기 때문

 

[ Same Region Replication (리전내 복제, SRR) ]

  • 같은 리전의 다른 Zone으로 데이터를 복사하는 것
  • 자동으로 지원됨 ex) S3 Standard Glacier 등 대부분의 서비스는 리전내 다른 Zone에 자동으로 백업 됨
  • 항상 동작
  • 최악의 경우에 Zone 2개가 날라갈 수 있기 때문에 3개 이상의 Zone을 Region으로 인정해 줌
  • 즉, 하나의 Zone에 문제가 생기더라도 다른 두개의 Zone에 저장된 데이터로 복구 가능(데이터 보존 가능)

'퍼블릭 클라우드' 카테고리의 다른 글

RDS  (0) 2022.06.13
AWS - EC2 (Microsoft Windows)  (0) 2022.06.13
AWS - EC2 (Amazon Linux)  (0) 2022.06.13
AWS - VPC  (0) 2022.06.10
AWS - EC2  (0) 2022.06.10

+ Recent posts