Your SlideShare is downloading. ×
AWS GameServer Management
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

AWS GameServer Management

362
views

Published on

GameServer Management using Amazon Web Service

GameServer Management using Amazon Web Service

Published in: Engineering

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

  • Be the first to like this

No Downloads
Views
Total Views
362
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. AWS를 이용한 서버 운영 2013. 07. 12. 최재영
  • 2. AWS 소개 Chapter 1. 2 • Cloud & AWS • EC2, S3, CloudFront, RDS • Server Limits • Pricing • Console & SDK
  • 3. AWS? • Amazon Web Service • Cloud computing 3 http://aws.amazon.com/
  • 4. Cloud computing? • the on-demand delivery of IT resources via the Internet with pay- as-you-go pricing 4 http://aws.amazon.com/what-is-cloud-computing/
  • 5. AWS Game hosting 5 http://aws.amazon.com/ko/game-hosting/ 낮은 비용 클라우드 리소스 종량 과금제 확장 가능 몇 분만에 가상 머신 추가 빠른 배포 시간 하드웨어 도착을 기다릴 필요 없이 바로 배포 고가용성 안정성이 높은 서비스와 내결함성이 우수한 여러 가용 영역
  • 6. Region & AZ • 하나의 지리적 구역에 있는 가용 영역 • 독립된 전력망, 네트워크를 갖춤 • 지역에 따라 사용 금액이 다르고, 네트워크 반응성 차이가 있음 • 한 지역(Region)에는 여러 가용 구역(Available Zone)을 갖음 6
  • 7. EC2 (Elastic Compute Cloud) • Virtual servers in the Cloud • AMI(Amazon Machine Instance)를 실행하는 서버 인스턴스 가동 • EBS(Elastic Block Storage) 사용, EIP(Elasic IP) 부여 • EIP 미설정 시 서버 재시작마다 Public/Private DNS가 변경됨 7
  • 8. S3 (Simple Storage Service) • 내고장성(fault-tolerant) 데이터 저장소 • bucket 내 object로 파일 관리 (folder 개념 없음) – Console이나 Toolkit마다 Folder를 emulation 해줌 (_$FOLDER$_) • ACL을 통한 permission 부여 • 데이터 전송 부담이 EC2에 비해 낮음 (비용은 동일) • EC2와의 데이터 전송 비용은 없음 8 http://lzclient.s3-ap-northeast-1.amazonaws.com/UpdateHistory.txt bucket object
  • 9. CloudFront • Web service for content delivery • S3 bucket으로 CloudFront Distribution 생성 • 변경된 S3 bucket object가 반영되려면 시간이 필요함(동기화 주기) 혹은 직접 invalidation 수행. edge location 동기화 완료 예측 어려움 • 데이터 전송 비용이 S3에 비해 저렴 9
  • 10. RDS (Relational Database Service) • 관계형 데이터베이스를 Cloud service로 제공 • MSSQL, MySQL, Oracle을 지원함 • Scaling Up(upgrade instance) & Out(sharding, replica) 10
  • 11. Service Limits • EC2 on-demand instances (보통) 20개 • EC2 spot instances 100개 • Elastic IP Address 5개 • RDS 40개 • VPC는 별도 • 한도 증가 요청 시 업무일 2-3일 소요 11 http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html http://aws.amazon.com/ko/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2 https://aws.amazon.com/ko/contact-us/ec2-request/ https://aws.amazon.com/ko/contact-us/eip_limit_request/
  • 12. Pricing • CPU 사용 시간(%/sec), 전송 데이터 양(GB/s), 월간 데이터 스토리지(GB/s) • Oregon보다 Tokyo가 더 비쌈 • EC2 Windows가 Linux보다 비쌈 • S3 PUT, COPY, POST, LIST 요청에도 요금이 부과됨 • CloudFront HTTP보다 HTTPS가 더 비쌈 12 http://aws.amazon.com/ko/pricing/ EC2 CloudFront
  • 13. Pricing (Example) • Game Server (EC2, RDS) – Windows EC2 M1 Extra Large (8ECUs, 15GiB MEM) $0.7/h → $504 – MSSQL Large Instance (4ECUs, 7.5GiB MEM) $1.167/h → $840 – Network (Out) 1MiB/s = 2.6TiB/month → $520 • CDN (S3, CloudFront) – 1GB (Client) $0.1/GB → $0.1 – 10TB (10,000 Download) $0.137/GB → $1,370 • CloudFront (Korea) $0.120/GB → $1,200 13 http://aws.amazon.com/ko/pricing/
  • 14. Charges • 사용한 자원에 따른 요금 14 https://portal.aws.amazon.com/gp/aws/developer/account/index.html
  • 15. Free tier • 신규 AWS 고객 첫 12개월 대상으로 적용 • EC2 – Linux/Unix/RHEL/Windows Micro instance 매달 750시간 무료 • S3 – 5GB, GET 20,000건, PUT 2,000건 무료 • RDS – MSSQL Express Edition Micro instance 20GB, 매달 750시간 무료 15 http://aws.amazon.com/ko/free/
  • 16. http://aws.amazon.com/ko/console/ AWS Management Console • Web interface의 Management Console 16
  • 17. .NET AWS SDK • AWS API에 대한 .NET Wrapper • AWS Explorer 17 http://aws.amazon.com/ko/sdkfornet/
  • 18. 게임 서버 운영 Chapter 2. 18 • Step by Step • Cloud Design Pattern
  • 19. Game Hosting! • EC2를 사용한 게임 서버 운영 • 바이너리 배포를 위한 S3/CloudFront 사용 • RDS/DynamoDB를 사용한 데이터 저장 19 Auto scaling Group Availability Zone #1 Logs EC2 Instance Game Server CloudFront Distribution MSSQL Instance DynamoDB Elastic Load Balancing Game Data EC2 Instance Game Server AMI Game Client Packages Upload Download Amazon S3 Bucket
  • 20. Step 1. 서버 구동 1) 적절한 OS를 선택하여 Instance 생성 2) 필요한 프로그램 설치 (.NET Framework 나 mono 등) 3) 기타 환경 설정 (필요에 따라 EBS mount) 4) AMI 생성 5) 서버 바이너리 업로드 6) 서버 구동 7) Elastic IP 부여 20 장애 발생 시 해당 Instance에서 EBS 분리 새 Instance에 mount한 뒤 대응 서버 구동 새 Instance 구동 준비 노력 절감 빠른 장애 대응 Instance 구동 및 빠른 서버 확장
  • 21. Step 2. CDN 구축 1) S3 Bucket 생성 2) AWS API 등을 사용하여 배포 파일 업로드 3) S3를 CloudFront에 Distribution 4) CloudFront 전달 위해 Invalidation 5) Launcher는 CloudFront 혹은 S3로부터 다운로드 21 언제 edge location으로 전달될지 모름 CloudFront의 Invalidation이 InProgress 상태이면 최신 내용이 아니라는 것이므로 S3로부터 다운로드 해야 함
  • 22. 운영 패턴 • 준비된 AMI로 Instance 생성 및 서버 구동 후 Elastic IP 연결 • 동기화할 데이터가 있다면 EBS로 구성하고, 장애 서버의 EBS를 분리한 후 새 서버에 연결해서 사용 • 더 높은 사양의 Instance에서 서버 구동 후 Elastic IP 연결 (Scale Up) • 추가 Instance 구동 후 (Scale Out) 처리 분산 (ELB) 22
  • 23. Floating IP • 서버 패치, 장애 복구, 업그레이드 작업 등을 처리할 때 정지 시간 최소화 • EIP 변경이므로 DNS의 TTL에 영향을 주지 않고 바로 변경 가능 23 Route 53 Elastic IP EC2 EC2 IP 교체서버 장애 (1) (2)
  • 24. Server Swapping • 새 Instance에 기존 가상 디스크(EBS)를 연결하여 장애 복구 • EBS 장애를 고려하여 snapshot 백업도 필요 24 EC2 EC2 EBS를 새로운 EC2에 장착 EC2 장애 Amazon EBS AMI 동일한 AMI에서 EM2 가동 (1) (3) (2)
  • 25. Scale up / down • 서버 자원에 맞는 Instance 변경 25 EC2 EC2 Change Instance Type EC2 small micro xlarge
  • 26. Scale out / in • 로드 밸런서를 사용해 트래픽 양에 따라 가상 서버 수를 동적으로 변경 • 갑작스런 트래픽 변동은 대응하기 어려움 26 EC2 EC2 감사 AMI (1) Auto scaling Group EC2 ELB CloudWatch Alarm Auto Scaling 설정 조건으로 알람 가동 (2) 통지 (3) 서버 가동 (4)
  • 27. Scheduled Scale out • 트래픽이 급증하는 시간을 알 경우 사전에 Scale out을 수행 • 트래픽이 떨어지는 시간대를 지정하여 Scale in을 수행 27 EC2 EC2 AMI Auto scaling Group EC2ELB Auto Scaling 정해진 시각에 가동 지시
  • 28. 참고 • AWS 한국 사용자 모임 https://www.facebook.com/groups/189675924467773/ • 아마존 웹 서비스 완벽 활용법, 위키북스 • 아마존 웹 서비스 클라우드 디자인 패턴 설계 가이드, JPub 28
  • 29. EOF 29 :)