Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

IT 개발일지

[빅데이터 파이프라인 마스터] Week5 - S3 Bucket and Object 본문

카테고리 없음

[빅데이터 파이프라인 마스터] Week5 - S3 Bucket and Object

맛난밤송이 2024. 6. 19. 00:24

Bucket 옵션

Versioning

- 동일한 bucket 내에 다양한 버전의 객체를 저장하는 것.

- 특정 이미지 객체 파일을 bucket에 저장하고 수정, 삭제 등 변화가 일어날 때, 변화분 이전 이전 버전의 객체를 따로 저장한다

- 고유의 ID를 통해 식별 가능, 문제 및 복원이 필요할 때 복구 용이

Server Access Logging

- 버킷의 접근 요청에 대한 모든 정보를 Traking하는 것

- 행동, 상태, 에러 코드, 요청자, 요청 버킷 등 모든 정보에 대해 추적

Static Website Hosting

- static한 웹페이지를 따로 올릴 수 있음

- 호스팅하기 간단하기 때문에 간간히 이용하기도 함


Bucket 설정

- S3의 세부설정에서 Bucket에 대한 접근 권한 등 다양한 설정을 할 수 있다.

- 해당 예제는 Public Bucket을 만드는 작업을 진행한다.

 

- 아래 예시는 2024-bigdata-course bucket내 객체 url을 클릭하면 Access가 제한이 되는 것을 볼 수 있다.

- 이 객체를 누구나 접근 가능하도록 풀어보자.

 

- 먼저 권한에 들어가 퍼블릭 엑세스 차단 항목에서 편집 버튼을 누른다.

 

- 모든 퍼블릭 액세스 차단 편집을 해제해준다.

 

- 그리고 ACL항목에 들어가 편집을 한 후 버킷 소유자 적용을 클릭한다.

 

- 그리고 객체 소유권 편집을 통해서 ACL을 활성화시켜준다.

- ACL을 활성화한다는 것은 해당 버킷의 객체를 타 AWS객체에서 접근, 소유할 수 있다는 의미이다.

 

- 그 후 ACL 편집 항목에서

모든 사람(퍼블릭 엑세스) 항목에 나열, 읽기 항목에 check해준다.

 

- 그 다음 버킷 정책을 수정해야 한다.

- 정책 생성기 버튼을 통해 정책을 만들어보겠다.

 

- 우선 Policy type을 S3 Bucket Policy를 클릭한다.

- 그리고 Actions를 우선 GetObject, PutObject, DeleteObject 3개만 설정해보자.

- 그리고 ARN을 다음과 같은 형식으로 해준다. arn:aws:s3:::${BucketName}/${KeyName}

  - 편의상 우선 KeyName은 *로 해준다.

Principal에서는 모든 value를 적용하려면 *를 써준다.

 

 

- 생성을 완료하면 다음과 같은 팝업이 뜨는 데 생성된 JSON을 복사해서

- 버킷 정책 편집을 눌러준 후 저장한다.

 

- 다시 해당 객체에 들어가 객체 URL을 클릭해보면 이제 접근권한이 풀려 객체URL을 통해 접근하는 것을 볼 수 있다.

 

 

 


Lifcycle Bucket

객체를 한 스토리지 클래스에서 다른 스토리지 클래스로 전환, 객체 삭제 등 작업을 자동화

 

- 버킷의 라이프사이클을 수정해야 할 상황이 종종 존재한다.

- 예를 들어 개인정보보호 이슈로 3개월만 데이터를 저장하고 파기해야 하는데, 자동 정리 기능을 S3 버킷의 설정에서 할 수 있다.

- 또한 생성, 저장된지 오래된 객체들은 상대적으로 접근 빈도가 낮기 때문에 동일한 스토리지에 저장하는 것보다 더 단계가 낮고 저렴한 스토리지에 저장하는 것이 효율적일지도 모른다.

- 이러한 작업들을 자동화, 활성화해주는 스크립트이다.

- 자동 정리 기능은  ELB access log, VPC flow log 등 특정 기간 지난 후 로그를 삭제하는 작업에도 용이하다.

- 참고로 스토리지 클래스가 쌀 수록 데이터 내구성, 접근 latency 등 다르다.

 

 

S3 Waterfall Model

 

 

- 우선 관리 > 수명 주기 규칙 생성을 클릭한다.

 

- 다음 예시는 logs폴더 내 객체가 생성된지 10일, 최신이 아닌 상태로 전환된 후 1일 경과하면 이전 버전을 영구 삭제하는 작업을 등록하는 화면이다.

 

- 설정이 끝났으면 전환 및 만료 작업 검토 화면을 통해 설정을 리뷰한다.

 

- 그럼 이렇게 수명 주기가 추가된 것을 볼 수 있다.


S3 Object 설정

 

- 스토리지 클래스 : 파일이 저장될 스토리지 설정

  - Reduced Redundant : thumbnail같이 복원도 빠른 객체에 적합

 

 

자세한 내용은 해당 documentation 참조

 

- 메타데이터 : 어떤 파일인지 설정 가능함 => 각각 파일마다의 메타데이터 또한 설정할 수 있어 나중에 객체에 접근할 때 타입을 한 번에 알 수 있음

 


출처

- 빅데이터 파이프라인 마스터, inflearn 

- Amazon S3