기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GAMEREL01-BP01 여러 가용 영역 및 리전에 게임 인프라를 배포하여 복원력 향상
현지화된 인프라 장애가 플레이어에게 미치는 영향을 최소화하려면 예상치 못한 장애를 견딜 수 있을 만큼 충분한 독립 위치에 인프라 배포를 균일하게 배포하는 동시에 플레이어 수요의 요구 사항을 충족할 수 있는 충분한 용량을 확보해야 합니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음
구현 지침
게임 인프라를 배포할 때는 플레이어 경험을 방해하지 않고 하나 이상의 가용 영역에 대한 중단을 견딜 수 있도록 리전의 여러 가용 영역에 용량을 균일하게 분산하는 것이 좋습니다. 웹 애플리케이션과 같은 게임 백엔드 서비스는 여러 가용 영역에서 로드 밸런싱하거나 설계상 리전 고가용성을 제공하는 AWS Lambda 및 Amazon API Gateway와 같은 관리형 서비스를 사용하여 구축해야 합니다. 마찬가지로 캐시, 데이터베이스, 메시지 대기열 및 스토리지 솔루션과 같은 상태를 유지하는 구성 요소는 Amazon S3, DynamoDB 및 Amazon SQS와 같은 서비스에서 설계로 제공되며 다른 서비스에서 구성할 수 있는 여러 가용 영역에서 데이터의 지속적인 지속성을 제공하도록 설계되어야 합니다. DynamoDB
복원력을 위해 게임 서버 호스팅 아키텍처를 설계할 때 내 가용 영역에 게임 서버 플릿을 균일하게 배포 AWS 리전 하여 리전에서 사용 가능한 컴퓨팅 용량에 대한 액세스를 극대화하고 가용 영역 장애의 영향 범위를 줄입니다. 예를 들어 가용 영역을 사용하도록 Amazon EC2 Auto Scaling을 구성할 수 있습니다. EC2 인스턴스가 비정상이 되면 EC2 Auto Scaling은 인스턴스를 교체하고 하나 이상의 가용 영역을 사용할 수 없게 되면 다른 가용 영역으로 인스턴스를 시작할 수 있습니다.
인증과 같은 중요한 인프라의 경우 여러 가용 영역에서 실행되는 최소 수의 실행 가능한 인스턴스를 프로비저닝하고 가용 영역 중 하나에 장애가 있는 경우 Auto Scaling을 사용하여 부하 증가 또는 내결함성을 처리합니다.
게임 인프라를 여러 리전에 배포하여 가용성을 극대화합니다. 보조 리전에 배포된 간단한 DNS 변경으로 활성화될 수 있는 Aurora 글로벌 데이터베이스 및 중복 인프라와 같은 리전 간 재해 복구 기능은 기본 리전이 손상된 경우 서비스 연속성을 제공할 수 있습니다. 게임 백엔드 서비스가 고가용성을 달성하도록 권장하지만이 권장 사항은 게임 서버에 특히 중요합니다.
예를 들어 멀티플레이어 게임에서는 게임 서버가 플레이어를 위한 게임 세션을 호스팅하는 데 사용되므로 게임 서버의 인프라 용량이 다른 서비스의 용량 요구보다 클 가능성이 높습니다. 많은 게임은 플레이어를 논리적 게임 리전(예: 미국 서부 및 동부)으로 샤딩하도록 선택합니다. 플레이어 경험을 간소화하고 글로벌 인프라를 사용하여 게임을 호스팅하는 작업을 간단하게 수행하려면 게임 서버를 물리적으로 호스팅하는 기본 클라우드 공급자 리전 또는 데이터 센터 위치와 해당 플레이어 게임 리전을 지원하는 게임 서버 인스턴스를 호스팅하는 로컬 영역 또는 자체 데이터 센터와 같은 다른 인프라의 연결을 해제하는 것이 좋습니다.
매치메이킹 서비스를 설계할 때 리전 간에 별도의 소프트웨어 배포를 사용하여 다중 리전 아키텍처를 배포합니다. 매치메이킹 서비스의 리전별 배포가 매치메이킹 요청을 처리했는지에 관계없이 플레이어를 리전의 게임 서버로 라우팅할 수 있도록 게임 서버 인스턴스를 호스팅하는 플릿에서 매치메이킹 서비스 배포를 분리합니다.
매치메이킹 구현에서 지연 시간 및 기타 규칙을 충족하는 게임 서버 리전을 선호하도록 로직을 설계하고, 플릿 용량이 부족하거나 다른 리전 인프라 중단이 있는 경우 플레이어를 다른 리전으로 폴백할 수 있습니다.
구현 단계
-
여러 가용 영역에 게임 인프라를 균일하게 분산하여 고가용성과 복원력을 제공합니다.
-
Amazon S3 AWS Lambda, DynamoDB 및 SQS와 같은 관리형를 사용하여 게임 백엔드 서비스 및 상태 저장 구성 요소를 배포하거나 사용자 지정 솔루션을 위한 로드 밸런싱 및 내구성을 구성합니다.
-
Aurora 글로벌 데이터베이스 및 기본 물리적 위치와 분리된 논리적 플레이어 대상 리전과 같은 재해 복구 솔루션을 사용하여 중요한 게임 서비스 및 서버에 대한 다중 리전 배포를 구현합니다.