관리 메뉴

HAMA 블로그

아마존 웹서비스 (AWS) 대략적 이용 가격 본문

아마존 AWS & 클라우드

아마존 웹서비스 (AWS) 대략적 이용 가격

[하마] 이승현 (wowlsh93@gmail.com) 2016.10.12 14:32


아마존 웹서비스 (AWS) 이용 가격


세부적으로는 요금계산기를 통해 알아보고 대충 머리속에 기억하고 있을만한 내용만 적어보았다.
여기서 나오는 가격은 모두 대략 이란 것을 명심하라. 각종 옵션에 따라 매우 달라진다.


정확한 계산을 위한 계산기는 여기 http://calculator.s3.amazonaws.com/index.html



S3 (스토리지) 


- 일반적인 저장소로서 1TB 저장하는데 한달에 대략 5만원  (1기가당 50원) 

- 같은 리전에 있는 EC2 와 S3 간의 데이터 전송에는 전송 요금이 청구되지 않음.

- Copy 요청을 통해 S3 지역에서 데이터를 전송한 경우 데이터 전송 요금이 청구되지 않음.

- S3 에서 인터넷으로의 데이터 송신은 1TB 월당 대략 15만원 ( GB 당 150원 )

 S3 의 get/set 횟수에 따른 요금이 부과된다.


Glacier (백업 스토리지)


백업용 저장소로서 1TB 저장하는데 한달에 대략 1만원  (1기가당 10원) 



EC2 (컴퓨팅)


온디맨드 (선결재나 장기 약정 없이 사용한 만큼) 


- t2.medium CPU 2개, 메모리 4기가 : 시간당 100원 한달 대략 7~8만원 

- m4.xlarge CPU 4개, 메모리 16기가 : 시간당 400원 한달 대략 25 ~만원 


스팟 인스턴스 ( 시작 및 종료 시간이 자유로운 애플리케이션, 컴퓨팅 가격이 저렴해야하는 경우)

 - 온디맨드보다 대략 반정도 싸다고 생각하면 된다. 


예약 인스턴스 ( 수요가 꾸준한 애플리케이션, 1년~3년동안 약정할 수 있는 고객)

 - t2.medium 은 1년 약정 기준 한달에 대략 6만원 , 3년 약정 기준 2만원 



RDS (관계형 데이터베이스)


PostgreSQL 기준 ( RDS 를 이용하면 스토리지 관리,업그레이드,복제,백업등을 관리) 


온디맨드 DB 인스턴스

- db.t2.medium  100기가 스토리지 + 100기가 백업 스토리지:   한달에 대략 10만원 

- db.m4.xlarge   100기가 스토리지 + 100기가 백업 스토리지:   한달에 대략 40만원 



Route53 (DNS) 


- 한달에 100만 쿼리면 천원 , DNS Failover Health Check 하면 만원까지 올라감. 



CloudFront (컨텐츠 캐쉬)


- Data Transfer Out 의 한달량이 1기가이고 10kb 데이터가 만번 요청되면 5만원.



IoT 플랫폼


- 메세지 백만개당 (512바이트 블록 기준, 최대 128kb 를 하나의 블록으로 전송)  7천원 
- 키네시스와 다른 점은 이것은 스트리밍 처리가 아니라는 점


예) 1개 디바이스가 10초당 1개의 500바이트 메세지를 IoT 로 보낼때 : 1 * 6 * 60 * 24 * 30 = 259200개 
     즉 4개의 디바이스가 10초에 한번씩 메세지를 전송하면 한달에 7천원 든다. 
     디바이스 4000개면 한달에 7백만원이다. 



Lambda (분산 실행 모듈)


-  모듈에 함수를 요청 할때 마다 과금됨.

-  매월 첫 요청 1백만 회까지 무료, 이후 요청 1백만회당 200원 
-  Lambda 에서 처리한 데이터를 S3 에 put 하는데는 S3 의 get/set 의 요금이 부과된다.

예) 1개의 디바이스가 전송한 데이터를 분삭할 모듈을 호출한다고 해보자. 10초에 한번씩 전송하면 
     한달에 1 * 6 * 60 * 24 * 30 = 259200번 호출된다.  디바이스 4개면 천원 든다.
     디바이스 4000 개를  분석하기위한 호출을 하는데 한달에 백만원이다. 



Kinesis Streams (데이터처리 스트림)
-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)


-  종량 과금제 

-  샤드 1개는 초당 1MB 의 데이터 입력 및 2MB 의 데이터 출력 용량을 제공

-  샤드 1개는 초당 최대 1,000개의 레코드를 지원한다.  

-  각 샤드에 대한 시간 단위로 사용료가 부과

-  샤드 시간 (초당 1MB 수신, 초당 2MB 송신 ) :   10원 

-  PUT 페이로드 유닛, 1백만개 유닛당 : 20원



Kinesis Firehose (데이터처리 인프라)


-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)


Amazon S3로 로드하기 위해 미국 동부 리전의 Amazon Kinesis Firehose로 스트리밍 데이터 레코드를 초당 1,000개 전송하고, 각 레코드 크기는 3KB인 경우, 월별 요금은 다음과 같이 계산됩니다.

월별 요금

미국 동부 리전의 수집 데이터 요금은 GB당 0.035 USD입니다.

3KB의 레코드 크기를 5KB 단위로 올림 처리 = 5KB

수집 데이터(초당 GB) = (레코드 1,000개/초 * 5KB/레코드) / 1,048,576KB/GB = 0.004768GB/초

수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.004768GB/초 = 12,359.62GB/월

월별 요금 = 12,359.62GB * 0.035 USD/GB = 432.59 USD

Amazon S3와 Amazon Redshift로 로드하기 위해 미국 동부 리전의 Amazon Kinesis Firehose로 스트리밍 데이터 레코드를 초당 5,000개 전송하고, 각 레코드 크기는 7KB인 경우, 월별 요금은 다음과 같이 계산됩니다.

월별 요금

미국 동부 리전의 수집 데이터 요금은 GB당 0.035 USD입니다.

7KB의 레코드 크기를 5KB 단위로 올림 처리 = 10KB

수집 데이터(초당 GB) = (레코드 5,000개/초 * 10KB/레코드) / 1,048,576KB/GB = 0.0476837GB/초

수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.0476837GB/초 = 123,596.19GB/월

월별 요금 = 123,596.19GB * 0.035 USD/GB = 4,325.87 USD


Kinesis Analytics (데이터 분석 인프라)


-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)

고객은 Amazon Kinesis Analytics를 사용하여 Kinesis Firehose에서 캡처한 스트리밍 데이터를 지속적으로 필터링하고 원하는 레코드만 보관합니다. 이 고객의 월별 Kinesis Analytics 요금은 다음과 같이 계산됩니다.

월별 요금

미국 리전의 요금은 스트림 처리 애플리케이션에서 사용한 KPU별로 시간당 0.11 USD입니다. 1KPU는 메모리 4GB, 컴퓨팅 1vCPU 및 해당 네트워킹 기능과 동일한 스트림 처리 용량을 제공합니다.

이 간단한 스트리밍 필터는 Firehose의 데이터를 처리하는 데 1.7GB의 메모리와 1vCPU의 50%를 사용합니다.

스트리밍 SQL 쿼리가 메모리를 4GB 미만 그리고 컴퓨팅을 1vCPU 미만으로 사용하므로, 애플리케이션에서 워크로드를 처리하는 데 1KPU만 있으면 됩니다.

월별 요금 = 30일 * 24시간 * (1KPU * 0.11 USD/시간) = 79.20 USD


고객은 Amazon Kinesis Analytics를 사용하여 Kinesis Stream에 캡처되어 있는 온라인 쇼핑 트랜잭션에서 판매된 항목의 1분 슬라이딩 윈도우 합계를 계산합니다. 이 스트림은 보통 초당 레코드 1,000개의 속도로 데이터를 수집하지만, 데이터는 하루에 한 번 프로모션 캠페인 중에 1시간 미만 동안 초당 레코드 6,000개의 속도로 급증합니다. 이 고객의 월별 Kinesis Analytics 요금은 다음과 같이 계산됩니다.

월별 요금

미국 리전의 요금은 KPU별로 시간당 0.11 USD입니다. 1KPU는 메모리 4GB, 컴퓨팅 1vCPU 및 해당 네트워킹 기능과 동일한 스트림 처리 용량을 제공합니다.

수신 Kinesis 스트림은 초당 레코드 1,000개의 속도로 데이터를 전송합니다. 하지만 하루에 한 번 1시간 미만 동안 Stream이 초당 레코드 6,000개로 급증합니다. 

  • 하루 24시간 중 23시간 동안 발생하는 '안정 상태'의 경우:

    슬라이딩 윈도우 쿼리는 데이터를 처리하는 데 3.2GB의 메모리와 1vCPU의 50%를 사용합니다.

    스트리밍 SQL 쿼리가 메모리를 4GB 미만 그리고 컴퓨팅을 1vCPU 미만으로 사용하므로, 이 시간 동안은 애플리케이션에서 워크로드를 처리하는 데 1KPU만 있으면 됩니다.

  • 하루 24시간 중 1시간 동안 발생하는 '스파이크 상태'의 경우:

    슬라이딩 윈도우 쿼리는 스트림의 더 큰 데이터 처리량을 처리하는 데 6.4GB의 메모리와 1vCPU의 75%를 사용합니다. 이 스트리밍 SQL 쿼리는 단일 KPU에서 제공하는 메모리를 초과하여 사용하지만, 2개의 KPU에서 제공하는 메모리 양인 8GB보다는 적게 사용합니다. 이 고객에게는 하루 24시간 중 1시간은 2개의 KPU에 대한 요금이 부과됩니다.

월별 요금: 

안정 상태 = 30일 * 23시간 * (1KPU * 0.11 USD/시간) = 75.90 USD

스파이크 상태 = 30일 * 1시간 * (2KPU * 0.11 USD/시간) = 6.60 USD

요금 합계 = 75.90 USD + 6.60 USD = 82.50 USD


1 Comments
  • 프로필사진 jason hwang 2017.10.24 20:23 신고 안녕하세요? 좋은글 잘 보았습니다.

    다름 아니라 클라우드 프론트 설명에 조금 오해가 있을 수 있어 댓글 남겨봅니다.

    문제는 10,000 Request 라고 설명되어 있는 부분인데,

    Data Transfer Out 와 Object Size가 각각 1GB, 10kb 이기 때문에

    총 Request 회수는 1GB / 10kb = 100,000번이 되어야 할거 같아서요.

    Invalidation Request는 각 엣지 로케이션에 캐시를 지우는 요청이므로,

    Client로 부터의 Request와 구분되어야 할 것 같구요..^^

    혹시 제가 잘못 이해한 부분이 있으면 지적해 주시면 감사하겠습니다.

댓글쓰기 폼