아마존 EC2 가격을 줄이는 7가지 Tip

해당 글은 http://aws-musings.com 의 7 easy tips to reduce your amazon ec2 cloud costs 를 “발번역” 하고 개인적인 의견을 추가한 글입니다.

원문은 http://aws-musings.com/7-easy-tips-to-reduce-your-amazon-ec2-cloud-costs/ 에서 보실 수 있습니다.

아마존 EC2 가격은 계속 빠르게 증가하고 있습니다. 만약 아마존 EC2의 빌링 구조에 대해서 잘 모른다면 우리 회사에서 비용을 절약한 방법은 따라하시면 좋을듯 합니다.

1. Keep machines in the same availability zone

하나의 Availability zone 에 서버를 유지하라.

Multiple Availability zone 으로 서버를 분산해 두지 말아야 합니다.  Availability Zone 사이에는 네트웍 사용량에 대해서 비용을 지불해야 합니다.(같은 Availability Zone 에서는 내부 네트웍 사용이라 비용이 들지 않습니다.) 다만, High Availbility를 위해서 다른 Availability Zone을 이용하는 분들에게는 필요없습니다.( 이전에 아마존 장애시에 East 장애로 인해서 West 로 백업해둔 서비스는 안정적으로 계속 서비스가 되었던 사건을 기억하시죠? 아니라면 다음 글을 읽어보시면 좋을듯 합니다.  http://dev.paran.com/2011/05/17/amazon-ec2-outage-lessons-learned/ )

2. Use CNAMEs instead of A records

DNS에서 A Record 대신에 CNAME 을 이용하라.

아마존 elastic ip 와 도메인을 매핑하지 말아야 합니다. splunk.gumgum.com 이라는 도메인 주소를 가지고 있다면,  같은 Availability Zone의 모든 웹서버들이 해당 서버로 데이터를 보낸다고 가정합니다. 이 때, splunk.gumgum.com 이 A Record 로 셋팅되어 있으면, 모든 데이터가 외부로 나갔다가 다시 돌아오게 됩니다. 그러나 CNAME으로 셋팅을 하게 되면, 데이터는 EC2 Cluster 내에 남아있게 됩니다. 자세한 내용은  http://alestic.com/2009/06/ec2-elastic-ip-internal 를 참고하시기 바랍니다.

3. Use Spot Instance

Spot Instance를 이용해라.

(혹하는 내용입니다. ^^ Spot Instance 가 2배 정도 싸네요.) 가능하면 Spot Instance를 이용합니다. Spot Instacne 는 On Demand Instance 보다 저렴합니다.  http://aws.amazon.com/ec2/spot-instances/ 를 읽어보길 바랍니다.  그리고 http://www.spothistory.com/ 에서 Spot history price graphs를 볼 수 있습니다. 여기서, 다양한 타입의 instance의 평균 가격을 볼 수 있습니다. m1.small spot  instance 의 평균 가격은 한시간에 3 cent 입니다. 같은 타입의 On Demand Instance의 경우 한시간에 8.5 cent 입니다. ( 부가 설명을 드리자면, Spot Instance의 가격은 계속 변동되고, MAX Price를 설정해 두면, 해당 값 보다 해당 Spot Instance의 가격이 비싸지면, 서비스가 멈추게 됩니다. 그래서 지속적인 서비스 보다는 임시적으로 사용할 때 좋습니다.)

4. Choose your instance types wisely

Instance Type을 현명하게 선택하라.

가장 작은 type instance 를 선택하는 것이 돈을 아끼는 방법이 아닐 수 있습니다. c1.medium 은 m1.small 에 비해서 가격이 2배지만 성능은 5배 좋습니다. 복잡한 작업을 해야한다면, c1.medium을 사용하는 것이 m1.small 보다 쌉니다.

5. Choose the smallest possible storage

가능한 작은 Storage 를 선택하라.

가능한 작은 EBS Volume 가 RDS instance 를 사용합니다. 필요할 때 EBS Volume과 RDS instance 를 확장하는 것은 매우 쉽습니다. 게다가 작은 Storage를 쓸 수록 그것을 백업하는데도 비용이 적게 듭니다.

6. Use Autoscaling

AutoScaling 을 사용하라

AutoScaling 은 필요할 때, 추가적인 instance를 실행시켜주는 방법입니다. 그리고 필요가 없어지면, 다시 자동으로 Shut down 됩니다.  이 기능은 특별한 traffic/usage 형태를 보여주는 웹 서비스나 웹 호스팅에서 매우 유용합니다.( 부하가 있을 때만 추가적인 서버를 자동으로 추가하고 빠질 수 있기 때문입니다.)

7. Reserve your instance

Reserve instacne 를 이용하라.

1년이나 3년으로 instance 를 예약하면 비용을 많이 줄일 수 있습니다. (일종의 약정이라고 보시면 됩니다.)