[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드

12,042 views

Published on

AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드 (강명완 시스템 엔지니어, 기술본부 인프라운영팀)

0 Comments
22 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,042
On SlideShare
0
From Embeds
0
Number of Embeds
7,527
Actions
Shares
0
Downloads
174
Comments
0
Likes
22
Embeds 0
No embeds

No notes for slide

[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드

  1. 1. AWS 위에서의 Dev & Test, 그리고 비용 위메이드 강명완
  2. 2. Who am I ? ■이력 1. ㈜구름인터렉티브(2007년 04월 ~ 2008년 07월) - 시스템운영팀 내 시스템엔지니어로 업무 - 게임 시스템 구축 및 운용 2. ㈜갈라랩_구 이온소프트(2008년 8월 ~2012년 1월) - 기술지원팀 내 시스템엔지니어로 업무 - 국내 및 해외 시스템 구축 및 운용 3. ㈜위메이드(2012년 1월 ~ 현재) - 인프라운영팀 내 시스템엔지니어로 업무 - 국내 PC 게임 시스템 구축 및 운용 - 모바일 게임 시스템 구축 및 운용
  3. 3. 개발/테스트 환경의 3가지 특징 Disposable 일시적으로 필요하며, 끝나면 사라짐 Fast Transition to Prod 운영 환경으로 빠른 전환이 필요함 Numerous 제한이 없는 리소스 필요
  4. 4. 테스트 하기 전에 Wemade가 한 일? 테스트 하기 전에 Wemade가 한 일?
  5. 5. 테스트 하기 전에 Wemade가 한 일? 1. 해외 진출의 숙제!! 2. 인프라는 어디에? 3. 가상화? CLOUD?
  6. 6. 테스트 환경 구성하기 기존 IDC를 확장한다
  7. 7. 테스트 환경 구성하기 아마존 VPC를 세팅한다 (Virtual Private Cloud)
  8. 8. 테스트 환경 구성하기 원하는 테스트 환경을 VPC 내에 세팅합니다.
  9. 9. 테스트 환경 구성하기 기존 IDC와 Amazon VPC와 VPN으로 연결함
  10. 10. 테스트 환경 구성하기 테스트가 끝난 후에는 모두 삭제하고 VPN도 종료
  11. 11. 테스트의 일시성 측면 아마존과 IDC 환경 비교 성능 테스트 중 성능 테스트 후 $100 $100 $100 $0 • Test만의 목적으로 100대, 200대의 Resource를 준비해 놓기는 어려움 • Test가 완료 된 이후에는 바로 Turn Off하여 비용 Zero
  12. 12. 빠른 운영환경 전환 템플릿화 가능 (AMI) Generic ima ge Custom buil ding block • 테스트가 완료되어 검증된 인스턴스에 대해서는 AMI(Amazon Machine Image 통해 S3에 저장 (99.999999999% 가용성)
  13. 13. 빠른 운영환경 전환 (Cont.) 운영 시 서버 Spec 즉시 업그레이드 • Change Instance Type 기능을 통 해 Scale Up이 즉시 가능
  14. 14. 제한없는 Resource 활용 • AMI로부터 Instance 생성 • Game Server Module 설치 • 단위 성능 테스트 • 기능 테스트
  15. 15. 제한없는 Resource 활용 • 제한 없는 인스턴스 생성 • Scalability 테스트 용이
  16. 16. 제한없는 Resource 활용 • 테스트가 끝난 후 Launching 시 까지는 다시 축소 개발 모드
  17. 17. ELB Performance Test
  18. 18. ELB란 (Elastic Load Balancing)? What is ELB? • Traffic을 Backend로 고르게 분산시켜 주는 기능 ELB • DNS Name으로 접근 가능 • ELB는 하나의 하드웨어가 아 닌 여러개의 Component로 구성된 서비스임 • 내부적으로 Scale-up, Scaleout을 하여 사용자는 하나의 ELB만 사용 하면 됨 myLB-1234567890.us-east-1.elb.amazonaws.com
  19. 19. ELB Performance Test ELB의 동작 원리 • 사용자의 증감에 따라 ELB가 가지고 있는 Resource 역시 Scale Up/Down 함 • Scale Up이 되는 경우 IP가 여러개가 Resolve되거나 IP가 바뀌는 경우를 봄 • 한번 변화가 있을 때 1분~7분 정도의 시간 이 소요되는 것으로 보임 • ELB 만약 5분 내에 기존 사용자의 수보다 50%이 상 많은 사용자가 몰리는 경우 Pre-Warm 통해 해결할 수 있음
  20. 20. ELB Performance Test Prewarm 정보 • ELB Name: myELB.us-west-1.elb.amazonaws.com • Traffic delta OR request rate expected at surge: 100 0 to 10,000 in 5 minutes • Requests per second: 50,000/sec • Request + Response size (bytes): 10KBytes …… …… • Use-case: ELB Performance Test • Period: permanent by production - Start date: 2014. 1. 24 - End Date: 2014. 2.24 • Pre-warm은 AWS Support에 가입이 되어 있어야 신청가능 • TPS, Transaction Size, Use Case등을 명기하여 Support 신청 • 해당 Load를 견딜 수 있 는 ELB를 PreWarm해 줌
  21. 21. ELB Performance Test Prewarm 적용 사례 • nGrinder 을 이용하여 성능 테스트 결과 (Pre-Warm 신청 전 성능 테스트 그래프)
  22. 22. ELB Performance Test Prewarm 적용 사례 • nGrinder 을 이용하여 성능 테스트 결과 (Pre-Warm 적용 후 성능 테스트 그래프)
  23. 23. ELB Performance Test ELB Monitoring Metrics • Latency : ELB와 Back-End 서버간의 지연시간 • ELB HTTP 4XX – 5XX : ELB 단에서 생성된 Error Code • HTTP 2XX – 5XX : BackEnd 단에서 생성된 Response Code • SurgeQueueLength : ELB에서 Backend로 가지 못하고 Queue에 있는 요청 • Spillovers : SurgeQueue가 꽉 채워져 ELB에 의해 Reject 된 요청
  24. 24. ELB Performance Test Tips for ELB Testing • Sticky Sessions 설정이 되어있는 경우 테스트 시 반드시 Unique한 User로 인식이 되는지 확인해야함. 아닌 경우 특정 Backend 서버로만 트래픽이 몰리는 현상 발생 • ELB의 Connection Timeout은 60초로 초기 설정되어있으나, AWS Support를 통해 17분까지 조정이 가능함 • ELB는 관리가 필요없고 알아서 Scaling이 되고 가용성이 높은 장점이 있 음 • 만약 특정기능 사용을 원하는 경우 HAProxy, Riverbed Stingray 등과 같은 ELB를 MarketPlace에서 검색할 수 있음
  25. 25. AWS 위에서 비용 최적화
  26. 26. Cost Optimization Pay as you go! 집에서 전등을 끄면 전기세가 안 나오듯 클라우드에서 서버를 끄면 비용이 안나감 서버 비용 나쁜 예 좋은 예 Traffic 80% 20% 50% 50% 하나의 서버당 효율을 높여라!
  27. 27. 비용 절감을 위한 3가지 옵션 Reserved Instance 선납금을 통한 할인, 5개월 만에 손익분기점 도달 Instance Type 10% 미만의 Low Utilization 스펙 Down Elastic Capacity 트래픽에 따라 유동적으로 Provisioning 1년 최대 45% Saving 한단계 Spec Down 시 50% Saving Auto Scaling 적용 시 30% 이상 Saving
  28. 28. Trusted Advisor 비용절감 보안 가용성 성능 • Low Utilization 되고 있는 인스 턴스 자체 파악 • RI 추천 기능
  29. 29. Trusted Advisor • Trusted Advisor 의 사례 - 현재 사용하고 있는 컨텐츠(EC2, ELB, RDS, Route53)등에 대해 불 필요하게 사용되는 리소스를 측정하여 고객에게 제시하여 비용 절감의 효과를 볼 수 있다.
  30. 30. Trusted Advisor • Trusted Advisor 의 사례 - 현재 위메이드에서는 AWS에서 제시하고 있는 비용 절감 3가지 방법 중에 Instance Type 변경 및 Elastic Capacity(Auto Scaling) 을 올해 2월 부터 적용하여 올해 1월 AWS 사용료 대비 25%의 비용을 절감한 상태입니다. - 비용 절감을 이루고 번외로 인스턴스도 추가적으로 증가한 상태이므로 실질적인 비용 절감은 MAX 사용료 대비 30% 정도 예상하고 있습니다.
  31. 31. 적절한 Instance Type 고르기 -50% -50% -50% X2 X2 X2 ……. large에서 medium으로 내리게 되면 50%를 바로 절감
  32. 32. Auto Scaling 우리는 이정도는 준비해 놔야지.. (X) http://www.rankey.com/images/infographic/2013/rankey_2013infographic01_timeline_201402.png
  33. 33. Auto Scaling

×