Cree una definición de grupo de contenedores para un Amazon GameLift Servers flota de contenedores - Amazon GameLift Servers

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.

Cree una definición de grupo de contenedores para un Amazon GameLift Servers flota de contenedores

Una definición de grupo de contenedores describe cómo implementar sus aplicaciones de servidor de juegos en contenedores en una flota de contenedores. Es un plano que lo dice Amazon GameLift Servers qué imágenes de contenedores implementar en la flota y cómo utilizarlas. Al crear una flota de contenedores, se especifican las definiciones de grupos de contenedores que se van a implementar en la flota. Para obtener más información sobre los grupos de contenedores, consulteComponentes de la 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 sus contenedores y envíelas a un repositorio de Amazon Elastic Container Registry (Amazon ECR) en el mismo Región de AWS lugar en el que planea 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 desplegarla en una flota de contenedores. Consulte Cree una imagen de contenedor para Amazon GameLift Servers.

  • Cree sus definiciones de contenedores como archivos JSON. Una definición de grupo de contenedores incluye una o más definiciones de contenedores. Puede utilizar los archivos JSON si crea una definición de grupo de contenedores mediante el AWS CLIfor Amazon GameLift Servers.

  • Compruebe que el AWS usuario tiene permisos de IAM para acceder al repositorio de Amazon ECR. Consulte Ejemplos de permisos de IAM para Amazon GameLift Servers.

Cree una definición de grupo de contenedores de servidores 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 «sidecar»).

En este tema se describe cómo crear una definición sencilla de grupo de contenedores de servidores de juegos mediante el Amazon GameLift Servers herramientas de consola o AWS CLI. Para obtener información más detallada sobre las funciones opcionales, consultePersonaliza un Amazon GameLift Servers flota de contenedores.

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 servidores de juegos:

Las siguientes instrucciones describen cómo crear una definición de grupo de contenedores con los parámetros mínimos requeridos y utilizando Amazon GameLift Servers valores por defecto.

Console

En la Amazon GameLift Servers consola, seleccione la ubicación Región de AWS en la que desea crear el grupo de contenedores.

Abra la barra de navegación izquierda de la consola y elija Contenedores gestionados: definiciones de grupos. En la página de definición de grupos de contenedores, elija Crear definición de grupo.

Paso 1: Defina los detalles de la definición del grupo de contenedores
  1. Introduzca un nombre de definición de grupo de contenedores. El nombre debe ser exclusivo de la región Cuenta de AWS and.

  2. Seleccione el tipo de grupo de contenedores de servidores de juegos.

  3. En Límite total de memoria, introduzca los recursos de memoria máximos que estarán disponibles para todos los contenedores del grupo de contenedores. Si necesita ayuda para calcular este valor, consulteEstablece límites de recursos.

  4. En el límite total de vCPU, introduzca la potencia de cálculo máxima que estará disponible para todos los contenedores del grupo de contenedores. Si necesita ayuda para calcular este valor, consulteEstablece límites de recursos.

Paso 2: Añadir definiciones de contenedores

Como mínimo, un grupo de contenedores de servidores de juegos tiene un contenedor de servidores de juegos. En la consola, la primera definición de contenedor que se crea es el contenedor del servidor de juegos. En este paso se describe cómo definir la configuración mínima requerida para una definición de contenedor de servidor de juegos.

  1. Introduzca un nombre para la definición del contenedor. Cada contenedor definido para el grupo debe tener un valor de nombre único.

  2. Enlaza la imagen de un contenedor con la versión de tu servidor de juegos. Introduzca el URI de imagen de Amazon ECR para una imagen de contenedor en un repositorio público o privado. Puede utilizar cualquiera de los siguientes formatos:

    • Solo URI de imagen: [Cuenta de AWS].dkr.ecr.[Región de AWS].amazonaws.com/[repository ID]

    • URI de imagen + resumen: [Cuenta de AWS].dkr.ecr.[Región de AWS].amazonaws.com/[repository ID]@[digest]

    • URI de imagen + etiqueta: [Cuenta de AWS].dkr.ecr.[Región de AWS].amazonaws.com/[repository ID]:[tag]

  3. Especifique el Amazon GameLift Servers La versión del SDK del servidor que utiliza la compilación del servidor del juego. Para una flota de contenedores, este valor debe ser 5.2.0 o superior.

  4. En Rango de puertos de contenedores interno, configure el protocolo y defina un rango de puertos. El tamaño del rango debe ser superior al número de procesos simultáneos del servidor de juegos que se ejecutarán en este contenedor. Si el contenedor del servidor de juegos ejecuta solo un proceso de servidor por contenedor, este rango de puertos solo necesita unos pocos puertos. Para obtener más información, consulta Configure las conexiones de red.

  5. Añada más contenedores según sea necesario para ejecutar software de soporte adicional. Los contenedores adicionales se designan automáticamente como contenedores de soporte. Un grupo de contenedores de servidores de juegos solo puede tener un contenedor de servidores de juegos y hasta ocho contenedores de soporte. Proporcione la siguiente configuración mínima requerida:

    • Nombre de la definición del contenedor

    • URI de imagen ECR.

    • Puertos internos del contenedor (inclúyalo solo si el contenedor tiene procesos que necesitan acceso a la red).

Paso 3: Configurar las dependencias
Paso 3: Revisar y crear
  1. Revise todos los ajustes de definición de grupos de contenedores. Utilice Editar para realizar cambios en cualquier sección, incluidas todas las definiciones de contenedores del grupo.

  2. Cuando termines de revisarla, selecciona Crear.

    Si la solicitud se ha realizado correctamente, la consola mostrará la página de detalles del nuevo recurso de definición de grupos de contenedores. Inicialmente, el estado es COPYING como Amazon GameLift Servers comienza a tomar instantáneas de todas las imágenes del contenedor del grupo. Cuando se complete esta fase, el estado de la definición del grupo de contenedores cambiará aREADY. La definición de un grupo de contenedores debe estar en READY estado para poder crear una flota de contenedores con ella.

AWS CLI

Cuando utilice la AWS CLI para crear una definición de grupo de contenedores, mantenga las configuraciones de definición de contenedores en un JSON archivo independiente. Puede hacer referencia al archivo en el comando CLI. Consulte Crea un JSON archivo de definición de contenedor para ver ejemplos de esquemas.

Cree una definición de grupo de contenedores

Para crear una nueva definición de grupo de contenedores, utilice el comando create-container-group-definition CLI. Para obtener más información sobre este comando, consulte la Referencia create-container-group-definitionde comandos de la AWS CLI.

Este ejemplo ilustra una solicitud de definición de grupo de contenedores de servidores de juegos. Se supone que has creado un archivo JSON con las definiciones de contenedor de este grupo.

aws gamelift create-container-group-definition \ --name MyAdventureGameContainerGroup \ --operating-system AMAZON_LINUX_2023 \ --container-group-type GAME_SERVER \ --total-memory-limit-mebibytes 4096 \ --total-vcpu-limit 1 \ --game-server-container-definition file://MyAdventureGameContainers.json

Crea un JSON archivo 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. Se recomienda crear un único JSON archivo 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 AWS CLI para crear sus definiciones de grupos de contenedores, puede hacer referencia al archivo en el comando.

Para crear una definición de contenedor
  1. Cree y abra un .JSON archivo nuevo. Por ejemplo:

    [~/work/glc]$ vim SimpleServer.json
  2. Cree 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 ContainerDefinitionInputen la Amazon GameLift Servers Referencia de API.

  3. Guarde el archivo localmente para poder consultarlo en un comando de AWS CLI.

En este ejemplo se describe el contenedor esencial para el grupo de contenedores de servidores de juegos. El contenedor de réplicas esencial incluye tu aplicación de servidor de juegos, el Amazon GameLift Servers Agente, y puede incluir otro software de apoyo para el alojamiento de su juego. La definición debe incluir un nombre, un URI de imagen y una configuración de puertos. En este ejemplo también se establecen 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" }