인프라/AWS

Amazon S3

BUST 2018. 8. 2. 23:21

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