플레이어 게이트웨이 작동 방식 - Amazon GameLift Servers

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

플레이어 게이트웨이 작동 방식

플레이어 게이트웨이는 릴레이 네트워크를 사용하여 게임 클라이언트와 게임 서버 간에 UDP 트래픽을 라우팅합니다. 이렇게 하면 게임 서버에 도달하기 전에 트래픽을 검증하고, 플레이어 트래픽을 제한하고, 게임 서버 IP 주소를 퍼블릭에서 숨기고, 릴레이 엔드포인트가 비정상이 될 때 업데이트된 엔드포인트를 제공하여 DDoS 공격으로부터 보호됩니다.

트래픽 흐름

플레이어가 게임 세션에 연결되면 게임 백엔드는 GetPlayerConnectionDetails API에서 릴레이 엔드포인트와 플레이어 게이트웨이 토큰을 검색하여 게임 클라이언트로 전송합니다. 게임 클라이언트는 플레이어 게이트웨이 토큰을 UDP 패킷에 프리펜딩하고 패킷을 릴레이 엔드포인트로 전송합니다. 릴레이 네트워크는 토큰을 검증하고 합법적인 트래픽을 게임 서버로 라우팅합니다. 전송 전에 릴레이 네트워크는 플레이어 게이트웨이 토큰을 제거하여 게임 서버가 원시 게임 클라이언트 페이로드를 수신하고 코드 변경이 필요하지 않도록 합니다. 게임 서버에서 게임 클라이언트로의 통신은 수정 없이 릴레이 네트워크를 통해 반환됩니다.

릴레이 네트워크를 통해 게임 서버에 연결하는 게임 클라이언트를 보여주는 아키텍처 다이어그램

핵심 개념

릴레이 엔드포인트

릴레이 엔드포인트는 게임 클라이언트가 플레이어 게이트웨이를 통해 트래픽을 전송하는 데 사용하는 IP 주소 및 포트 조합입니다. 각 플레이어는 서로 다른 여러 엔드포인트를 수신하여 트래픽을 분산하고 동일한 게임 세션에서 다른 플레이어에 대한 공격의 영향을 줄입니다.

동일한 게임 세션에 대해 서로 다른 릴레이 엔드포인트를 수신하는 여러 플레이어를 보여주는 다이어그램

플레이어 게이트웨이 토큰

플레이어 게이트웨이 토큰은 플레이어가 플레이어 게이트웨이를 통해 게임 세션으로 트래픽을 전송하도록 승인하는 암호화된 바이트 배열입니다. GetPlayerConnectionDetails API는 토큰을 base64로 인코딩된 문자열로 반환합니다. 게임 클라이언트는 플레이어 게이트웨이 토큰 앞에 모든 UDP 패킷을 추가해야 합니다. 릴레이 네트워크는 토큰을 검증하고 유효하지 않거나 누락된 토큰이 있는 패킷을 거부합니다.

중요

플레이어 게이트웨이 토큰은 암호화해서는 안 되며 게임 클라이언트가 전송한 각 UDP 패킷의 시작 부분에 나타나야 합니다. 게임이 페이로드를 암호화하는 경우 게임 데이터를 암호화한 후 수정되지 않은 플레이어 게이트웨이 토큰 앞에 추가합니다.

플레이어 게이트웨이 토큰은 최소 3분 동안 유효합니다. 릴레이 엔드포인트가 비정상이 될 때 플레이어가 업데이트된 엔드포인트를 수신하도록 60초마다 토큰을 새로 고치는 것이 좋습니다.

GetPlayerConnectionDetails API

게임 백엔드는 GetPlayerConnectionDetails API를 호출하여 게임 세션의 플레이어에 대한 연결 세부 정보를 검색합니다. API는 릴레이 엔드포인트와 플레이어 게이트웨이 토큰을 반환하거나 직접 연결을 위해 게임 서버의 IP 주소 및 포트로 돌아갑니다. 게임 클라이언트는 두 연결 유형을 모두 처리하도록 설계되어야 합니다. 릴레이 엔드포인트가 비정상이 될 때 업데이트된 엔드포인트를 수신하려면 게임 세션 전체에서 주기적으로이 API를 호출합니다(60초마다 권장).

자세한 내용은 GetPlayerConnectionDetails API 단원을 참조하십시오.

플레이어 게이트웨이 모니터링

플레이어 게이트웨이는 Amazon CloudWatch에 지표를 게시하여 네트워크 트래픽 패턴을 모니터링하고, 잠재적 DDoS 공격을 식별하고, 릴레이 성능을 추적하는 데 도움이 됩니다. 지표에는 패킷 및 바이트 입/출력, 제한된 트래픽 및 플레이어 세션이 포함됩니다. 플레이어 게이트웨이 지표의 전체 목록은 섹션을 참조하세요DDoS 보호(플레이어 게이트웨이) 지표.

IPv4 및 IPv6 호환성

게임 클라이언트는 IPv4를 사용하여 통신합니다. 플레이어 게이트웨이는 IPv6를 사용하여 게임 서버와 통신합니다.는 플릿 구성에 따라 IPv4와 IPv6 간의 변환을 Amazon GameLift Servers 자동으로 처리합니다.

플릿에서 플레이어 게이트웨이를 구성하는 방법에 대한 자세한 내용은 CreateFleet 또는 CreateContainerFleet을 참조하세요. IPv4 및 IPv6 지원에 대한 자세한 내용은 섹션을 참조하세요IPv4 및 IPv6 호환성.