View a markdown version of this page

GAMEPERF02-BP02 플레이어와 가까운 곳에 지연 시간에 민감한 게임 인프라를 배치하여 성능을 개선하도록 지원하는 접근 방식 설계 - 게임 산업 렌즈

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

GAMEPERF02-BP02 플레이어와 가까운 곳에 지연 시간에 민감한 게임 인프라를 배치하여 성능을 개선하도록 지원하는 접근 방식 설계

게임 서버와 같은 지연 시간에 민감한 인프라를 별도로 배치하면 긴 네트워크 경로의 영향을 최소화할 수 있습니다. 반복 가능한 배포를 통해 플레이어에게 더 나은 성능을 제공하는 여러 위치를 간단하게 유지할 수 있습니다. Ping은 게임 UI에 표시되는 일반적인 지표이며 낮은 ping은 차별화 기능일 수 있습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음

구현 지침

게임을 처음 시작할 때 플레이어 기반에 대한 정보가 충분하지 않아 게임 플레이에 가장 관심이 있는 플레이어와 가장 가까운 인프라를 배포할 수 있는 위치를 적절하게 알 수 없습니다. 이는 일반적인 과제이므로 플레이어에게 더 가까운 위치에 서버를 배포하도록 호스팅 배치 전략을 신속하게 조정할 수 있는 아키텍처를 설계하여이 시나리오에 대비해야 합니다. 게임 개발자는 반복적 접근 방식을 통해 시간이 지남에 따라 개선에 점진적으로 투자하기 위한 반복적인 출시 후 분석으로 게임 인프라 배포를 정기적으로 평가하는 것이 일반적입니다.

가장 좋은 방법은 또는 Hashicorp의 AWS CloudFormation Terraform과 같은 infrastructure-as-code 템플릿을 사용하여 중요한 게임 서비스를 시작하는 데 필요한 VPCs, 서브넷 구성 및 종속성과 같은 인프라를 구성하여 이러한 템플릿을 참조하고, 필요한 경우 신속하게 사용자 지정하고, 플레이어를 지원하기 위해 추가 인프라가 필요한 위치에 배포할 수 있도록 하는 것입니다.

또한 향후 확장을 위해 현재 배포 전략을 어떻게 발전시킬 수 있는지 이해해야 합니다. IaC 템플릿은 반복 가능하지만 네트워크 계획을 대체하지는 않습니다. IPAM은 VPCs 관리합니다. 서브넷 크기 조정, 가용 영역 선택, IP 인벤토리 및 교차 계정 가용 영역 정렬. 네트워크는 고려해야 할 중요하며 변경될 경우 플레이어에게 방해가 될 수 있습니다. 여러 지리적 위치에 배포된 게임 서버는 게임 백엔드에 연결되며, 프라이빗 연결을 지원하기 위해 추가 구성이 필요할 수 있는 단일 또는 여러 홈 리전에서 호스팅하는 것이 더 일반적입니다. 게임 요구 사항이 진화하거나 플레이어 요구 사항이 변경될 때 게임 호스팅 전략을 변경할 수 있도록 시간이 지남에 따라 이러한 고려 사항을 지속적으로 평가해야 합니다.

게임에 사용할 게임 호스팅 위치 수를 결정할 때는 다음 요소를 고려하세요.

  • 플레이어 경험 개선의 품질: 게임 호스팅 위치를 추가하여 플레이어 경험을 얼마나 개선할 수 있나요? 이렇게 하면 얻을 수 있는 점진적인 성능 향상은 무엇입니까? 이 성능 개선을 어떻게 측정하시겠습니까?

  • 우선 순위가 지정된 플레이어 모집단: 게임 호스팅 위치를 추가할 경우 경험을 개선할 수 있는 플레이어는 몇 명입니까? 어떤 플레이어 집단 또는 지리적 위치를 우선시하시겠습니까?

  • 변화의 다운스트림 영향: 게임 호스팅 전략을 변경하면 플레이어의 매치메이킹 대기 시간에 어떤 영향을 미치나요? 플레이어 풀의 매치 크기, 스킬 밸런스 또는 플레이어 수가 게임 호스팅 위치 전략 변경을 수용할 수 있나요? 더 많은 위치를 지원하면 잠재적으로 플레이어 풀이 조각화되어 비용과 복잡성이 증가할 수 있습니다.

이러한 각 고려 사항은 게임 호스팅 위치를 추가하거나 제거하는 위치를 결정할 때 평가해야 합니다. 예를 들어 성능이 가장 낮은 게임 플레이 경험이 있는 지리적 위치의 플레이어 또는 가장 음성적인 공개 피드백을 표현하는 플레이어의 경험을 개선하는 데 우선순위를 두도록 선택할 수 있습니다. 플레이어 수익 창출을 우선순위에 반영하도록 선택할 수도 있습니다. 예를 들어, 게임에 상당한 수익원을 창출하거나 성능 개선을 도입할 경우 증분 수익을 창출할 가능성이 있는 지리적 위치에 있는 플레이어의 경험을 개선하는 데 집중할 수 있습니다.

에서 인프라를 호스팅하는 것 외에도 AWS 리전의 확장인 로컬 영역을 사용하여 게임 서버와 플레이어 AWS 리전와 더 가까운 음성 채팅 서버와 같은 기타 지연 시간에 민감한 애플리케이션을 호스팅할 수 있습니다. 또한 로컬 영역에서 게임 개발 인프라를 실행하여 게임 개발 팀의 경험을 개선하도록 선택할 수도 있습니다. 예를 들어 로컬 영역을 사용하여 게임 개발자에게 더 가까운 자체 관리형 소스 제어 서버의 복제본 호스팅과 같은 사용 사례를 해결하고, 온프레미스에서 인프라를 호스팅할 필요 없이 개발 스튜디오 근처의 하나 이상의 로컬 영역에 배포된 Amazon EC2 인스턴스, EBS 볼륨 및 Amazon FSx 파일 시스템을 사용하여 사용자에게 게임 개발 가상 워크스테이션 및 콘텐츠 스토리지를 제공할 수 있습니다.

동일한 지리적 영역에서 리전 또는 로컬 영역을 사용할 수 없는 경우 Outpost를 선택하는 것이 좋습니다. 게임 서버가 시스템 신뢰성을 백엔드할 수 있도록 데이터 센터에서 로의 연결을 고려해야 AWS 합니다. AWS Outposts Outpost 서버는 게임을 실행할 때마다 일관된 배포 모델을 생성하는 데 도움이 되도록 동일한 서비스 및 APIs를 사용하여 AWS 데이터 센터에서 실행되도록 특별히 설계되었습니다. 여러 랙을 논리적 Outpost로 결합할 수 있으며 인프라를 공유할 수 있습니다 AWS 계정. 하드웨어 수명 주기는에서 관리 AWS 하며 리드 타임은 3개월로 짧을 수 있습니다.

컨테이너를 사용하여 게임을 구축하고 자체 온프레미스 인프라에 배포할 수 있는 오픈 소스 소프트웨어를 사용하여 하이브리드 배포 아키텍처를 유연하게 채택하려는 경우 또는 AWS Outposts 로컬 영역의 대안으로 ECS Anywhere 또는 EKS Anywhere를 사용할 수 있습니다. Amazon GameLift로 호스팅하는 경우 Amazon GameLift Anywhere를 사용하여 개발 프로세스의 속도를 높일 수 있는 로컬 하드웨어에서 서버 빌드를 실행할 수 있으므로 로컬 영역을 사용하거나 자체 금속을 플릿의 일부로 등록할 수 있습니다.

구현 단계

  • 반복 가능한 배포를 위해 AWS CloudFormation 또는 Terraform과 같은 infrastructure-as-code 도구를 사용하면 플레이어 요구 사항에 따라 게임 호스팅 위치를 빠르게 사용자 지정하고 확장할 수 있습니다.

  • 플레이어 경험 개선 사항, 플레이어 인구 우선 순위, 게임 호스팅 위치를 추가하거나 제거할 때 매치메이킹 시간과 같은 다운스트림 영향을 평가합니다.

  • AWS Local Zones, Outposts 또는 ECS Anywhere, EKS Anywhere 또는 GameLift Anywhere와 같은 하이브리드 옵션을 사용하여 지연 시간에 민감한 인프라를 최적화하고 다양한 배포 요구 사항을 지원합니다.