Creación de una definición de grupo de contenedores para una flota de contenedores de Amazon GameLift Servers
Una definición de grupo de contenedores describe cómo implementar las aplicaciones de servidor de juegos en contenedores en una flota de contenedores. Se trata de un esquema que indica a Amazon GameLift Servers qué imágenes de contenedor deben implementarse en la flota y cómo utilizarlas. Cuando se crea una flota de contenedores, se especifican las definiciones de grupo de contenedores que se van a implementar en la flota. Para obtener más información sobre los grupos de contenedores, consulte Componentes de una flota de contenedores.
Antes de comenzar
Consejos sobre qué hacer antes de empezar a crear una definición de grupo de contenedores:
-
Finalice las imágenes de contenedores y envíelas a un repositorio de Amazon Elastic Container Registry (Amazon ECR) en la misma Región de AWS en la que tiene previsto crear el grupo de contenedores. Amazon GameLift Servers captura una instantánea de cada imagen al crear la definición del grupo de contenedores y la utiliza al implementarla en una flota de contenedores. Consulte Creación de una imagen de contenedor para Amazon GameLift Servers.
-
Cree sus definiciones de contenedor como archivos JSON. Una definición de grupo de contenedores incluye una o más definiciones de contenedores. Puede usar los archivos JSON si crea una definición de grupo de contenedores utilizando la CLI de AWS para Amazon GameLift Servers.
-
Compruebe que su usuario de AWS tiene permisos de IAM para tener acceso al repositorio de Amazon ECR. Consulte Ejemplo de permisos de IAM para Amazon GameLift Servers.
Creación de una definición de grupo de contenedores de servidor de juegos
Un grupo de contenedores de servidores de juegos ejecuta su software de servidor de juegos. Un grupo de contenedores de servidores de juegos tiene un contenedor de servidores de juegos, que ejecuta el ejecutable del servidor de juegos. También puede tener uno o más contenedores de soporte para ejecutar software adicional que sirva de soporte al servidor de juegos. (A veces se los denomina contenedores laterales).
En este tema se describe cómo crear una definición de grupo de contenedores de servidor de juegos sencilla utilizando la consola de Amazon GameLift Servers o las herramientas de la CLI de AWS. Para obtener información más detallada sobre las características opcionales, consulte Personalización de una flota de contenedores de Amazon GameLift Servers.
nota
Puede cambiar la mayoría de las definiciones de grupos de contenedores y los ajustes de definición de contenedores después de crearlos. Si realiza cambios en la definición de un contenedor, Amazon GameLift Servers captura una nueva instantánea de las imágenes del contenedor actualizadas.
Para crear una definición sencilla de grupo de contenedores de servidor de juegos:
En las siguientes instrucciones, se describe cómo crear una definición de grupo de contenedores con los parámetros mínimos requeridos y mediante los valores por defecto de Amazon GameLift Servers.
Creación de un archivo JSON de definición de contenedor
Al crear una definición de grupo de contenedores, también define los contenedores del grupo. Una definición de contenedor especifica el repositorio de Amazon ECR en el que se almacena la imagen del contenedor y las configuraciones opcionales para los puertos de red, los límites de uso de CPU y memoria y otros ajustes. Recomendamos crear un único archivo JSON con las configuraciones de todos los contenedores de un grupo de contenedores. Mantener un archivo es útil para almacenar, compartir y realizar un seguimiento de las versiones de estas configuraciones críticas. Si usa la CLI de AWS para crear sus definiciones de grupos de contenedores, puede hacer referencia al archivo en el comando.
Para crear una definición de contenedor
Cree y abra un nuevo archivo
.JSON. Por ejemplo:[~/work/glc]$vim SimpleServer.jsonCree una definición de contenedor independiente para cada uno de los contenedores del grupo. Copie el siguiente contenido de ejemplo y modifíquelo según sea necesario para sus contenedores. Para obtener más información sobre la sintaxis de una definición de contenedor, consulte ContainerDefinitionInput en la Referencia de la API de Amazon GameLift Servers.
Guarde el archivo localmente para poder consultarlo en un comando de la CLI de AWS.
En este ejemplo se describe el contenedor esencial para el grupo de contenedores de servidores de juegos. El contenedor de réplicas esencial incluye la aplicación de servidor de juegos, el agente de Amazon GameLift Servers, y puede incluir otro software auxiliar para el alojamiento del juego. La definición debe incluir un nombre, un URI de imagen y una configuración de puertos. Este ejemplo también establece algunos límites de recursos específicos del contenedor.
{ "ContainerName": "MyAdventureGameServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:myadventuregame-server", "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2010 } ] }, "ServerSdkVersion": "5.2.0" }