Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
GAMEREL01-BP01 Distribuya la infraestructura del juego en varias zonas de disponibilidad y regiones para mejorar la resiliencia
Para minimizar el impacto de las deficiencias localizadas de la infraestructura en sus jugadores, debe distribuir el despliegue de la infraestructura de manera uniforme en suficientes ubicaciones independientes para poder soportar las deficiencias inesperadas y, al mismo tiempo, tener la capacidad suficiente para satisfacer las necesidades de los jugadores.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto
Guía para la implementación
Al implementar la infraestructura del juego, se recomienda distribuir la capacidad de manera uniforme entre varias zonas de disponibilidad de una región para poder soportar las interrupciones en una o más zonas de disponibilidad sin interrumpir la experiencia del jugador. Los servicios de backend de los juegos, como las aplicaciones web, deben tener una carga equilibrada en varias zonas de disponibilidad o crearse mediante servicios gestionados, como AWS Lambda Amazon API Gateway, que proporcionan una alta disponibilidad regional desde el punto de vista del diseño. Del mismo modo, los componentes que mantienen el estado, como las cachés, las bases de datos, las colas de mensajes y las soluciones de almacenamiento, deben diseñarse para proporcionar una persistencia duradera de los datos en varias zonas de disponibilidad, lo que se proporciona por diseño en servicios como Amazon S3, DynamoDB y Amazon SQS, y se puede configurar en otros servicios.
Al diseñar la arquitectura de alojamiento de su servidor de juegos para que sea resiliente, implemente sus flotas de servidores de juegos de manera uniforme en todas las zonas de disponibilidad dentro de un Región de AWS para maximizar su acceso a la capacidad informática disponible en la región y reducir el alcance del impacto de las deficiencias de las zonas de disponibilidad. Por ejemplo, puede configurar Amazon EC2 Auto Scaling para usar las zonas de disponibilidad. Si una instancia EC2 deja de funcionar, EC2 Auto Scaling puede reemplazarla y lanzar instancias en otras zonas de disponibilidad si una o más de las zonas de disponibilidad dejan de estar disponibles.
En el caso de infraestructuras críticas, como la autenticación, aprovisione un número mínimo de instancias viables que se ejecuten en varias zonas de disponibilidad y utilice el escalado automático para gestionar los aumentos de carga o la tolerancia a fallos en caso de que una de las zonas de disponibilidad se vea afectada.
Implementa tu infraestructura de juego en varias regiones para maximizar la disponibilidad. Cross-Regional Las funciones de recuperación ante desastres, como las bases de datos globales de Aurora y la infraestructura redundante, que puede activarse con un simple cambio de DNS e implementarla en una región secundaria, pueden proporcionar continuidad al servicio en caso de que la región principal se vea afectada. Si bien te recomendamos que hagas esto para que tus servicios de backend de juegos logren una alta disponibilidad, esta recomendación es especialmente importante para tus servidores de juegos.
Por ejemplo, en un juego multijugador, es probable que la capacidad de tu infraestructura para los servidores de juegos supere las necesidades de capacidad de tus otros servicios, ya que los servidores de juegos se utilizan para alojar sesiones de juego para los jugadores. Muchos juegos eligen dividir a los jugadores en regiones de juego lógicas (como el oeste y el este de EE. UU.). Para simplificar la experiencia del jugador y facilitar el uso de la infraestructura global para alojar partidas, considera la posibilidad de desvincular el nombre de las regiones de juego orientadas al jugador de la región del proveedor de la nube subyacente o la ubicación del centro de datos en el que se alojan físicamente los servidores del juego, junto con otras infraestructuras, como las zonas locales o tus propios centros de datos, que alojan instancias de servidores de juego compatibles con esa región de juego.
Al diseñar tu servicio de búsqueda de pareja, implementa una arquitectura multirregional con despliegues de software independientes en cada región. Separe el despliegue de su servicio de emparejamiento de las flotas que alojan las instancias de su servidor de juego para poder dirigir a los jugadores a un servidor de juego en las regiones, independientemente del despliegue regional de su servicio de emparejamiento que haya gestionado la solicitud de emparejamiento.
Diseña la lógica en tu implementación de emparejamiento para favorecer las regiones del servidor del juego que cumplan tus reglas de latencia y otras reglas, con la posibilidad de redirigir a los jugadores a otras regiones si tus flotas tienen poca capacidad o se producen otras interrupciones en la infraestructura regional.
Pasos para la implementación
-
Distribuye la infraestructura del juego de manera uniforme en varias zonas de disponibilidad para ofrecer una alta disponibilidad y resiliencia.
-
Implemente los servicios de backend de los juegos y los componentes con estado mediante sistemas gestionados como AWS Lambda Amazon S3, DynamoDB y SQS, o configure el equilibrio de carga y la durabilidad para soluciones personalizadas.
-
Implemente despliegues multirregionales para servidores y servicios de juegos críticos mediante soluciones de recuperación ante desastres, como las bases de datos globales de Aurora y las regiones lógicas orientadas al jugador, desconectadas de las ubicaciones físicas subyacentes.