RedShift
RedShift는 클라우드 기반 데이터 웨어하우스입니다.
PostgreSQL 기반으로 만들어졌으며 Columnar 기반을 비롯한 다양한 특징으로 대규모 로그 분석 등에서 사용을 할 수 있습니다.
RedShift의 근본적인 문제점
현재 로그 수집 및 분석을 위해서 RedShift Cluster를 사용하는 기업이 많습니다.
운영환경이 dev, stg, prod으로 3개인 법인 기준으로 dc2.large를 3개만 가동하더라도 월 90만원의 비용이 지출됩니다.
하지만 dev, stg 등의 환경에서 RedShift의 사용량이 극히 적을 뿐더러
AWS RedShift Reserved Node는 그 제약조건이 엄격하여 비용 dev, stg 에 사용하기에 무리가 큽니다.
이 경우 dev, stg 환경에 대해 RPU* 및 사용 시간에 의해 비용이 지불되는 RedShift Serverless를 적절히 도입하여 비용 절감이 가능할 것으로 보입니다.
RPU* : RedShift Process Unit
RedShift dc2.large
RedShift의 비용 체계는 프로비저닝 시간에 대한 On-demand* 방식을 사용합니다.
dc2.large 기준으로 0.3$/h, 216$/mon, 300,000₩/mon의 비용이 지불됩니다.
유형 | 타입 | vCPU | MEM | I/O | 시간당 |
---|---|---|---|---|---|
DC2 | dc2.large | 2 | 15 | 0.60GB/s | 0.30$/h |
DC2 | dc2.8xlarge | 32 | 244 | 7.50GB/s | 5.80$/h |
RA3 | ra3.xlplus | 4 | 32 | 0.65GB/s | 1.278$/h |
RA3 | ra3.4xlarge | 12 | 96 | 2.00GB/s | 3.836$/h |
RA3 | ra3.16xlarge | 48 | 384 | 8.00GB/s | 15.347$/h |
RedShift Serverless
RedShift의 비용 체계는 RPU*, 호출 시간*에 따른 Pay-for-use 방식을 사용합니다.
이때 RPU는 8, 16, 24, … , 512 단위로 조절할 수 있으며 1 RPU당 16 GB의 용량을 제공합니다.
RPU* : Redshift Process Unit
유형 | RPU | vCPU | MEM | I/O | 시간당 |
---|---|---|---|---|---|
Serverless | 8 | 확인요 | 128 | 확인요 | 3.504$/h |
Serverless | 16 | 확인요 | 256 | 확인요 | 7.008$/h |
RedShift vs RedShift Cluster
RedShift Clsuter를 dc2.large로 사용하고 있나요?
그렇다면 RedShift Serverless가 시간당 비용이 11배 이상 비싸기 때문에,
RedShift Cluster의 일평균 사용시간을 고려하여 마이그레이션을 결정해야 합니다.
유형 | 규격 | 시간당 비용 | 월별 비용 |
---|---|---|---|
RedShift Cluster | dc2.large | 0.30 $/h | 216$ |
RedShift Serverless | RPU 8 | 3.504 $/h | 2522.88$ |
RedShift Serverless를 일평균 2.4시간 넘게 사용한다면 그때부터 급격히 비용이 비효율적으로 작동합니다. 0시간 호출하면 비용은 0$입니다.
RedShift Cluster 사용 시간 집계
실제로 운영 중인 dev, stg 운영환경에서 RedShift Query 실행 시간을 집계하여 RedShift Serverless 마이그레이션으로 인한 예상 비용 추정이 가능합니다.
SELECT usesysid AS userid, usename AS username
FROM pg_user;
SELECT userid,
SUM(datediff(seconds, starttime, endtime)) AS total_execution_time
FROM stl_query
WHERE userid = 100
GROUP BY userid;