S3의 스토리지 클래스에 대해 알아보기

Harry The Great
해리의 유목코딩
6 min readDec 14, 2018

S3를 매뉴얼하게 콘솔에서 업로드 하는일은 생각보다 많지않습니다. 대부분 API혹은 SFTP를 이용하게됩니다. 최근 콘솔에서 업로드 할 일이 생겼는데 역시 화면이 또 바뀌었습니다.(그만좀 바뀌어라…ㅠ) 특히 처음 S3를 사용하시게되면 너무나 많은 옵션과 설정에 당황하게됩니다. 스탠다드는 뭐고… 단일영역은 뭐지… 뭐가다른거지? 이렇게까지 복잡하게 만들어야하나?

하지만 알고보면 생각보다 훨씬 합리적인 요금제입니다. 사용자가 정말 “쓴만큼만" 과금할 수 있도록 하는 요금제죠. S3는 크게 3가지 요금제와 Glacier로 나뉠 수 있습니다. 이제 하나하나 알아보겠습니다.

비용에 대한 부분은 설정 환경에따라 아래 명시된 금액과 큰 차이를 보일 수 있습니다. 아래의 표기되는 금액들은 아주 일반적인 상황에서 단순 비교를 하였을때를 기준으로합니다.

S3 스탠다드

처음할때 모르겠다면 S3 스탠다드로 하시는게 좋습니다. 가장 일반적인 요금제입니다. 가장 큰 특징은 비싼스토리지요금과 저렴한 트래픽요금입니다.

서울리전 기준으로 첫 50테라까지 0.25USD입니다.

트래픽요금은 반환데이터 기가당 0.0008$ 스캔데이터 기가당 0.00225$입니다. S3만 보아서 와 닿지 않으니 다른 요금제와 함께 비교하겠습니다.

S3 스탠다드 IA(Infrequent Access)

사용도가 다소 낮은경우의 요금제입니다. 신문기사를 예로 들자면 오늘기사는 트래픽이 많겠지만 1달 2달이 지나면 트래픽이 많이 줄어들것입니다. 그렇다고 트래픽이 계속 하향추세로 간다고 단정짓기도 애매한것이 나중에 다시금 기사가 이슈화되어 또 다시 많은 트래픽이 몰릴 수 있어 언제든 많은 트래픽이 올것을 준비하고 있어야합니다. 이럴때 Infrequent Access를 사용하기 적합합니다.

일반적으로 30일이상 액세스가 잘 이루어지지 않았다면 IA요금제로 전환하며 요금제의 경우

S3보다는 저렴한 보관요금 하지만 트래픽 요금은 더 비쌉니다.

S3 단일영역 IA(One Zone-Infrequent Access)

이름부터 뭔가 어려울것같다는 스멜이납니다… 하지만 생각보다는 싱거운 놈입니다. 우리가 파일들을 저장할때 일반적으로 백업을합니다. 혹시 모를 상황에 대비해서죠. S3를 사용하면 사용자가 몰라도 자동적으로 3곳 이상의 물리적 가용영역에 백업이 됩니다. 1곳에서 지진해일 혹은 정적등 문제가 발생해도 내 데이터는 문제가 없습니다.

하지만 이렇게 ‘구지 백업까지?’ 해야하는 데이터가 있습니다. 예를들면 매일 발생하는 사용자별 분석로그나 트래픽 로그등이 있습니다. 상당히 많이 발생하여 비용적 부담은 큰데 당장 몇몇부분이 없어지더라도 서비스 전체에는 큰 영향을 주지 않는 로그데이터등이 적합합니다.

단일영역IA는 스탠다드IA와 트래픽 요금은 같지만 저장요금은 더 저렴합니다. 하지만 역시 문제는… 가용영역에 문제가 생길경우 데이터를 날려먹을 수 있으며 아래와같이 친절하게 홈페이지에서도 다시한번 강조해줍니다.

† S3 One Zone-IA는 단일 AWS 가용 영역에 데이터를 저장하기 때문에이 스토리지 클래스에 저장된 데이터는 가용성 영역이 파괴되는 경우 손실됩니다.

Glacier 글래시어

Glacier(그라샤…?)는 S3와 S3 IA보다도 더 저렴한 스토리지 요금을 갖지만 S3보다 훨씬 비싼 트래픽 요금을 갖습니다. 게시판에서 1년 이전의 첨부파일등을 저장하기 적합합니다. 제가 기억하기로 S3와 Glacier의 출시이후 S3 IA, S3 OZ IA가 추가되었던걸로 기억하고있습니다.

단순비교시 저장요금이 스탠다드 대비 5분에 1로 떨어지는걸 볼 수있습니다.

하지만 트래픽 요금은 역시 5배 이상 증가하게됩니다.

마치며

개인적으로 S3 서비스중 가장 마음에 들지 않는(?) 서비스 중 하나입니다. 역시 이유는 비용문제입니다. 모바일 서비스를 할땐 큰 문제가 없지만 웹서비스를 할땐 문제가 많습니다. 아무리 이미지를 최적화 하여도 국내의 다른 이미지 호스팅 서비스를 사용하는것에 비해 비용이 10배 20씩 나와 손떨리는 청구서를 받곤 했습니다. (그래도 물론 Google Cloud Storage보단 월등히 쌉니다…)

기존의 S3가 Cloud Front라는 CDN 서비스와함께 넓은 지역 혹은 다국가 서비스등 큰 스케일을 하기에 아주 훌륭한 플랫폼이라고 생각합니다.미국만 하여도 동서부간 물리적 거리가 상당합니다. 때문에 동부에서 업로드된 이미지가 서부에서도 딜레이 없이 호스팅되고 또한 북미/유럽간 파일의 전송과 업로드가 마치 하나의 지역처럼 큰 레이턴시 없이 업로드되고 다운로드 될 수 있도록 지원합니다. 이 과정에서도 높은 가용성을 자랑하고 대륙별로뻗어있는 CDN 센터를통해 출시가 되었을때 전세계를 대상으로한 빠른배포가 가능합니다.

이런기능들을 생각하면 분명 비싼서비스라고 하기보다 오히려 저렴한 서비스입니다. 문제는 서비스가 주료 국내중심으로 되어이고 트래픽이 많이 발생하며 이런 큰 스케일의 기능등을 사용하지 않는다면 다소 요금이 비싸게 다가올 수 있습니다. 저 또한 기존의 국내 이미지 호스팅을 사용하다 S3를 옮기고 비용이 10배에서 15배 정도 더 발생하여 인보이스를 볼때마다 놀래 다시 국내 이미지호스팅 서비스를 이용했던적이 있습니다.

이렇듯 모든걸 다 한곳에서 하기보다 크로스 클라우드 혹은 여러가지 비용을 최적화 할 수 있는 방법을 고려하며 선택하는것이 가장 합리적이 아닐까싶습니다. (글을 쓰고보니 앞부분보다 마치며가 더 기네요..)

--

--

Harry The Great
해리의 유목코딩

Android & IOS Developer 😀 미디움 이외에 스니펫이나 디버그노트로 활용하는 https://www.harrymikoshi.com/ 블로그도 운영하고있습니다.