월루를 꿈꾸는 대학생

AWS S3 정의 및 실습 본문

Cloud/AWS

AWS S3 정의 및 실습

하즈시 2020. 12. 26. 23:40
728x90

s3

 

인터넷 스토리지 서비스

용량 관계 없이 http 웹 프로토콜에서 파일 접근 가능 

 

파일저장 최적화  // 정적 웹 서비스 가능 === 웹하드 서비스 

 

객체 =  데이터가 저장되는 최소 단위 // 최소 1byte부터 5tb까지

 

버킷 = 최상위 폴더 디렉터리 // 버킷은 리전별로 생성해야 하면 s3 리전중 이름은 유일

 

url로 접근가능

 

내구성에 따라 두가지 옵션이 있음 

  표준 스토리지 : 더 강한 내구성 . 비용 비쌈

  낮은 중복 스토리지 : 원본에서 다시 생성할 수 있는 데이터 저장에 적합, 좀 쌈

 

 

 

 

aws 버킷 생성

 

 

객체 올리기 

ui 바뀐 듯

 

 

 

권한 설정이 안되어 있어서;; url 접근 불가

 

생각해보니 버킷부터 잘못 만듦.;;;;

 

버킷 만들 때 부터 권한 설정을 잘 해야한다 

 

## 이거 버킷을 위에 2개 해제해야 나중에 객체 업로드시에 퍼브릭으로 설정가능 

버킷 설정에서 부터 잘 해야 객체 업로드에서 객체 읽기로 해야 접근 가능 

업로드부터 설정도 가능  

 

 

 

버킷에다가 권한 설정하기

 

 

하단에 정책 생성기 누르기

 

#정책 생성  -> 주의 !! 정책 생성을하기 전에 권한 탭에서  모든 퍼브릭엑세스 차단 다 플어주어야 저 정책 먹힌다 ! 

 

 

 

이렇게 버킷정책에 없었던 "퍼블릭"이라는 것이 뜨면서 이제 이 친구는 권한 설정을 객체에서 못보게 하더라도 자동으로 외부에서 접근이 가능하게 됨

 

 

#### 정적 웹 사이트 ㅎ호스팅 사용하기

 

s3 이름은 dalbohosting-2020 으로 한다 

 

퍼블릭으로 변경

 

그 다음 속성 탭에서 정적 웹 사이트 호스팅을 선택 // 해당 html 페이지 업로드

 

 

버킷에 객체들 올리고 index.html 올리기

 

 

 

 

이렇게 해당 endpoint로 접근할 시 업로드 된 사이트가 표시되게 됨

 

 

 

 

## http referer로 s3 접근 제한하기

s3에 올려진 그림 파일을 원하는 도메인에서만 볼 수 있도록 -> 전송량에 따라 요금 책정하기 때문에 도메인 링크를 막는다면 비용 절감 가능 

 

s3에서는 refer 값을 판단해서 파일을 보여줄지 아닐지 결정 

 

이에서는 public4 와 dalbohosting-2020 버킷을 사용한다 

 

public4d의 정책을 바꾼다

condition :  조건절 / 참과 거짓

stringlike : 조건절에서 쓰는 조건문  // 문자열 포함시 사용 

 

저기 컴마 안 찍어서 헤멤... 망할 

json 구문 검사기 사용 추천 

https://kr.piliapp.com/json/validator/

 

참고 : 권한 설정에서 3번째 항목은 on 

 

public4의 그림파일의 url 선택시 다시 접근권한이 없다고 뜬다

 

 

저기 로고에 public4에 그림을 업로드해 보도록 한다 

 

 

 

 

위와 같이 로고에 public4에 있는 사진이 업로드 된 모습을 볼 수가 있다

 

 

그 외에 

 

암호화 변경

 

 

메타데이터 변경

 

 

 

로그 관리

10-20분뒤에 버킷에 logs라는 폴더가 생김 

 

 

#버저닝

파일 버전 관리기능을 가지고 있다 

파일 이전 내용으로 돌리거나 삭제한 파일 복원 가능 

 

 

활성화 후 원래 있던 picture (1)과 동일한 이름의 다른 파일을 업로드 

 

 

 

아래와 같이 새로운 최신 버전이 똑같은 이름으로 올라간 것을 확인

 

버전 변경에 따른 hosting 사이트도 변경

다시 삭제하면 원래 그림으로 돌아온다

 

 

# 수명주기

사용되지 않는 파일 삭제하거나 다른 곳에 백업하여 s3 저장 공간 절약하고 싶을 때 사용 

 

 

728x90

'Cloud > AWS' 카테고리의 다른 글

AWS lambda & amazon translate 구축  (0) 2020.12.27
AWS API GATEWAY 정의 및 실습  (0) 2020.12.27
AWS CloudFront 정의 및 실습  (0) 2020.12.26
AWS RDS 정의 및 실습  (0) 2020.12.26
AWS DynamaDB  (0) 2020.12.26