AWS, Google Cloud, Oracle Cloud 비교
On-demand? Spot Instance? 항시사용?
- On-demand
- 서버를 필요한 작업 돌릴 때만 쓸거라면 On-demand 인스턴스가 유리함. 인스턴스 꺼지면 과금이 안되기 때문에, screen으로 작업걸어 놓고 쉘에서 빠져나올 수 있음. 이 때 ; 를 이용해 작업이 끝나면 종료되도록 하면 된다.
- 근데 이런 일회성 작업이면 그냥 람다가 나은 경우가 많은데… 람다로 커버가 안되는 경우가 있긴 함.
- Spot Instances
- 저렴한 가격으로 사용할 수 있으나, Instance가 작업 도중 사라질 수 있다.
- 그러나 Instance가 사라져도 Storage는 남겨두어 이를 Snapshot -> AMI로 만들고 그 AMI를 이용해 다시 Spot Instance를 만드는 방식으로 작업 결과를 저장해 가며 사용할 수 있다. 주로 ML training같은데 사용한다.
- 항시 사용
- AWS Lightsail 같은 것. EC2 같은 on-demand 보다는 약간 더 저렴한데, 쓴 만큼 과금되는게 아니라 아예 고정비용으로 얼마를 내는 식.
- 따라서 24/7 운영하는 서버라면 on-demand 보다 낫다.
클라우드 별 (제일 저렴한 인스턴스들) 비용 비교
비용(월) | ||
오라클 | E2(AMD) 인스턴스 (2.0GHz, 1GB mem) | $31 |
구글 | N1(Intel) : f1-micro (614MB mem) | $5 |
구글 | E2 : e2-micro (1GB mem) | $7 |
구글 | T2D(AMD) : t2d-standard-1 | $31 |
AWS | EC2 : t4g.nano | $3 |
- OS 납부 요금이 별도로 있을 수 있어서 이 것도 같이 계산해보아야 함.
- 디스크에 대한 납부 요금도 별도로 있을 수 있음.
- 네트워크 트래픽에 대한 납부 요금도 별도로 있을 수 있음. (AWS는 인터넷 대역폭 100GB까지만 무료)
프리 티어
| | | | | | — | — | — | — | | | 프리 티어 무료 인스턴스 | 크레딧 | 고정IP 비용 | | AWS | 1년 동안만, t2.micro 1개 | X | 프리 티어도 청구 | | 구글 | 평생, 1개 인스턴스 (그러나 체감 속도 가장 느리다) | 90일 동안 사용 가능 | 프리 티어도 청구 | | 오라클 | 평생, 2개 인스턴스. 가장빠름. | 30일 동안 사용 가능 | 무료 | 하지만 인증값을 추가하게 되면 고정IP를 사용하지 않아도 되므로 지금 내 상황에서 크게 문제되는 부분은 아니다. (줄일 수 있는 비용) 게다가 껐다가 키면 바뀌는거라, 좀 불편하겠지만 인증값 추가하기 전이라도 언제든 해제할 수는 있다.
- 구글은 “e2-micro” 인스턴스에 “표준 영구 디스크”를 선택해야만 무료임. 디스크 다른거 고르면 꽤 많은 비용이 청구된다.
- 구글은 network latency가 심각한 수준인데, (다른게 0.1s면 얘는 0.7s다) 리전이 us-west 라서 그런 듯.
- **네트워크 서비스 등급은
최고 등급인 프리미엄 이라 프리 티어라 느린 것은 아니고.**
- 기본적으로 리전이 크게 차이나면 속도가 빠를 수가 없다. (굳이 CDN을 두는 이유가 이거니까..)
- 따라서 [대상 서버, 내 서버, 클라우드]가 모두 같은 리전에 있어야 한다.
Network latency 측정 (리전 선택)
Network latency 줄이기 (개선 포인트 찾기)
EC2 t2.micro / ubuntu에서 일정 시간 지나고(매시 정각 또는 30분에) 프로세스가 종료되는 현상
혹시 스펙이 문제일까? 싶어서 Lightsail로 테스트
EC2 1 GB RAM 1 vCPU -> Lightsail 2 GB RAM, 1 vCPU / ubuntu 에서 실행
똑같이 일정 시간 지나고 꺼져버림(매시 정각 또는 30분에).
ubuntu 환경에서 aws burst zone에 진입할 때 뭔가 문제가 있는 걸까?
정말로 스펙이 문제일까?
2.4GHz 1 CPU, 1GB RAM 일 때, 내 앱 로드율은 CPU : 5%, RAM : 40% 였다. 시간에 따라 로드율이 변하는게 아니라 항상 그 정도 쓰는 성격의 앱이기 때문에, 1CPU 1GB로도 별 문제 없이 운영 가능하다.
ubuntu -> centos로 바꿔서 테스트
해결됨. 문제는 ubuntu 였던 것으로… (역시 안정성이 centOS에 비해 떨어져 서버로 쓰기에는 적합하지 않은 것 같다)