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에 비해 떨어져 서버로 쓰기에는 적합하지 않은 것 같다)

 

 

'DevOps & Server' 카테고리의 다른 글

[CI/CD] 젠킨스 Jenkins  (0) 2019.05.09
vagrant  (0) 2018.11.02
ansible 앤서블 설명  (0) 2018.10.30
docker  (0) 2018.10.27
웹서버 / WAS 정리  (0) 2017.06.17