방법 GameLift 작동합니다 - 아마존 GameLift

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

방법 GameLift 작동합니다

이 주제에서는 에 대한 일반적인 개요를 제공합니다. GameLift 관리형 호스팅 솔루션. 게임 호스팅의 핵심 구성 요소를 다루고 그 방법을 설명합니다. GameLift 는 플레이어가 멀티플레이어 게임 서버를 사용할 수 있도록 합니다. 알아볼 내용 GameLift 관리형 호스팅의 경우 이 주제 및 다음 관련 주제부터 시작하십시오.

에서 게임을 호스팅할 준비가 되었습니다. GameLift? Check outAmazon 시작하기GameLift .

핵심 구성 요소

설정 GameLift 게임을 호스팅하려면 다음 구성 요소가 필요합니다. 다이어그램관리형 를 사용한 게임 아키텍처 GameLift 는 이러한 구성 요소 간의 관계를 시각화합니다.

  • 게임 서버는 클라우드에서 실행되는 게임의 서버 소프트웨어입니다. 당신이 업로드한게임 서버 빌드(또는스크립트운영Realtime 서버) 를 다음으로 GameLift 서비스 및 정보 GameLift 게임 세션에 사용할 수 있는 게임 서버의 수입니다.

  • A게임 세션은 (는) 플레이어와 함께 진행 중인 게임입니다. 수명 및 플레이어 수와 같은 게임 세션의 기본 특성을 정의합니다. 플레이어는 게임 세션에 조인하기 위해 게임 세션

  • GameLift 서비스는 게임 서버를 호스팅하기 위한 컴퓨팅 리소스를 관리하고 플레이어가 게임에 연결할 수 있도록 해줍니다. 게임을 호스팅하는 데 필요한 리소스를 규제하고, 새로운 게임 세션을 호스팅하기 위해 사용 가능한 게임 서버를 찾고, 플레이어를 게임에 참여시킵니다. 또한 이 서비스는 호스팅 활동 및 서버 상태에 대한 지표를 수집합니다.

  • 게임 클라이언트는 플레이어의 디바이스에서 실행되는 게임 소프트웨어입니다. 플레이어는 게임 클라이언트를 사용하여 사용 가능한 게임 세션에 대한 정보를 얻고 게임 참여를 요청할 수 있습니다. 게임 클라이언트는 백엔드 서비스를 통해 게임 서버에 연결하여 게임 세션에 참여합니다. GameLift 서비스.

  • 백엔드 서비스다음과 관련된 작업을 처리하는 추가 사용자 지정 서비스입니다. GameLift. 모범 사례로, 백엔드 서비스는 GameLift 서비스. 백엔드 서비스를 사용하여 보안 및 효율성을 향상시킵니다.

게임 서버

업로드한 게임 서버는 다음 위치에서 호스팅됩니다. GameLift 가상 컴퓨팅 리소스,사례. 다음을 생성하여 호스팅 리소스를 설정합니다.함대인스턴스를 확보하고 게임 서버를 실행하도록 설정할 수 있습니다. 게임의 요구 사항에 맞게 플릿을 설계할 수 있습니다.

플릿 아키텍처

핵심 요구 사항에 적합한 플릿을 빌드합니다.

  • 게임에서 필요한 리소스 유형은 무엇입니까? – GameLift 는 다양한 운영 체제 및 인스턴스 유형을 지원합니다. 인스턴스 유형은 처리 능력, 메모리 및 네트워킹 용량을 포함하여 컴퓨팅 하드웨어의 특정 구성입니다. 사용하는 인스턴스 유형, 위치 및 인스턴스 볼륨에 따라 호스팅 비용이 결정됩니다. 게임의 요구 사항에 따라 많은 스물 인스턴스 또는 적지만 보다 강력한 인스턴스를 사용할 수 있습니다. 컴퓨팅 리소스 선택 방법에 대해 자세히 알아보십시오.

  • 어디에 게임 서버를 실행하시겠습니까? — 플릿을 설정하여 게임에 조인하기 위해 대기 중인 곳이면 어디에서나 인스턴스를 배포합니다. 인스턴스를 일부 또는 전체에 배포하는 다중 위치 플릿을 구축할 수 있습니다.AWS위치 GameLift 는 의. 에 대한 자세한 내용은사용 GameLift 에서AWS지역.

  • 게임 서버 안정성이 얼마나 심각합니까? — 플릿은 스팟 인스턴스 또는 온디맨드 인스턴스를 사용합니다. 스팟 인스턴스는 온디맨드 인스턴스보다 비용이 적게 들지만, 게임 세션 동안 중단될 수 있습니다. GameLift 에는 게임 세션 중단이 거의 발생하지 않도록 만드는 추가 보안 조치가 있으므로, 대부분의 게임에는 스팟 인스턴스가 있는 플릿이 적합합니다. 온디맨드 인스턴스는 일관된 가용성을 제공하지만 더 많은 비용이 들 수 있습니다. 이는 게임 세션이 중단될 경우 플레이어가 강한 영향을 받는 게임에 적합한 옵션입니다. 온디맨드 인스턴스 및 스팟 인스턴스 섹션에 대해 자세히 알아봅니다.

  • 얼마나 많은 플레이어를 지원해야 합니까? — 플릿에는 각각 여러 게임 세션을 동시에 호스팅할 수 있는 많은 인스턴스가 있을 수 있습니다. 필요에 따라 인스턴스를 플릿에 추가하거나 플릿에 제거할 수 있고, Auto Scaling을 사용하여 플레이어 수요 변화에 따라 자동으로 조정할 수 있습니다. 플릿 용량 조정 섹션에 대해 자세히 알아봅니다.

서버 런타임 구성

플릿 인스턴스는 여러 프로세스를 동시에 실행할 수 있고, 게임 서버 빌드에서 모든 실행 파일을 실행할 수 있습니다. 각 인스턴스가 어떤 프로세스를 실행해야 하는지 결정하기 위해 런타임 구성을 생성합니다. 구성에서는 실행할 실행 파일, 동시에 실행할 각 실행 파일의 프로세스 수 및 각 실행 파일을 시작할 때 사용할 시작 파라미터를 지정합니다. 인스턴스가 동시에 실행할 수 있는 프로세스 수는 인스턴스의 컴퓨팅 파워(인스턴스 유형)와 게임 서버 빌드의 요구 사항에 따라 달라집니다. 플릿에서 여러 프로세스 실행에 대해 자세히 알아보십시오.

런타임 구성은 또한 방법에 영향을 줄 수 있습니다. GameLift 인스턴스에서 새 게임 세션을 시작합니다. 일부 게임은 스타트업 단계 동안 많은 리소스가 필요하므로 한 번에 새로운 게임 세션을 활성화하는 데 사용되는 인스턴스 리소스를 제한하는 것이 좋은 방법일 수 있습니다. 인스턴스당 최대 동시 게임 세션 활성화 수를 지정할 수 있습니다. 또한 활성화되지 못한 게임 세션을 신속하게 감지하고 종료하기 위해 각 게임 세션 활성화에 대한 시간을 제한할 수 있습니다.

서버 보안

플릿에 대해 PKI 리소스 생성을 활성화합니다. 이 기능이 활성화되면 GameLift는 플릿용 TLS 인증서를 생성하고 플릿의 각 인스턴스에 대한 DNS 항목을 만듭니다. 이러한 리소스가 있으면 게임은 클라이언트 및 서버 연결을 인증하고 모든 게임 클라이언트/서버 통신을 암호화할 수 있습니다. 이 기능은 모바일 멀티플레이어 게임을 배포할 때 특히 유용합니다.AWS Certificate Manager ACM) 는 이러한 서비스를 추가 비용 없이 제공합니다.

플릿 별칭

원래 요청 ping에 대한별명는 플릿 간에 전송할 수 있는 명칭으로, 이를 사용하면 일반적인 플릿 위치를 편리하게 이용할 수 있습니다. 별칭을 사용하면 게임 클라이언트를 변경하지 않고도 게임 클라이언트에서 사용하는 플릿을 전환할 수 있습니다. 또한 터미널 별칭을 만들어 서버에 연결하는 대신 콘텐츠 (예: URL) 를 가리킬 수 있습니다. 이 기능은 예를 들어 플레이어에게 클라이언트를 업그레이드하라는 메시지를 표시하는 데 유용할 수 있습니다.

게임 세션

플릿에 게임 서버 코드를 배포한 후 GameLift 가 각 인스턴스에서 게임 서버 프로세스를 호스팅할 준비가 완료된 경우 플릿이 게임 세션을 호스팅할 준비가 완료된 것입니다. GameLift 게임 클라이언트 서비스가 백엔드 서비스에 배치 요청을 보낼 때 새 게임 세션을 시작합니다. GameLift 서비스.

게임 세션 배치 및 FleetIQ

게임 세션 배치는 새 게임 세션을 호스팅할 게임 서버를 선택하는 작업을 처리합니다. 게임 세션 배치의 핵심 구성 요소는 GameLift 게임 세션 대기열.

게임 세션 대기열에 플릿 목록을 할당하여 대기열이 게임 세션을 배치할 수 있는 위치를 결정합니다. 모범 사례로서, 대기열의 플릿은 플릿 유형 (스팟 또는 온디맨드), 위치 및 인스턴스 유형이 다릅니다. 이러한 다양성으로 인해 대기열은 플레이어에게 가장 적합한 위치에 배치 할 수있는 유연성을 제공합니다. 스팟 인스턴스로 대기열을 구성하여 스팟 인스턴스 중단이 게임 세션에 미치는 영향을 최소화할 수 있습니다. 에서 게임 세션 대기열 및 게임에 맞게 디자인하는 방법에 대해 자세히 알아보십시오.게임 세션 대기열 설계.

게임 세션 대기열을 생성하여 게임의 플레이어 풀을 지원합니다. 플레이어 풀은 같은 게임 세션에서 함께 플레이할 수 있는 사람들의 그룹입니다. 예를 들어 다른 언어를 사용하거나 다른 게임 버전을 사용하는 사람들을 위해 다른 플레이어 풀이 있을 수 있습니다.

대기열은 FleetIQ라는 특수 알고리즘을 사용하여 각 게임 세션 요청에 대해 가능한 최상의 배치를 찾습니다. FleetIQ 알고리즘은 낮은 플레이어 지연 시간, 호스팅 비용, 지리적 위치 또는 기타 플릿 특성을 기반으로 사용 가능한 게임 서버를 검색하는 우선 순위를 지정합니다. FleetIQ에 대한 자세한 내용은 를 참조하십시오.방법 GameLift 대기열 작동.

참고

GameLift 에서는 게임 세션을 수동으로 찾아 배치할 수 있는 옵션을 제공합니다. 이는 사용자 지정 게임 세션 배치 메커니즘을 빌드하려는 경우 유용한 옵션입니다. 그러나 이 접근 방식은 FleetIQ에서 제공하는 배치 최적화를 우회합니다. FlexMatch 매치 메이킹 또는 스팟 플릿에는 게임 세션 대기열이 필요합니다.

플레이어와 게임 연결

게임 세션 배치 프로세스의 일부로, 대기열은 선택된 게임 서버에 새로운 게임 세션을 시작하라는 메시지를 표시합니다. 게임 서버는 GameLift 서버 SDK는 프롬프트에 응답하고 GameLift 플레이어 연결을 수락할 준비가 되면 서비스를 제공합니다. 이 GameLift 그런 다음 서비스가 IP 주소 또는 DNS 이름 및 포트의 형식으로 연결 정보를 백엔드 서비스 또는 게임 클라이언트 서비스에 제공합니다. 게임 클라이언트는 이 정보를 사용하여 게임 세션에 직접 연결하고 게임 플레이를 시작합니다.

TLS 인증서를 사용하여 플릿을 생성한 경우 게임 클라이언트 및 서버는 이 인증서를 사용하여 보안 연결을 설정할 수 있습니다.

필요에 따라 게임 서버를 설정하여 수신 플레이어를 확인합니다. GameLift서비스를 제공하고 정기적으로 플레이어 연결 상태를보고합니다. 이러한 옵션을 사용하면 도움이 될 수 있습니다. GameLift 게임 세션 사용량을 추적합니다.

플릿 용량 조정

플릿이 활성화되고 게임 세션을 호스팅할 준비가 되면 플레이어 요구에 맞게 플릿 용량을 조정할 수 있습니다. 사용하는 용량을 기반으로 호스팅 비용이 결정되므로, 들어오는 모든 플레이어가 게임을 찾을 수 있도록 보장하는 것과 유휴 상태로 남아 있는 리소스에 과도한 비용을 지출하는 것 사이에 균형을 찾아야 합니다.

플릿에 있는 인스턴스 수를 조정하여 플릿의 규모를 조정합니다. 인스턴스를 확장하면 게임 세션과 플레이어의 가용성을 늘리거나 줄일 수 있습니다. 인스턴스가 여러 위치에 있는 플릿의 경우 전체 플릿이 아닌 위치별로 용량을 조정합니다.

GameLift 는 매우 효과적인 Auto Scaling 도구를 제공하거나 플릿 용량을 수동으로 설정하도록 선택할 수 있습니다. 자세한 정보는 확장 GameLift 호스팅 용량을 참조하십시오.

Auto Scaling

auto 스케일링이 활성화된 상태에서 GameLift 는 플릿의 호스팅 지표를 추적하고 사용자가 정의하는 지침 세트를 기반으로 인스턴스를 언제 추가하거나 제거할지를 결정합니다. GameLift는 플레이어 수요의 변화에 대응하여 용량을 직접 조정할 수 있습니다. auto Scaling을 사용하여 비용 효율성을 향상시키는 방법에 대한 자세한 내용은아마존 GameLift 요금. 다중 위치 집합의 경우 Auto Scaling 정책이 전체 플릿에 적용되지만 각 위치에 대해 켜거나 끌 수 있는 옵션이 있습니다.

다음 두 가지 auto Scaling 방법을 제공합니다.

  • 대상 기반— 타겟 기반 스케일링 (“타겟 추적”이라고도 함) 은 메트릭을 사용합니다.PercentAvailableGameSessions현재 게임 세션을 호스팅하지 않는 서버 프로세스의 비율입니다. 사용 가능한 게임 세션은 버퍼, 다시 말해서 최소한의 대기 시간으로 게임에 참가할 수 있는 새로운 게임 세션 및 새로운 플레이어 수를 나타냅니다. 대상 기반 조정을 통해 게임에 적합한 버퍼 크기를 선택합니다. 자세한 정보는 대상 기반 auto-scaling을 참조하십시오.

  • 규칙 기반— 이 방법을 선택하면 조정 작업을 세밀하게 제어할 수 있습니다. 각 규칙 기반 조정 정책은 조정 이벤트를 언제 시작하고 그에 대응하여 어떤 조치를 취해야 하는지를 지정합니다. 예를 들어 정책에서 다음과 같이 명시할 수 있습니다. “연속 10분 동안 유휴 인스턴스가 20개 미만으로 감소하면 용량을 10% 늘린다.” 자세한 정보는 규칙 기반 정책을 사용한 Auto Scale을 참조하십시오.

실제 용량 확장

조정 이벤트는 플릿 또는 위치의 원하는 인스턴스 수가 활성 인스턴스 수와 일치하지 않을 때 발생합니다. 이로 인해 GameLift 을 눌러 필요에 따라 인스턴스를 추가하거나 제거하여 활성 인스턴스 수를 원하는 인스턴스 수에 맞추기

  • 원하는 인스턴스 수가 활성 인스턴스 수를 초과하면 GameLift는 추가 인스턴스를 요청합니다. 이러한 원하는 인스턴스를 사용할 수 있게 되면 GameLift 가 새 인스턴스에 개임 서버 빌드를 설치하고 게임 서버 프로세스를 시작하는 프로세스를 시작하는 프로세스를 시작합니다. GameLift 활성 인스턴스와 원하는 개수 값이 같아질 때까지 인스턴스를 계속 추가합니다.

  • 활성 인스턴스 수가 원하는 인스턴스 수를 초과하면 GameLift에서 제거할 수 있는 인스턴스를 검색합니다. GameLift 는 게임 세션을 호스팅하지 않는 인스턴스 또는 게임 세션을 호스팅하는 경우에도 보호되지 않은 인스턴스를 종료할 수 있습니다. 다음의 경우, GameLift 는 인스턴스를 제거할 수 없습니다. 새로운 축소 이벤트는 다음 기간까지 계속 발생합니다. GameLift 는 인스턴스를 제거할 수 있습니다. GameLift 활성 및 원하는 인스턴스 수 값이 짝수가 될 때까지 인스턴스를 계속 제거합니다.

추가 조정 기능

플릿 용량 및 조정과 관련된 추가 기능:

  • 게임 세션 보호— 축소 이벤트 동안 활성 플레이어를 호스팅 한 게임 세션이 종료되는 것을 방지합니다. 플릿 차원의 게임 세션 보호 기능을 켜거나 개별 게임 세션에 대해 보호 기능을 켤 수 있습니다. 상태나 스팟 인스턴스 관련 중단으로 인해 종료되는 경우 보호된 게임 세션도 종료됩니다.

  • 조정 제한— 플릿의 최소 및 최대 인스턴스 수를 제한해 인스턴스 사용량을 제어합니다. auto Scaling 또는 용량을 수동으로 설정할 때 이러한 제한이 적용됩니다.

  • auto 크기— Auto Scaling 정책을 변경 또는 삭제하지 않은 상태에서 플릿 로케이션 수준에서 Auto Scaling 이 기능을 사용하여 필요에 따라 플릿을 임시 중지합니다.

  • 조정 수치— 플릿의 용량 및 조정 이벤트 기록을 추적합니다. 플릿 사용률 지표와 함께 용량을 확인해서 조정이 효과적인지 평가할 수 있습니다.

모니터링 GameLift

일단 함대를 가동하고 나면 GameLift 가 다양한 정보를 수집하여 이미 배포한 게임 서버의 성능을 모니터링하는 데 도움을 줍니다. 이 정보를 이용하여 리소스 사용을 최적화하고 문제를 해결하는 한편, 플레이어의 게임 플레이에 대한 통찰을 얻으십시오.

  • 플릿, 위치, 게임 세션 및 플레이어 세션 세부 정보— 이 데이터에는 상태 문제뿐만 아니라 게임 세션 길이 및 플레이어 연결 시간 등의 세부 정보를 식별하는 데 유용한 상태 정보가 포함됩니다.

  • 사용률 지표– GameLift 시간 경과에 따라 플릿 지표

    • 예: 네트워크 활동 및 CPU 사용률

    • 서버 프로세스의 경우: 활성 프로세스 수, 새로운 활성화 및 종료

    • 게임 및 플레이어의 경우: 활성 게임 세션 및 플레이어 세션 수

  • 서버 프로세스 상태 – GameLift는 정상 프로세스 수, 정상적인 활성 프로세스의 비율, 비정상 종료 횟수 등 집합에서 실행 중인 각 서버 프로세스의 상태를 추적합니다.

  • 게임 세션 로그— 게임 세션 데이터를 확보하고, GameLift 게임 세션 종료 시 가 이 데이터의 로그를 수집하고 저장하도록 설정합니다. 로그는 나중에 서비스에서 다운로드할 수 있습니다.

모니터링에 대한 자세한 내용은 GameLift참조Amazon GameLift 모니터링.

다른 사람 사용AWS자원

많은 경우 호스팅된 게임 서버 및 애플리케이션이 다른 게임 서버 및 애플리케이션과 통신할 수 있기를 원합니다.AWS있습니다. 예를 들어 플레이어 인증 또는 소셜 네트워킹 용도로 다양한 웹 서비스를 이용할 수 있습니다. Amazon을 사용하여 게임 서버를 배포하는 경우 GameLift, GameLift 플릿과 인스턴스를 소유하고 관리합니다. 결과적으로 게임 서버가 액세스해야 합니다.AWS리소스AWS 계정관리, 에 의한 액세스를 명시적으로 허용 GameLift 당신의 서비스AWS있습니다.

GameLift 에서는 이러한 유형의 액세스를 관리할 수 있는 다양한 옵션을 제공합니다. 다른 사람과 의사 소통AWS플릿 리소스 방법에 대해 자세히 알아보십시오.