Lógica de Amazon GameLift Servers FleetIQ
El siguiente diagrama ilustra el rol de Amazon GameLift Servers FleetIQ cuando está trabajando con Amazon EC2 para el alojamiento de juegos. Su objetivo principal es localizar el mejor servidor de juegos posible para alojar una sesión de juego y brindar a los jugadores una experiencia de juego óptima. Amazon GameLift Servers FleetIQ define los mejores recursos como aquellos que ofrecen la mayor viabilidad de alojamiento de juegos al menor costo. Amazon GameLift Servers FleetIQ aborda este objetivo de dos maneras clave: primero, permitiendo solo tipos de instancias viables en el grupo de Amazon EC2 Auto Scaling y, segundo, distribuyendo las nuevas sesiones de juego de manera efectiva entre los recursos disponibles del grupo.
Llenar grupo de Auto Scaling con tipos de instancia óptimos
El trabajo del grupo de Amazon EC2 Auto Scaling consiste en lanzar nuevas instancias y retirar instancias antiguas, manteniendo un conjunto de recursos de alojamiento y escalándolo para satisfacer la demanda de jugadores. Para ello, el grupo de Amazon EC2 Auto Scaling se basa en una lista de los tipos de instancias que desee. El trabajo de Amazon GameLift Servers FleetIQ consiste en comprobar continuamente la viabilidad de los tipos de instancias deseados y actualizar la lista del grupo de Amazon EC2 Auto Scaling. Este proceso se denomina equilibrio de instancias. Garantiza que las instancias del grupo de Amazon EC2 Auto Scaling se actualicen continuamente para que solo se utilicen en todo momento los tipos de instancias actualmente viables.
Amazon GameLift Servers FleetIQ determina la forma en que el grupo de Amazon EC2 Auto Scaling selecciona los tipos de instancias óptimos de las siguientes maneras:
-
Determina el uso de instancias de spot o bajo demanda. Un grupo de servidores de juegos de Amazon GameLift Servers FleetIQ se configura con una estrategia de equilibrio, que influye en la forma en la que el grupo de Amazon EC2 Auto Scaling utiliza las instancias bajo demanda o de spot. Las instancias de spot tienen costos más bajos debido a la fluctuación de la disponibilidad y las posibles interrupciones, limitaciones que Amazon GameLift Servers FleetIQ minimiza para el alojamiento del servidor de juegos. Las instancias bajo demanda son más caras, pero ofrecen una disponibilidad más fiable cuando las necesita.
-
Limita el lanzamiento de nuevas instancias únicamente en tipos de instancias viables. Un grupo de servidores de juegos de Amazon GameLift Servers FleetIQ mantiene una lista maestra de los tipos de instancias que desee. El proceso de equilibrio de instancias evalúa continuamente cada tipo de instancia deseado de la lista para determinar la viabilidad del alojamiento de juegos mediante un algoritmo de predicción que analiza la disponibilidad reciente y la tasa de interrupciones del tipo de instancia. Como resultado de esta evaluación, Amazon GameLift Servers FleetIQ actualiza continuamente la lista de tipos de instancia deseados del grupo de Amazon EC2 Auto Scaling para incluir solo los tipos de instancia actualmente viables.
-
Marca las instancias existentes que son tipos de instancias no viables. Amazon GameLift Servers FleetIQ identifica las instancias existentes en el grupo de Amazon EC2 Auto Scaling que actualmente son tipos de instancia no viables. Estas instancias se marcan como vaciado, lo que significa que serán terminadas y reemplazadas por instancias nuevas. Para las instancias que tienen activada la protección del servidor de juegos, la terminación se pospone hasta que las sesiones de juego activas terminen normalmente.
A medida que el grupo de Amazon EC2 Auto Scaling lanza y retira instancias, mantiene un conjunto optimizado para el alojamiento de juegos, incluso cuando la disponibilidad de los tipos de instancias de spot de bajo costo fluctúa. La actividad de equilibrio se lleva a cabo únicamente en los grupos de servidores de juegos con instancias activas. Obtenga más información sobre cómo funciona este proceso en Proceso de equilibrio de spot.
Colocar las sesiones de juego de manera eficiente
Amazon GameLift Servers FleetIQ realiza un seguimiento de todos los servidores de juegos activos del grupo de servidores de juegos y utiliza esta información para determinar la mejor ubicación para las nuevas sesiones de juego y los jugadores.
Para permitir que Amazon GameLift Servers FleetIQ realice el seguimiento de servidores de juegos, el software del servidor de juegos debe informar de su estado. Su AMI personalizada controla cómo comienzan y se detienen los nuevos procesos del servidor de juegos en cada instancia. Cuando se inicia un nuevo servidor de juegos, se registra en Amazon GameLift Servers FleetIQ, lo que indica que ya está listo para albergar una sesión de juego. Tras el registro, el servidor de juegos informa periódicamente de su estado y de si actualmente aloja una sesión de juego. Cuando el servidor de juegos se apaga, se anula el registro con Amazon GameLift Servers FleetIQ.
Para iniciar una nueva sesión de juego, su cliente de juego (o emparejador u otro servicio del cliente) envía una solicitud para un servidor de juegos a Amazon GameLift Servers FleetIQ. Amazon GameLift Servers FleetIQ localiza un de servidor de juegos disponible, lo reclama para la nueva sesión de juego y responde con el ID del servidor de juegos y la información de conexión. A continuación, el juego solicita al servidor de juegos que actualice su estado e inicie una nueva sesión de juego para los jugadores entrantes.
Al seleccionar un servidor de juegos para alojar una nueva sesión de juego, Amazon GameLift Servers FleetIQ utiliza el siguiente proceso de toma de decisiones para optimizar la ubicación con instancias de spot viables de bajo costo:
-
Siempre que es posible, Amazon GameLift Servers FleetIQ coloca nuevas sesiones de juego en instancias que ya estén alojando otras sesiones de juego. Al empaquetar (pero no sobrecargar) algunas instancias y mantener otras inactivas, el grupo de Amazon EC2 Auto Scaling puede reducir verticalmente y de forma rápida las instancias inactivas cuando no son necesarias, lo que reduce los costos de alojamiento.
-
Amazon GameLift Servers FleetIQ pasa por alto las instancias que están marcadas como draining; es decir, que no son viables para el alojamiento de juegos. Estas instancias se mantienen ejecutándose solo para admitir sesiones de juego existentes. No se pueden usar para nuevas sesiones de juego a menos que no haya ningún otro servidor de juego disponible.
-
Amazon GameLift Servers FleetIQ identifica todos los servidores de juegos disponibles que se ejecutan en instancias viables.
Puede activar la protección de sesión de juego para un grupo de servidores de juegos para evitar que el grupo de Amazon EC2 Auto Scaling termine instancias con sesiones de juego activas.