자동 확장 가능한 모바일 게임 서버 구축하기

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

게임 서버 Auto Scaling 설정하기

게임 서버 AMI도 준비되었으니 EC2 인스턴스 생성 옵션 설정과 Auto Scaling 그룹을 생성합니다(그림 33-12).

  • My AMIs에서 방금 생성한 웹 서버 AMI(ExampleGameAutoScalingAMI)를 사용합니다. 기본 Amazon Linux AMI를 선택하지 않도록 주의합니다.
  • S3, DynamoDB 접근용 IAM 역할(ExampleGameRole) 사용하도록 설정합니다.
  • CloudWatch 세부 모니터링 사용하도록 설정합니다.
  • User data에 아래 코드 입력합니다.
  • 나머지는 기본값 그대로 사용합니다.

User data

#!/bin/bash
cd /home/ec2-user
aws s3 sync --region=ap-northeast-1 \
 s3://examplegame.src/ExampleGameServer ExampleGameServer
cd ExampleGameServer
npm install
forever start -w app.js

S3 버킷에서 웹 서버 소스를 최신 버전으로 업데이트합니다. 그리고 package.json 파일에 모듈이 추가되었을 때 추가된 모듈을 설치할 수 있도록 npm install 명령을 한 번 더 실행하고 forever 명령을 실행합니다.


그림 33-12 Auto Scaling EC2 인스턴스 생성 옵션 설정

생성될 EC2 인스턴스에서 사용할 Security Group을 설정합니다. Create a new security group으로 Security Group을 새로 생성할 때는 Add Rule 버튼을 클릭하여 HTTP 프로토콜(80번 포트)을 꼭 추가합니다.

Select an existing security group으로 이미 있는 Security Group을 선택할 때는 HTTP 프로토콜(80번 포트)이 열려있는 Security Group을 선택합니다.


그림 33-13 Auto Scaling EC2 인스턴스 Security Group 설정

Auto Scaling 그룹을 생성합니다(그림 33-14).

  • 그룹 이름은 ExampleGameAutoScalingGroup으로 합니다.
  • Subnet 부분을 클릭하여 EC2 인스턴스를 생성할 서브넷을 선택합니다.
  • Load Balancing을 사용하도록 설정하고, 앞에서 생성한 ELB 로드 밸런서를 선택합니다.
  • CloudWatch 세부 모니터링을 사용하도록 설정합니다.
  • 나머지는 기본값 그대로 사용합니다.
  • Auto Scaling 정책은 ‘19.2 EC2 생성 옵션 설정과 Auto Scaling 그룹 생성하기’를 참조하여 설정하기 바랍니다.


그림 33-14 Auto Scaling 그룹 생성

웹 서버 Auto Scaling 그룹을 생성한 모습입니다.


그림 33-15 Auto Scaling 그룹 생성 완료


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.