S3 (Simple Storage Service)
AWS의 메인 저장소
- 안전하고 탄력적인 오브젝트 저장 공간을 제공
- 사진, 동영상, Excel 등 다양한 파일 업로드 가능
- 저장소 공간 무제한
- 최상위 폴더와 비슷하고 버킷 생성 시 이름은 고유해야하며 지역명 불허
S3 구성요소
오브젝트는 Key-value조합으로 구성
e.g. 'a.txt' : 'Long time no see'
S3 데이터 일관적 모델
데이터 일관적 모델이란, S3 버킷에 새로 업로드하거나 변경할 때 생기는 짧은 지연이다. 두 가지 모델이 존재한다.
Read after wrtie consistency model
버킷에 업로드할 때 PUT API를 사용해서 업데이트한다. 버킷에 업로드되고 지연없이 사용 가능한 것
Eventual Consistency model
UPDATE, DELETE 명령오로 데이터 변경이 발생했을때, 시간이 지남에 따라 여러 노드에 전파되면서 당장은 아니지만 최종적으로 일관성이 유지되는 것.
S3 버킷 스토리지 유형
용도와 목적에 따라 올바른 스토리지를 사용해야한다.
e.g.
- S3 Standard
- Inteligent-Tiering
- Standard-IA
- One Zone-IA
자세한 것은 아래 더보기란 링크로 확인할 수 있다.
S3 비용
비용이 청구되는 것이 상황마다 다르다.
- PUT, COPY, GET 명령어를 얼마나 사용했는지?
- 다른 AWS 리소스로 오브젝트를 전송했는지? (e.g. S3 오브젝트를 EC2로 전송할 때)
- Storage 유형은 무엇인지?
- 오브젝트를 버킷에 업로드할 때 크기가 얼마인지?
S3 예시
- S3에 파일을 보관할 때 (image, video, zip file...)
- HTML, CSS 같은 정적 웹사이트 파일을 버킷에 업로드하고 버킷의 DNS를 사용해 호스팅
CORS (Cross origin resource sharing)
다른 도메인에 속한 다른 유저 웹 APP 끼리 데이터를 공유할 수 있게 하는 다리 역할이며, 한마디로 CORS를 통해서 다른 지역의 버킷끼리 소통할 수 있다고 생각하면 된다.
S3 접근 권한
버킷을 생성할 때 생성한 계정이 모든 권한을 가지고 있다. 따라서 다른 외부 계정이 접근하려고 할 때 에러가 발생한다.
이럴 때 접근 권한을 주어야 한다.
- 버킷 정책
버킷 정책은 JSON 형식으로 구성되어 있는데 버킷 안에 있는 모든 오브젝트의 접근 권한 설정을 가능하게 한다. IAM에서 만든 사용자 또는 역할을 가지고 권한 설정을 할 수 있다.
- 접근 제어 리스트
버킷 안의 오브젝트와 디렉토리별로 접근 제어 권한 설정을 할 수 있다.
S3 암호화
기본적으로 S3는 암호화를 사용해서 오브젝트를 보호한다. 2가지 유형이 존재한다.
- 파일 업로드 또는 다운로드 시
- 가만히 있을 시
'AWS' 카테고리의 다른 글
AWS기초 - Serverless & Lambda (0) | 2023.03.06 |
---|---|
AWS기초 - CloudWatch (0) | 2023.03.05 |
AWS기초 - RDS (0) | 2023.03.03 |
AWS 기초 - EC2 (0) | 2023.03.02 |
AWS 기초 - IAM (0) | 2023.02.27 |