Google Cloud Computing 가격 정책 비교
현명하게 gcp 사용하기

사이드 프로젝트를 하면서 GCP로 배포할 때, 서버 비용이 걱정되었다면!
tl;dr
사이드 프로젝트 성격인 서비스에, 대부분의 사용자가 한국인이라고 가정하면 아래와 같이 설정하면 됩니다.
- Just use
Taiwan
region for every instance - Check cloud run minimum instance number(set 0)
- Set cloud sql vCPU 1
Intro
2022년 6/25일(현재 날짜 7/7일) GDG 해커톤을 통해 정말 간단한 golang 서버를 배포했었다. 갑자기 문득 궁금한 생각이 들어, cloud console에 가서 금액을 확인해보니,,
- ₩268,826,, 말이되나?
트래픽 없는 해커톤 서비스가, 약 12일 정도 사용했는데 26만원 찍혔다는건 말도 안된다.
이에 대한 이유를 분석해보고 다음 myply
사이드 프로젝트를 할 떄, 적용해보기 위해서 정리를 해봅니다.
-
대부분 cloud sql이 잡아먹고 있었다. (원인: vCPU 4인 default instance가 살아있어서)
-
cloud run은 100만건까지는 공짜인줄 알았는데, 500원씩 사용되었다. (원인: min instance count 1로 되어있었다.)
GCP network
- Ingress ( users -> instance ) is free
- egress ( kr -> taiwan $0.05 )
Cloud run
- Set cpu less than 1, memory 128MiB
- Check CPU is only allocated during request processing
- Execution env to set
First generation
- Set autoscaling min number of instances field to 0. (max: 4~5?)
- cloud run pricing by region,
FYI, seoul is 2nd grade.
Cloud SQL
-
Set number of vCPU 1 (4로 설정하면 대략 하루 18,000원)
-
Seoul이 vCPU가격이 다른 region에 비해서 훨씬 높다. -> Select Taiwan
-
Taiwan의 경우 us-central들과 가격 정책이 같다.
-
lowa
-
seoul
-
Data Egress(outboud) pricing
- Set
cloud run
region same ascloud sql
- Set
Conclusion
저와 비슷한 환경에서 사이드 프로젝트를 한다면 cloud run과 cloud sql을 지금까지 분석했던 방식으로 설정하면 될 것 같습니다. 단, 트래픽이 늘어나서 taiwan <-> korea에 대한 이그래스 가격이 합리적이지 못하다고 느낀다면, region을 seoul로 바꾸는 것도 좋아보입니다.
간단하게 계산해보면 18GB
(9/0.5)이상의 트래픽이 한달 간 발생한다면, region을 다시 seoul로 바꿔서 서비스해야 할 것 같습니다. 단 트래픽이 늘어나면 sql vCPU도 늘어나야 하기 때문에 다시 계산해야 될 수도 있습니다. (여기서 $9는 cloud sql single vCPU 한달 사용 차액 $9(taiwan - seoul, per vCPU))
정리하면, youtube의 홈화면(최적화가 잘되어있다는 것도 감안 필요, 또한 스트리밍 시청하게 되면 영상 사이즈로 고려해야 함)은 약 613kb 네트워크 리소스를 사용하며, 이를 18GB만큼 사용하려면 29363.7846656
으로 해당 서비스가 약 한달에 3만번 이상 hit를 받는 서비스라고 생각한다면, 네트워크 이그레스를 고려해야 한다.