Amazon S3
Amazon S3은 99.999999999%의 내구성을 제공하고 있는 Object Storage이다. Amazone S3를 직접 데이터를 추출을 할 수 있는 Amazon S3 Select 기능도 제공을 하고 있다. S3 서비스는 리전 단위의 서비스이고, 데이터 저장크기도 무제한이다. AWS 내에서 가장 저렴한 서비스 중에 하나이다.
활용
CDN와 연동
- AWS에서 제공하는 CDN 서비스인 Cloudfornt와 연동을 할수 있다.
클릭 데이터/로그 데이터 등의 저장
- 클릭/로그 데이터 등의 여러가지 데이터를 저장을 하는 형태로 활용이 될수 있다.
- S3 Select / Amazon Redshift / Amazon Athena 등을 이용하여 데이터를 추출을 할수 있다.
- AWS EMR, Spark 와 함께 데이터를 분석으로 활용될수 있다.
설정 데이터/Flag 데이터
- 간단한 설정 데이터를 저장하는 기능으로 활용 될 수 있다.
- 데이터의 Flag 여부 같은 간단한 기능으로 활용 될 수 있다.
- Cluster의 Node 설정을 파일 이름(데이터 x)을 관리/활용 될수 있다 (Service - Discovery 역활)
주의 해야되는 점
PUT 비용이 비싸다
- 데이터의 저장 비용보다 PUT 비용이 상대적으로 더 비싸다
- 1분마다 데이터를 모아서 저장을 해서 S3를 업로드 하는 식으로 PUT의 횟수를 줄이는 방법으로 개발을 해야 된다.
데이터의 형식
- Json 데이터 등의 원본 그대로 저장하기에 용량이 많이 차지하여 비용이 많이 나오기 때문에 zip, gzip 등을 이용하여 압축된 파일을 저장하는 것이 효율이 좋다.
- orc, parquet 와 같은 컬럼형태의 데이터를 저장를 하면, 데이터를 추출을 할때 (s3 select, redshift, athena) I/O 비용을 많이 아낄수가 있다.
object storage
- object 저장소이기 때문에 일반적인 파일시스템과 동작 방식이 다르다.
- 디렉토리가 존재하지 않는다.
- 파일이름이 존재하는 것이 아니라 File 해당하는 key값 만 존재를 한다.
- 파일 key 값이 /로 시작이 되면 /(빈값)/file/path/ 형태로 저장하기 때문에 file/path/file.log 형태로 해야 정확하게 원하는 key 값을 된다.
- 파일을 업데이터를 할수가 없다. 업데이트를 하는 경우에는 삭제를 하고 다시 업로드하는 형태이다.
'인프라 > AWS' 카테고리의 다른 글
Dynamo DB (0) | 2018.09.13 |
---|---|
AWS SQS (0) | 2018.08.11 |
AWS EC2 Auto Scaling (0) | 2018.06.13 |
AWS ELB (Elastic Load Balancing) (0) | 2018.02.10 |
Amazon Machine Learning (0) | 2017.06.24 |