[SAA] Amazon S3

Blue·2024년 2월 16일
0

SAA

목록 보기
11/25

S3 는 이전 프로젝트를 진행했을떄 이미지를 Cloud 에 저장하기 위해 사용했던 서비스이다.
그래서 다른 기술들 보다는 꽤나 가깝게 느껴졌는데 내가 생각했던 기술과는 상당히 멀고 어려웠다.
그래도 강의 들으면서 천천히 따라갔고 그거 정리해보려한다.

Amazon S3 - Buckets

Amazon S3 는 File을 Bucket 에 저장하는 기술이다.
그리고 Buckets 은 상위 레벨 Directory 라고 한다.
이런 Bucket 은 정말 고유한 이름을 가져야한다. 모든 지역에 걸쳐서 !!

Amazon S3 - Objects

Object 는 객체라고도 하고 키가 있다.
그리고 그 Key 는 경로라고한다.

s3://my-bucket/my_file.txt

이런 경로가 있을때 Bucket 이름이 my-bucket 이고 그 뒤에것이 Key 라고 한다.

Object 값으로는 원하는 모든것이 된다고한다.
Object Size 로는 최대 5TB 로 엄청 크다.
근데 만약 5GB 이상을 업로드하려하면 (무조건) Multi-part Upload를 해야한다.

각각 Object 는 메타데이터인 key pair 를 가지고 object 에 정보와 태그를 추가할때 사용한다고 한다.

그리고 뒤에 나올거지만 Version ID 를 사용할수있따.

Amazon S3 - Security

사용자 기반 보안 정책과 리소스 기반 보안 정책이 있다.

사용자 기반 보안 정책은 IAM 정책으로 IAM 사용자는 IAM 정책을 따라서 해당 서비스에 대한 권한을 받는다.
그냥 IAM 권한으로 S3 정책에 대한 권한을 받으면 S3 사용할수 있는것

리소스 기반 보안 정책은 3개가 있는데 버캣정책,OACL,BACL 이 3개가 있다.
버캣정책은 s3 버킷에서 뭘 할수 있고 뭘 못하는지 결정한다. 여기서 cross account 를 허용한다고 한다.

OACL 은 Object Access control List 로 객체 레벨에서 규칙 정하고
BACL 은 Bucket Access Control List 는 버킷 레벨에서 규칙 정한다.

그래서 이 전체말 자체가 사용자가 S3 를 사용할려면 사용자도 IAM 권한을 가지고 Bucket 정책에서도 해당 사용자를 허용해야한다. 그래야만 엑세스가 가능하다.

Bucket Policies

Json 기반으로 한다.
여기 그림처럼 권한을 부여하고 뻇을수 있따.

Bucket setting for Block Public Access

객체가 공개되는것을 차단하는 설정이다.
여기서 Bucket Policy 가 허용되어 있어도 이 설정 활성화가 되어있다면 BUcket 은 공개 되지 않는다.

Amazon S3 - Static Website Hosting

생각해보면 쉽다.
S3 자체가 어떠한 객체를 업로드할수 있는데 웹사이트는 HTML 로 이루어져있는것을 알것이다.
그러면 그냥 html 파일을 올려두면 호스팅할수있다.

똑같이 Public Access 를 허용해줘야 호스팅이 되겠죠?

Amazon S3 - Versioning

파일 Version 관리 기능이다.
BUcket level 에서 설정 가능하고 정말 말 그대로 1.png 라는 파일을 업로드하고 1.png 라는 파일을 또 입력했을때 파일자체는 덮어지게 되겠지만 객체는 Version ID를 가진다고 말한적있다. 이것을 통해서 관리할수 있다.

이 Versioning 으로 의도되지않은 삭제들을 보호할수있고 또한 해당 시점으로 rollback 또한 가능하다.

AMazon S3 - Replication ( CPR & SPR)

CPR 은 Cross Region replication 이고 SPR 은 Same Region Replication 이다.
말그대로 다른 지역 복제는 CPR 같은 지역 복제는 SPR 이다.

근데 내가 궁금한거는 비동기적으로 복제를 한다고 하는데 1 에서 2 에서 복제하고 1 에 파일을 업로드를 하면 2에도 올라간다...
이러면 동기적아닌가,,,,/??
비 동기적이라고 하는건 그냥 정말 1의 모든 내용을 2로 복제하고 그 이후로는 개별적 객체가 되는걸 말하는줄 알았는데 그게 아닌가,,.,.,,?

https://rainbound.tistory.com/entry/동기식-비동기식-복제Synchronous-vs-asynchronous-replication

위 블로그 읽어봐라,,,

뭐 하튼 그렇다하고 기존꺼 또한 복제하고 싶으면 S3 Batch Replication 사용하라고 한다.

또한 Delete 하게 된다면 Delete Marker 가 생기는데 이것 또한 복제를 할수 있다.
근데 Version ID 를 삭제하는건 복제가 안된다.

그리고 Chaining 복제는 불가하다
1-2-3 이렇게 복제가 안된다는 말이다.

S3 Storage Classes

Amazon S3 Standard : 범용적으로 사용되는 스토리지이다.
Amazon S3 Standard-Infrequent Access(IA) : 자주 액세스하지 않는 파일에 적합한 스토리지이다.
Amazon S3 One Zone-Infrequent Access(IA) : 데이터를 재생산할 수 있는 스토리지이다.
Amazon S3 Intelligent Tiering : 스토리지 클래스들 간에 데이터를 효율적으로 이동할 수 있게 해주는 스토리지이다.
Amazon Glacier : 아카이브를 위한 스토리지이다.
Amazon Glacier Deep Archive : 지금 당장 필요하지 않고 언젠가 사용할 수도 있는 아카이브를 위한 스토리지이다.
Amazon S3 Reduced Redundancy Storage : 현재는 잘 사용하지 않는 스토리지이다. 자세히 다루지는 않고 이런 스토리지가 있다는 것만 알자.

출처 - https://ssunw.tistory.com/entry/고급-S3-및-Athena-S3-Storage-Classes-and-Glacier?category=959406

이런 Storage Class 를 가진다.
그리고 Class 를 수동으로 선택할수도 있고 Storage Class 간에 객체 자동 이동도 가능하다.

S3 Durability and Availability

Durablility 는 객체가 손실되는 횟수로 99.9999999999% 로 높다고 한다 그냥 10000년에 한번 손실난다고 한다.
이 Durability 는 모든 storage class 에 똑같음

Availability 는 서비스가 얼마나 용이하게 제공되는지이다.
storage class 에 따라서 다르고 S3 Standard 가 99.999% Availability 를 가지는데 일년에 53분 정도 사용못한다는말.

S3 Standard - General Purpose

자주 access 한 data 에 사용되어지고 낮은 지연시간 높은 처리량을 가진다.
두개의 기능장애를 버틸수 있따고 한다.

S3 Standard Infrequent(IA)

자주 필요하지는 않지만 필요한 경우 빠르게 Access data에 사용되어 있다.
standard 보다는 싸고 검색비용이 발생한다고 한다.

이 class 에는 두개로 나뉘어진다.
Amazon S3 Standard-Infrequent Access(S3 Standard-IA)
Amazon S3 One Zone- Infrequent Access(s3 One Zone-IA)
으로 나뉜다.

S3 Standard-IA 는 재해복구,백업에 사용되고 99.9% 가용성을 가지고
S3 One Zone-IA 는 온프레미스의 백업 복사에 사용된다고 한고 99.5% 가용성을 가진다.

S3 Glacier Storage Classes

Glacier 는 cold storage 라고 한다.
저렴한 비용의 객체 스토리지로 아카이빙과 백업을 위해 존재한다고 한다.
데이터는 장기간 보관된다고 하고
storage, search 비용이 발생된다고 한다.

Amazon S3 Glacier Instant Retrieval은 밀리초 단위 검색이 가능하고 90일동안 유지된다.

Amazon S3 Glacier Flexible Retrieval 은 3개의 옵션을 가진다
Expedited ,Standard,Bulk 로 가지고 90일동안 유지된다.

Amazon S3 Glacier Deep Archive 는 장기 보관하는것으로 두개의 옵션이 있다.
Standard,BUlk 가 있다.

S3 Intelligent - Tiering

사용 패턴에 따라 Access 된 티어 간에 객체를 이동하게 해준다고 한다.
뭐,,, 검색 비용은 안든다고 한다.

S3 Storage Classes comparison

profile
할수있다가 아닌 해야한다!!

0개의 댓글