aws summit seoul 2015 - aws를 통한 게임 운영의 정석
TRANSCRIPT
![Page 1: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/1.jpg)
SEOUL
© 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
![Page 2: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/2.jpg)
© 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
게임서비스운영
Solutions Architect
정윤진
![Page 3: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/3.jpg)
https://speakerdeck.com/hatena/jaws-days-2014-miiverse
![Page 4: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/4.jpg)
![Page 5: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/5.jpg)
어떻게만든걸까?
• CentOS 6
• MySQL, Redis, Memcached
• Nginx, HAProxy, Squid
• Quagga, OpenSwan, OpenVPN
• Nagios, CloudWatch, Graphite, Mackerel
• Git, Capistrano, Cinamon
• Chef from OPSCODE
https://speakerdeck.com/hatena/jaws-days-2014-miiverse
![Page 6: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/6.jpg)
신규게임을출시할때마다이런설치작업을반복해야한다면?
![Page 7: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/7.jpg)
Pain points
• 게임을런칭할때마다환경을직접구성
• AMI 기반의버전관리만으로는부족
• 대부분의게임은장르별로유사한구성
• 정기점검으로인한서비스중단은매출에영향
![Page 8: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/8.jpg)
인프라를코드로관리
![Page 9: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/9.jpg)
필요할때즉시
사용한만큼지불
신축성
![Page 10: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/10.jpg)
=프로그래밍가능한플랫폼
![Page 11: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/11.jpg)
프로그램밍이가능하다면자동화역시가능
![Page 12: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/12.jpg)
11.6s
신규코드가반영되는속도
(주중)
1,079
한시간동안최대업데이트횟수
10,000
동시에업데이트가발생하는호스트수
30,000
동시에업데이트가발생하는최대호스트수
AMAZON.COM
연속배포(in 2011)
![Page 13: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/13.jpg)
소프트웨어배포
≠제품출시
![Page 14: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/14.jpg)
같은일두번하지말자Don’t re:invent the wheel
![Page 15: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/15.jpg)
DevOps
![Page 16: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/16.jpg)
DevOps?
• « DevOps란서비스의라이프사이클관리를위해운영과개발의양쪽엔지니어가함께협업하는모델 »
- theagileadmin.com
![Page 17: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/17.jpg)
선택가능한다양한옵션
• Configuration Management Systems– Puppet
– Chef
– Saltstack
• Deployment Frameworks– CodeDeploy
– AWS Elastic Beanstalk
– AWS OpsWorks
– Ansible
– Fabric
– Capistrano
• Infrastructure Management– CloudFormation
• Containers– Amazon EC2 Container Service
![Page 18: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/18.jpg)
Bootstrapping
![Page 19: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/19.jpg)
이미지생성 자동구성
시간이소요되는설정(startup time)
거의변경되지않는설정(less change management)
Bootstrapping
![Page 20: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/20.jpg)
연속배포
(latest code)
환경종속적요소
(dev-test-prod)
Bootstrapping
이미지생성 자동구성
![Page 21: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/21.jpg)
Continuous Integration
![Page 22: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/22.jpg)
Continuous Integration?
• 코드의변경사항이자동으로서비스에배포– Unit / Mock 테스트완료후
• 코드의변경과배포를하나의덩어리로처리하는대신변경발생시마다지속적으로배포
• 버그의빠른발견
• 자동화된배포
• 신속한개발과배포를가능하게함
![Page 23: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/23.jpg)
SOURCE CODE
REPOSITORY
PROJECT MANAGEMENT
SERVER
CONTINUOUS
INTEGRATION SERVER
개발자
PICK
TASKS
SUBMIT
CODE
SCHEDULE
BUILD
RECURRENT
BUILDS
CODE
FETCHCODE QUALITY
TESTS
TEST
RESULTS
BUILD OUTPUT
DOCS
BINARIES
& PACKAGES
DEV FACING
NOTIFICATIONS
CLOUDFORMATION
AMIS or CONTAINERS
![Page 24: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/24.jpg)
SOURCE CODE
REPOSITORY
DNS
CONTINUOUS
INTEGRATION SERVER
PROJECT
MANAGEMENT SERVER
BUILDS
![Page 25: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/25.jpg)
PAIN POINTS• Unit테스트의비종료• MOCK테스트의메인터넌스• 고비용의테스트환경• 테스트환경 ≠실서비스환경• 배포주기
![Page 26: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/26.jpg)
소프트웨어개발라이프사이클
10/13/14 26
MonitorProvisionDeployTestBuildCode
AWS Elastic Beanstalk
AWS OpsWorks
Amazon
CloudWatch
AWS
CloudFormation
?
![Page 27: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/27.jpg)
AWS code 서비스
AWS CodeCommit
곧출시됩니다
AWS CodePipeline
곧출시됩니다
AWS CodeDeploy
절찬리판매중
![Page 28: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/28.jpg)
Source Control아마존 S3위에서서비스되는사설 Git코드저장소
• Git완벽호환 (기존의도구그대로사용가능)
• 클라우드사용의잇점을모두도입가능(확장성, 내구성, 신뢰성, 사용량기반의저렴한과금체계)
• 저장소의크기제한없음(바이너리도마음껏저장)
• 온라인도구제공 –코드확인,수정, diff
10/13/14 28
![Page 29: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/29.jpg)
Same Git experience
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
Cloning into 'aws-cli'...
Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9900/9900), done.
Checking connectivity... done.
$ nano README.rst
$ git commit -am 'updated README'
[master 4fa0318] updated README
1 file changed, 1 insertion(+)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
4dacd6d..4fa0318 master -> master
![Page 30: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/30.jpg)
Continuous Delivery커스터마이즈가능한빌드,테스트를포함한배포자동화
• 커스텀된배포자동화흐름을한눈에확인(source build beta gamma prod)
• 자동빌드,테스트,그리고배포
• 커스텀정책,승인및게이트구성이가능
• 3rd party 도구또는커스텀도구와연동가능
10/13/14 30
![Page 31: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/31.jpg)
![Page 32: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/32.jpg)
DeploymentEC2 인스턴스그룹에소프트웨어업데이트를조정
• 다운타임없이업데이트가능 -롤링업데이트
• Health check 와함께배포하여손쉬운 Rollback
• 오토스케일연동
• 어떠한어플리케이션과도연동가능
• 기존의설정도구와함께연동가능(Bash, Powershell, Chef, Puppet…)
10/13/14 32
![Page 33: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/33.jpg)
9/25/14 Slides not intended for
redistribution.
33
![Page 34: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/34.jpg)
Cloud software development lifecycle
10/13/14 34
MonitorProvisionDeployTestBuildCode
AWS Elastic Beanstalk
AWS OpsWorks
CloudWatchCloudFormationCodeDeploy
CodeCommit CodePipeline
![Page 35: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/35.jpg)
CODECOMMIT
DNS
CODEPIPELINE
PROJECT
MANAGEMENT SERVER
BUILDS
![Page 36: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/36.jpg)
CONTINUOUS DEPLOYMENT
연속배포작은코드의변경이라도지속적으로서비스시스템에
배포/반영하는것을이르는말
![Page 37: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/37.jpg)
필수요소 = 반복
![Page 38: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/38.jpg)
ITERATION (반복)
=사용자를위해지속적으로시스템을더
향상된형태로수정
![Page 39: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/39.jpg)
© 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CLOUDFORMATION스택기반배포서비스
![Page 40: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/40.jpg)
CLOUDFORMATION
TEMPLATE
![Page 41: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/41.jpg)
기본워크플로우
디자인
인프라
템플릿생성
어플리케이션
코드생성
스택생성
반복
![Page 42: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/42.jpg)
Infrastructure-as-code workflow
코드
템플릿
버전
컨트롤
코드
리뷰개선
“It’s all software”
![Page 43: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/43.jpg)
Headers
Parameters
Mappings
Resources
Outputs
![Page 44: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/44.jpg)
{"Description" : "Create RDS with username and password","Resources" : {
"MyDB" : {"Type" : "AWS::RDS::DBInstance","Properties" : {
"AllocatedStorage" : "500","DBInstanceClass" : "db.m1.small","Engine" : "MySQL","EngineVersion" : "5.5","MasterUsername" : "MyName","MasterUserPassword" : "MyPassword"
}}
}}
![Page 45: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/45.jpg)
"AWS::CloudFormation::Init" : { "config" : {
"packages" : {"yum" : {
"mysql" : [],"mysql-server" : [],"httpd" : [],"php" : [],"php-mysql" : []
}},"sources" : {"/var/www/html" :
"https://s3.amazonaws.com/my-builds/build-v4.zip"}
}
![Page 46: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/46.jpg)
{"Parameters" : {"KeyName" : {
"Description" : "Name of an existing EC2KeyPair to enable SSHaccess to the instance",
"Type" : "String"}
},}
![Page 47: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/47.jpg)
CLOUDFORMATION
TEMPLATE
PROCEDURAL
DEFINITION생성
KNOWN
CONFIGURATION코드저장소에템플릿을저장하여관리
PARAMETER
DRIVEN사용자가원하는형태로동적인템플릿구성가능
COLLABORATION다른사람들과파일만공유하면됨
![Page 48: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/48.jpg)
![Page 49: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/49.jpg)
어플리케이션버전관리
+인프라버전관리
![Page 50: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/50.jpg)
CLOUDFORMATION
TEMPLATE
![Page 51: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/51.jpg)
© 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS OpsWorks어플리케이션라이프사이클관리서비스
![Page 52: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/52.jpg)
AWS OpsWorks
• 어플리케이션라이프사이클관리서비스– 빠르고안전한배포구성
– 복잡한인프라에대한확장,관리,모델링등을자동화
– 기본구성을사용하여쉽게사용가능
– 추가비용없음
![Page 53: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/53.jpg)
OpsWorks의기본구조
EC2인스턴스의OpsWorks Agent
OpsWorkstalks with
![Page 54: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/54.jpg)
OpsWorks기본구조
OpsWorks에정의된일련의명령을다운로드,
Agent에서 Chef solo(Chef
Zero)에서레시피를실행
EC2인스턴스의OpsWorks Agent
Chef 11.10에서 Chef
Client의 local mode
![Page 55: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/55.jpg)
OpsWorks요구사항
• Amazon Linux또는 Ubuntu 12.04LTS,14.04LTS기반– 사용자가생성한 AMI역시사용가능
• Chef버전 0.9, 11.4, 11.10지원
• VPC지원– Default VPC, Customer VPC 모두사용가능
• ELB, RDS, CloudFormation, CloudTrail지원
• 신규로구동한인스턴스에서 OpsWorks endpoint 에접근하도록구성가능
![Page 56: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/56.jpg)
OpsWorks사용방법
• AWS 관리 콘솔
• AWS SDK
• AWS CLI
• OpsWorks Agent CLI
– OpsWorks에서 시작된 인스턴스에 SSH로 로그인하여 agent 전용 명령어를 실행
![Page 57: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/57.jpg)
첫번째인스턴스를추가
App
서버
Setup Deploy Configure Execute Recipe Shutdown
![Page 58: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/58.jpg)
첫번째인스턴스를시작하면 Setup이실행
App서버를시작
App
서버
Setup Deploy Configure Execute Recipe Shutdown
![Page 59: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/59.jpg)
Setup실행후 Deploy가자동으로실행
App서버를시작
App
서버
Setup Deploy Configure Execute Recipe Shutdown
![Page 60: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/60.jpg)
인스턴스가 online되면 Configure가실행
App서버를시작
App
서버
Setup Deploy Configure Execute Recipe Shutdown
![Page 61: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/61.jpg)
데이터베이스인스턴스추가
App서버시작
App
서버
DB
서버
Setup Deploy Configure Execute Recipe Shutdown
![Page 62: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/62.jpg)
Setup, Deploy자동수행
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
![Page 63: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/63.jpg)
DB서버가 online되면스택의모든인스턴스에서Configure가수행됨
App서버시작
App
서버
DB
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
![Page 64: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/64.jpg)
인스턴스를추가
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
![Page 65: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/65.jpg)
Setup, Deploy가자동실행
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
![Page 66: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/66.jpg)
새로운인스턴스가 online이되면스택의모든인스턴스에서 configure가실행됨
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
![Page 67: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/67.jpg)
수동배포
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
수동배포실행
![Page 68: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/68.jpg)
레시피수동실행
App서버시작
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
수동배포실행
레시피실행
App
서버
DB
서버
App
서버
![Page 69: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/69.jpg)
인스턴스중지
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
수동배포실행
레시피실행 App서버종료
![Page 70: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/70.jpg)
인스턴스가상태가변경되면 Configure가실행
Setup Deploy Configure Execute Recipe Shutdown
App서버시작
App
서버
DB
서버
App
서버
DB서버시작
App서버시작
수동배포실행
레시피실행 App서버종료
![Page 71: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/71.jpg)
시간기반으로인스턴스를 rolling update 예
• 매일 지정된 시간에 인스턴스를 시작 / 중지
– 각 인스턴스별로 시간을 늦추어 시작 / 중지
• 인스턴스가 부팅할 때마다 Setup, Deploy 라이프사이클 이벤트에 의해 업데이트되어 최신 버전으로어플리케이션을 구동
![Page 72: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/72.jpg)
배포한 App 의 rollback
• 1회 이전의 버전의 App 으로도 rollback 이 가능– 예:App의 업데이트를 3회 수행한 경우, 한번 롤백하면 두번째 버전으로, 두번롤백하면 첫번째 버전으로 롤백
• OpsWorks는 기본적으로 5가지 버전의 App 을 보유– 보유하고 있는 버전 수를 넘어 롤백을 시도하면 실패하게되고, 가장 오래된버전으로 적용된다.
– [:opsworks][:deploy_keep_releases]을 변경하여 전체 스택에서 유지할버전의 수를 변경 가능
– 개별 App 버전의 보유 수를 변경하려면[:deploy][‘appshortname’][:keep_releases]를 변경
![Page 73: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/73.jpg)
CloudWatch를통한모니터링
• OpsWorks는 CloudWatch를 사용하여 다음의 메트릭을 1분 단위로모니터링
• 14개 메트릭 (무료 제공)– CPU(5)
• Idle / User CPU / System CPU / IO Wait / nice(Unix)
– 메모리• 메모리 합계 / 사용중인 메모리 / swap / free / 메모리 버퍼
– 부하 (3)• 1분 / 5분 / 15분 단위 평균 부하
– 프로세스(1)• 프로세스의 수
• 인스턴스의 OS 레벨에서 얻을 수 있는 정보는 OpsWorks 에이전트가수집하여 CloudWatch 서비스로 전송하여 얻어진다.
– 이를 통해 메모리, 프로세스 같은 표준 CloudWatch 모니터링에선 얻을 수 없는데이터도 확인할 수 있다.
![Page 74: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/74.jpg)
CloudWatch를사용한 OpsWorks모니터링
각레이어별모니터링 인스턴스모니터링
![Page 75: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/75.jpg)
데이터기반아키텍처
![Page 76: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/76.jpg)
METRICS @ETSY
![Page 77: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/77.jpg)
모니터링옵션
CloudWatch
… and many more
![Page 78: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/78.jpg)
CONTINUOUS DEPLOYMENT
(배포의연속)
=
CONTINUOUS EXPERIMENTATION
(실험의연속)
![Page 79: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/79.jpg)
CONTINUOUS DEPLOYMENT
(배포의연속)
=
CONTINUOUS IMPROVEMENT
(개선의연속)
![Page 80: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/80.jpg)
INNOVATE
![Page 81: AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석](https://reader030.vdocuments.site/reader030/viewer/2022020307/55a5cc111a28ab5c4e8b4830/html5/thumbnails/81.jpg)
SAN FRANCISCO