

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.

# Personalización de su solución de alojamiento de juegos
<a name="customize-solution-intro"></a>

Si tiene implantada una solución de alojamiento de juegos básica, consulte los siguientes temas para personalizarla y realzarla con el fin de mejorar la experiencia de los jugadores, optimizar los costos y añadir funciones avanzadas. En esta sección se describen varias opciones de personalización, organizadas por el componente al que afectan principalmente. Elija las personalizaciones que mejor se adapten a los requisitos del juego y a su base de jugadores.

**Temas**
+ [Personalizaciones de compilaciones de servidores de juegos](customize-game-server-builds.md)
  + [Conecta tu servidor de juegos Amazon GameLift Servers alojado a otros AWS recursos](gamelift-sdk-server-resources.md)
  + [Habilitación del acceso del servidor de juegos a los datos de la flota de Amazon GameLift Servers](gamelift-sdk-server-fleetinfo.md)
  + [Configuración del emparejamiento de VPC para Amazon GameLift Servers](vpc-peering.md)
+ [Personalizaciones de sesiones de jugador y emparejamientos](customize-player-sessions-matchmaking.md)
  + [Generación de ID de jugador](player-sessions-player-identifiers.md)
  + [Incorporación del emparejamiento de FlexMatch a Amazon GameLift Servers](gamelift-match-intro.md)
+ [Personalizaciones de ubicaciones de sesión de juego](customize-game-session-placement.md)
  + [Personalización de colas de sesiones de juego](queues-design.md)
  + [Priorización de la ubicación de las sesiones de juego.](queues-design-priority.md)
  + [Creación de una cola para instancias de spot](spot-tasks.md)
+ [Personalizaciones de recursos de alojamiento](fleets-design.md)
  + [Elección de los recursos de computación para una flota administrada](gamelift-compute.md)
  + [Personalización de una flota de contenedores de Amazon GameLift Servers](containers-design-fleet.md)
  + [Reducción de los costos de alojamiento de juegos con flotas de spot](fleets-spot.md)
  + [Optimización de la configuración del tiempo de ejecución del servidor de juegos en Amazon GameLift Servers administrado](fleets-multiprocess.md)
  + [Uso el agente de Amazon GameLift Servers](integration-dev-iteration-agent.md)
  + [Abstracción de una designación de flota de Amazon GameLift Servers con un alias](aliases-intro.md)

# Personalizaciones de compilaciones de servidores de juegos
<a name="customize-game-server-builds"></a>

Las personalizaciones de la versión del servidor de juegos ofrecen oportunidades para mejorar la funcionalidad del servidor de juegos, incluso para aprovechar otros AWS servicios. Estas personalizaciones amplían las capacidades del servidor de juegos más allá del alojamiento básico para admitir características e integraciones avanzadas.

# Conecta tu servidor de juegos Amazon GameLift Servers alojado a otros AWS recursos
<a name="gamelift-sdk-server-resources"></a>

Al crear una compilación de servidor de juegos para implementarla en las flotas de Amazon GameLift Servers, es posible que desee que las aplicaciones de la compilación de juegos se comuniquen de forma directa y segura con otros recursos de AWS de su propiedad. Puesto que Amazon GameLift Servers administra sus flotas de alojamiento de juegos, debe conceder a Amazon GameLift Servers un acceso limitado a estos recursos y servicios.

Entre los ejemplos de escenarios se incluyen los siguientes: 
+ Utilice un CloudWatch agente de Amazon para recopilar métricas, registros y trazas de las flotas de EC2 gestionadas y de las flotas de Anywhere.
+ Envía los datos del registro de instancias a Amazon CloudWatch Logs.
+ Obtención de archivos de juegos almacenados en un bucket de Amazon Simple Storage Service (Amazon S3).
+ Lectura y escritura de datos de juegos (como el inventario o los modos de juego) almacenados en una base de datos de Amazon DynamoDB u otro servicio de almacenamiento de datos.
+ Envío de señales directamente a una instancia mediante Amazon Simple Queue Service (Amazon SQS).
+ Acceso a recursos personalizados implementados y que se ejecutan en Amazon Elastic Compute Cloud (Amazon EC2).

Amazon GameLift Servers admite los siguientes métodos para establecer el acceso:
+ [Acceda a AWS los recursos con un rol de IAM](#gamelift-sdk-server-resources-roles)
+ [Acceda a AWS los recursos con la interconexión de VPC](#gamelift-sdk-server-resources-vpc)

## Acceda a AWS los recursos con un rol de IAM
<a name="gamelift-sdk-server-resources-roles"></a>

Utilice un rol de IAM para especificar quién puede acceder a sus recursos y establecer límites a ese acceso. Las partes de confianza pueden “asumir” un rol y obtener credenciales de seguridad temporales que les autoricen a interactuar con los recursos. Cuando las partes realizan solicitudes de la API relacionadas con el recurso, deben incluir las credenciales.

Para configurar el acceso controlado por un rol de IAM, lleve a cabo las siguientes tareas: 

1. [Creación del rol de IAM](#gamelift-sdk-server-resources-roles-create)

1. [Modificación de las aplicaciones para adquirir credenciales](#gamelift-sdk-server-resources-roles-apps)

1. [Asociación del rol de IAM a una flota](#gamelift-sdk-server-resources-roles-fleet)

### Creación del rol de IAM
<a name="gamelift-sdk-server-resources-roles-create"></a>

En este paso, crea un rol de IAM, con un conjunto de permisos para controlar el acceso a sus AWS recursos y una política de confianza que otorga Amazon GameLift Servers derechos para usar los permisos del rol.

Para obtener instrucciones sobre cómo configurar el rol de IAM, consulte [Configuración de un rol de servicio de IAM para Amazon GameLift Servers](setting-up-role.md). Al crear la política de permisos, elija servicios, recursos y acciones específicos con los que deben trabajar sus aplicaciones. Como práctica recomendada, limite el ámbito de los permisos tanto como sea posible. 

Después de crear el rol, anote el nombre de recurso de Amazon (ARN) del rol. El ARN del rol será necesario durante la creación de la flota.

### Modificación de las aplicaciones para adquirir credenciales
<a name="gamelift-sdk-server-resources-roles-apps"></a>

En este paso, configura las aplicaciones para que adquieran credenciales de seguridad para el rol de IAM y las usen al interactuar con sus AWS recursos. Consulte la siguiente tabla para determinar cómo modificar las aplicaciones en función de (1) el tipo de aplicación y (2) la versión del SDK del servidor que utilice el juego para comunicarse con Amazon GameLift Servers.


|  | Aplicaciones del servidor de juegos | Otras aplicaciones | 
| --- | --- | --- | 
|  **Uso del SDK del servidor, versión 5.x**  |  Llame al método del SDK del servidor `GetFleetRoleCredentials()` desde el código del servidor de juegos.  |  Añada código a la aplicación para obtener las credenciales de un archivo compartido en la instancia de la flota.  | 
|  **Uso de la versión 4 o anterior del SDK del servidor**  |   Call AWS Security Token Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` con el rol ARN.  |  Call AWS Security Token Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` con el rol ARN.  | 

**nota**  
En el caso de las flotas de contenedores, `FleetRoleArn` las credenciales se insertan en cada contenedor. Sus aplicaciones pueden usar el proveedor de AWS credenciales predeterminado para acceder a estas credenciales. Puede seguir llamando`GetFleetRoleCredentials()`, lo que devuelve las mismas credenciales. Solo se puede acceder a estas credenciales de rol de flota dentro de los contenedores.

En el caso de los juegos integrados con el SDK 5.x del servidor, este diagrama muestra cómo las aplicaciones de la compilación del juego implementada pueden adquirir credenciales para el rol de IAM.

![\[Los ejecutables del juego llaman a GetFleetRoleCredentials(). Otros archivos utilizan credenciales compartidas y almacenadas localmente.\]](http://docs.aws.amazon.com/es_es/gameliftservers/latest/developerguide/images/instance-role-creds_vsd.png)


#### Llamada a `GetFleetRoleCredentials()` (SDK del servidor 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5"></a>

En el código del servidor de juegos, que ya debería estar integrado con el SDK del servidor de Amazon GameLift Servers 5.x, llame a `GetFleetRoleCredentials` ([C\$1\$1](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-getfleetrolecredentials)) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-getfleetrolecredentials)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-getfleetrolecredentials)) ([Go](integration-server-sdk-go-actions.md#integration-server-sdk-go-getfleetrolecredentials)) para recuperar un conjunto de credenciales temporales. Cuando las credenciales caduquen, puede actualizarlas con otra llamada a `GetFleetRoleCredentials`.

#### Utilización de credenciales compartidas (SDK del servidor 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5-shared"></a>

En el caso de las aplicaciones que no son de servidor y que se implementan con compilaciones de servidores de juegos que utilizan el SDK del servidor 5.x, añada código para obtener y utilizar las credenciales almacenadas en un archivo compartido. Amazon GameLift Servers genera un perfil de credenciales para cada instancia de flota. Las credenciales están disponibles para que las utilicen todas las aplicaciones de la instancia. Amazon GameLift Servers actualiza continuamente las credenciales temporales.

Debe configurar una flota para generar el archivo de credenciales compartidas al crear la flota.

En cada aplicación que necesite utilizar el archivo de credenciales compartido, especifique la ubicación del archivo y el nombre del perfil de la siguiente manera: 

Windows:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "C:\\Credentials\\credentials"
```

Linux:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "/local/credentials/credentials"
```

**Ejemplo: configurar un CloudWatch agente para recopilar métricas para las instancias de Amazon GameLift Servers flota**

Si quieres utilizar un CloudWatch agente de Amazon para recopilar métricas, registros y rastreos de tus Amazon GameLift Servers flotas, utiliza este método para autorizar al agente a emitir los datos a tu cuenta. En este escenario, realice los pasos siguientes:

1. Recupera o escribe el `config.json` archivo del CloudWatch agente.

1. Actualice el archivo `common-config.toml` del agente para identificar el nombre del archivo de credenciales y el nombre del perfil, tal y como se describió previamente.

1. Configure el script de instalación del servidor de juegos para instalar e iniciar el CloudWatch agente.

#### Utilización de `AssumeRole()` (SDK del servidor 4)
<a name="gamelift-sdk-server-resources-roles-apps-sdk4"></a>

Añada código a sus aplicaciones para asumir la función de IAM y obtener credenciales para interactuar con sus AWS recursos. Cualquier aplicación que se ejecute en una instancia de flota de Amazon GameLift Servers con un SDK del servidor correspondiente a la versión 4, o a una versión anterior, puede asumir el rol de IAM. 

En el código de la aplicación, antes de acceder a un AWS recurso, la aplicación debe llamar a la operación `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` API AWS Security Token Service (AWS STS) y especificar el ARN del rol. Esta operación devuelve un conjunto de credenciales temporales que autorizan a la aplicación a acceder al AWS recurso. Para obtener más información, consulte [Uso de credenciales temporales con AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) en la Guía del *usuario de IAM*.

### Asociación del rol de IAM a una flota
<a name="gamelift-sdk-server-resources-roles-fleet"></a>

Una vez que haya creado el rol de IAM y actualizado las aplicaciones de la compilación del servidor de juegos para obtener y usar las credenciales de acceso, podrá implementar una flota. Al configurar la nueva flota, defina los siguientes parámetros.

Para flotas de contenedores:
+  [FleetRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateContainerFleet.html#gameliftservers-CreateContainerFleet-request-FleetRoleArn)— Establezca este parámetro en el ARN del rol de IAM.

Para otros tipos de flota:
+  [ InstanceRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleArn)— Establezca este parámetro en el ARN del rol de IAM.
+  [ InstanceRoleCredentialsProvider](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleCredentialsProvider)— Amazon GameLift Servers Para solicitar la generación de un archivo de credenciales compartido para cada instancia de flota, defina este parámetro en. `SHARED_CREDENTIAL_FILE`

Debe establecer esos valores al crear la flota. No se podrán actualizar más tarde.

## Acceda a AWS los recursos con la interconexión de VPC
<a name="gamelift-sdk-server-resources-vpc"></a>

Puede utilizar la interconexión de Amazon Virtual Private Cloud (Amazon VPC) para comunicarse entre las aplicaciones que se ejecutan en una Amazon GameLift Servers instancia y otro recurso. AWS Una VPC es una red privada virtual que usted define e incluye un conjunto de recursos administrados a través de su. Cuenta de AWS Cada flota de Amazon GameLift Servers tiene su propia VPC. Con la interconexión de VPC, puede establecer una conexión de red directa entre la VPC de su flota y el resto de sus recursos. AWS 

Amazon GameLift Servers simplifica el proceso de configuración de la interconexión de VPC para los servidores de juegos. Gestiona las solicitudes de interconexión, actualiza la tablas de ruteo y configura las conexiones según sea necesario. Para obtener instrucciones sobre cómo establecer el emparejamiento de VPC para los servidores de juegos, consulte [Configuración del emparejamiento de VPC para Amazon GameLift Servers](vpc-peering.md).

**nota**  
Las flotas de contenedores no admiten el emparejamiento de VPC.

# Habilitación del acceso del servidor de juegos a los datos de la flota de Amazon GameLift Servers
<a name="gamelift-sdk-server-fleetinfo"></a>

Existen determinadas situaciones en las que una compilación de juego personalizada o un script de Amazon GameLift Servers Realtime pueden requerir información sobre la flota de Amazon GameLift Servers. Por ejemplo, la compilación o el script del juego pueden incluir código para realizar las siguientes acciones:
+ Supervisar la actividad en función de los datos de la flota.
+ Reunir las métricas para realizar un seguimiento de la actividad según los datos de la flota. (Muchos juegos utilizan estos datos para LiveOps realizar actividades).
+ Proporcionar datos relevantes a los servicios de juegos personalizados, por ejemplo, para el emparejamiento, la escalación de la capacidad adicional o la realización de pruebas.

La información de la flota se encuentra disponible como un archivo JSON en cada instancia en las siguientes ubicaciones:
+ Windows: `C:\GameMetadata\gamelift-metadata.json`
+ Linux: `/local/gamemetadata/gamelift-metadata.json`

El `gamelift-metadata.json` archivo incluye los [atributos de un recurso de Amazon GameLift Servers flota](https://docs.aws.amazon.com/gamelift/latest/apireference/API_FleetAttributes.html).

Ejemplo de archivo JSON:

```
{
    "buildArn":"arn:aws:gamelift:us-west-2:123456789012:build/build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "buildId":"build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "fleetArn":"arn:aws:gamelift:us-west-2:123456789012:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "fleetDescription":"Test fleet for Really Fun Game v0.8",
    "fleetId":"fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "name":"ReallyFunGameTestFleet08",
    "fleetType":"ON_DEMAND",
    "instanceRoleArn":"arn:aws:iam::123456789012:role/S3AccessForGameLift",
    "instanceType":"c5.large",
    "serverLaunchPath":"/local/game/reallyfungame.exe"
}
```

# Configuración del emparejamiento de VPC para Amazon GameLift Servers
<a name="vpc-peering"></a>

En este tema, se ofrecen directrices sobre cómo configurar una interconexión de VPC entre sus servidores de juegos alojados en Amazon GameLift Servers y otros recursos que no pertenecen a Amazon GameLift Servers. Utilice las conexiones de emparejamiento de Amazon Virtual Private Cloud (VPC) para permitir que sus servidores de juegos se comuniquen de forma directa y privada con sus otros AWS recursos, como un servicio web o un repositorio. Puede establecer el emparejamiento de VPC con cualquier recurso que se ejecute en una AWS cuenta a la que tenga acceso AWS y que esté gestionado por ella.

**nota**  
La interconexión de VPC es una característica avanzada. Para obtener más información sobre las opciones preferidas para permitir que tus servidores de juegos se comuniquen de forma directa y privada con tus otros AWS recursos, consulta. [Conecta tu servidor de juegos Amazon GameLift Servers alojado a otros AWS recursos](gamelift-sdk-server-resources.md)

Si ya estás familiarizado con Amazon VPCs y el peering de VPC, entiende que configurar el peering con los servidores de Amazon GameLift Servers juegos es algo diferente. No dispone de acceso a la VPC que contiene los servidores de juegos (que se controla mediante el servicio de Amazon GameLift Servers), por lo que no puede solicitar directamente el emparejamiento de VPC. En lugar de ello, primero debe preautorizar la VPC con sus recursos que no pertenecen a Amazon GameLift Servers para aceptar una solicitud de interconexión del servicio Amazon GameLift Servers. A continuación, activa Amazon GameLift Servers para solicitar la interconexión de VPC que acaba de autorizar. Amazon GameLift Servers administra las tareas de creación de la interconexión, configuración de las tablas de enrutamiento y configuración de la conexión.

## Para configurar la interconexión de VPC para una flota existente
<a name="vpc-peering-existing"></a>

1. 

**Obtén los ID de AWS cuenta y las credenciales.**

   Necesitas un ID y credenciales de inicio de sesión para las siguientes AWS cuentas. Para encontrar la AWS cuenta, IDs inicia sesión [Consola de administración de AWS](https://console.aws.amazon.com/)y consulta la configuración de la cuenta. Para obtener las credenciales, vaya a la consola de IAM.
   + AWS cuenta que utilizas para gestionar tus servidores de Amazon GameLift Servers juegos.
   + AWS cuenta que utilizas para gestionar tus recursos no relacionados con los Amazon GameLift Servers recursos. 

   Si utiliza la misma cuenta para recursos de Amazon GameLift Servers y otros que no sean de Amazon GameLift Servers, necesita el ID y las credenciales de esa cuenta solo.

1. 

**Obtenga los identificadores de cada VPC.**

   Obtenga la siguiente información para VPCs comparar ambas opciones: 
   + VPC para sus servidores de juegos de Amazon GameLift Servers: es decir, el ID de flota de Amazon GameLift Servers. Los servidores de juegos están implementados en Amazon GameLift Servers en una flota de instancias EC2. Cada flota se sitúa automáticamente en su propia VPC, que se administra mediante el servicio Amazon GameLift Servers. No dispone de acceso directo a la VPC, por lo que se identifica mediante el ID de la flota. 
   + VPC para sus recursos no relacionados con Amazon GameLift Servers AWS los recursos: puede establecer un emparejamiento de VPC con cualquier recurso que se ejecute AWS y esté administrado por una AWS cuenta a la que tenga acceso. Si todavía no ha creado una VPC para esos recursos, consulte [Introducción a Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html). Una vez que haya creado una VPC, podrá encontrar el ID de la VPC iniciando sesión en la VPC de [Consola de administración de AWS](https://console.aws.amazon.com/)Amazon y viendo la suya. VPCs
**nota**  
Al configurar una interconexión, ambas VPCs deben existir en la misma región. La VPC de los servidores de juegos de la flota de Amazon GameLift Servers está en la misma región que la flota.

1. 

**Autorizar una interconexión de VPC.**

   En este paso, preautorizará una solicitud futura de Amazon GameLift Servers para conectar la VPC con los servidores de juegos con la VPC para recursos que no pertenecen a Amazon GameLift Servers. Esta acción actualiza el grupo de seguridad de la VPC.

   Para autorizar el emparejamiento de VPC, llame a la API de servicio [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) o utilice el comando CLI AWS . `create-vpc-peering-authorization` Realice esta llamada mediante la cuenta que administra los recursos que no pertenecen a Amazon GameLift Servers. Proporcione la siguiente información:
   + ID de VPC de par: es para la VPC con los recursos que no pertenecen a Amazon GameLift Servers.
   + Amazon GameLift Servers AWS ID de cuenta: es la cuenta que utilizas para gestionar tu Amazon GameLift Servers flota. 

   Una vez que haya autorizado la interconexión de VPC, la autorización sigue siendo válida durante 24 horas, a menos que se revoque. Puede administrar las autorizaciones de interconexión de VPC mediante las siguientes operaciones:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. 

**Solicite una interconexión.**

   Con una autorización válida, puede solicitar que Amazon GameLift Servers establezca una interconexión.

   Para solicitar un emparejamiento de VPC, llama a la API de servicio [CreateVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringConnection.html) o usa el comando CLI AWS . `create-vpc-peering-connection` Realice esta llamada con la cuenta que administra los servidores de juego de Amazon GameLift Servers. Usa la siguiente información para identificar las dos VPCs que quieres emparejar:
   + ID de VPC del mismo nivel e ID de AWS cuenta: esta es la VPC para sus recursos no relacionados con Amazon GameLift Servers los recursos y la cuenta que utiliza para administrarlos. El ID de la VPC debe coincidir con el ID de una autorización de interconexión válida. 
   + ID de la flota: identifica la VPC de los servidores de juegos de Amazon GameLift Servers.

1. 

**Realice un seguimiento del estado de la interconexión.**

   La solicitud de una interconexión de VPC es una operación asíncrona. Para realizar el seguimiento del estado de una solicitud de interconexión y gestionar los casos de éxito o error, utilice una de las siguientes opciones:
   + Sondee continuamente con `DescribeVpcPeeringConnections()`. Esta operación recupera el registro de la interconexión de VPC, incluido el estado de la solicitud. Si se crea correctamente una interconexión, el registro de conexión también contiene un bloque de CIDR de direcciones IP privadas que se asigna a la VPC.
   + Gestione los eventos de la flota asociados a las conexiones de emparejamiento de VPC con [DescribeFleetEvents()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetEvents.html), incluidos los eventos de éxito y fracaso. 

Una vez establecida la interconexión, puede administrarla mediante las siguientes operaciones:
+ [DescribeVpcPeeringConnections()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringConnections.html) (AWS CLI`describe-vpc-peering-connections`).
+ [DeleteVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringConnection.html) (AWS CLI`delete-vpc-peering-connection`).

## Para configurar la interconexión de VPC con una nueva flota
<a name="fleets-creating-aws-cli-vpc"></a>

Puede crear una nueva flota de Amazon GameLift Servers y solicitar una interconexión de VPC al mismo tiempo. 

1. 

**Obtenga los ID de AWS cuenta y las credenciales.**

   Necesitas un ID y credenciales de inicio de sesión para las dos AWS cuentas siguientes. Para encontrar la AWS cuenta, IDs inicia sesión [Consola de administración de AWS](https://console.aws.amazon.com/)y consulta la configuración de la cuenta. Para obtener las credenciales, vaya a la consola de IAM.
   + AWS cuenta que utilizas para gestionar tus servidores de Amazon GameLift Servers juegos.
   + AWS cuenta que utilizas para gestionar tus recursos no relacionados con los Amazon GameLift Servers recursos. 

   Si utiliza la misma cuenta para recursos de Amazon GameLift Servers y otros que no sean de Amazon GameLift Servers, necesita el ID y las credenciales de esa cuenta solo.

1. 

**Obtenga el ID de VPC para sus recursos no relacionados con recursos. Amazon GameLift Servers AWS**

   Si todavía no ha creado una VPC para estos recursos, hágalo ahora (consulte [Introducción a Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html)). Asegúrese de crear la nueva VPC en la misma región en la que piensa crear su nueva flota. Si tus Amazon GameLift Servers recursos no relacionados se administran en una AWS cuenta o user/user grupo diferente al que utilizasAmazon GameLift Servers, tendrás que usar estas credenciales de cuenta cuando solicites la autorización en el siguiente paso. 

   Una vez que haya creado una VPC, podrá localizar el ID de la VPC en la consola de Amazon VPC consultando su. VPCs

1. 

**Autorice una interconexión de VPC con los recursos que no pertenecen a Amazon GameLift Servers.**

   Cuando Amazon GameLift Servers crea la nueva flota y la VPC correspondiente, también envía una solicitud para interconectar la VPC para los recursos que no pertenecen a Amazon GameLift Servers. Debe para preautorizar dicha solicitud. Este paso actualiza el grupo de seguridad de la VPC.

   Con las credenciales de la cuenta que administran sus recursos no relacionados con Amazon GameLift Servers los recursos, llame a la API de servicio [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) o utilice el comando AWS CLI`create-vpc-peering-authorization`. Proporcione la siguiente información:
   + ID de VPC de par: ID de la VPC con los recursos que no pertenecen a Amazon GameLift Servers.
   + Amazon GameLift Servers AWS ID de cuenta: ID de la cuenta que utilizas para gestionar tu Amazon GameLift Servers flota. 

   Una vez que haya autorizado la interconexión de VPC, la autorización sigue siendo válida durante 24 horas, a menos que se revoque. Puede administrar las autorizaciones de interconexión de VPC mediante las siguientes operaciones:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. Siga las instrucciones para [crear una nueva flota mediante la AWS CLI](fleets-creating.md). Incluya los siguientes parámetros adicionales:
   + *peer-vpc-aws-account-id*: ID de la cuenta que utiliza para administrar la VPC con sus recursos no Amazon GameLift Servers relacionados con los recursos.
   + *peer-vpc-id*— ID de la VPC con la que no es una cuenta. Amazon GameLift Servers

Una llamada correcta a [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-fleet.html) con los parámetros de la interconexión de VPC genera una flota nueva y una nueva solicitud de interconexión de VPC. El estado de la flota se establece en **New** y se inicia el proceso de activación de la flota. El estado de la solicitud de interconexión se establece en **initiating-request**. Puede realizar un seguimiento del éxito o el fracaso de la solicitud de intercambio de pares llamando. [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html)

Cuando se solicita una nueva flota y una interconexión de VPC, las dos acciones se realizarán correctamente o producirán un error. Si se produce un error en una flota durante el proceso de creación, la interconexión de VPC no se establecerá. Del mismo modo, si falla una interconexión de VPC por cualquier motivo, la flota nueva no podrá a pasar del estado **Activating** al estado **Active**.

**nota**  
La nueva interconexión de VPC no se completará hasta que la flota esté lista para activarse. Esto significa que la conexión no está disponible y no se puede usar durante el proceso de instalación de la compilación del servidor de juegos.

En el siguiente ejemplo se crea una nueva flota y una interconexión entre una VPC previamente establecida y la VPC de la nueva flota. La VPC preestablecida se identifica de forma exclusiva mediante la combinación de su ID ajeno a la cuenta Amazon GameLift Servers AWS y el ID de VPC. 

```
$ AWS gamelift create-fleet
    --name "My_Fleet_1"
    --description "The sample test fleet"
    --ec2-instance-type "c5.large"
    --fleet-type "ON_DEMAND"
    --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff"
    --runtime-configuration "GameSessionActivationTimeoutSeconds=300,
                             MaxConcurrentGameSessionActivations=2,
                             ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,
                                               Parameters=+sv_port 33435 +start_lobby,
                                               ConcurrentExecutions=10}]"
    --new-game-session-protection-policy "FullProtection"
    --resource-creation-limit-policy "NewGameSessionsPerCreator=3,
                                      PolicyPeriodInMinutes=15"
    --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" 
                              "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP"
    --metric-groups  "EMEAfleets"
    --peer-vpc-aws-account-id "111122223333"
    --peer-vpc-id "vpc-a11a11a"
```

*Versión copiable:*

```
AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"
```

## Solución de problemas de interconexión de VPC
<a name="vpc-peering-troubleshooting"></a>

Si tiene problemas para establecer una interconexión de VPC para sus servidores de juegos de Amazon GameLift Servers, tenga en cuenta estas causas principales comunes: 
+ No se ha encontrado una autorización para la conexión solicitada: 
  + compruebe el estado de una autorización de VPC para la VPC no perteneciente a Amazon GameLift Servers. Es posible que no exista o que haya caducado.
  + Comprueba las regiones de las dos VPCs que estás intentando emparejar. Si no están en la misma región, no se pueden interconectar. 
+ Los bloques CIDR (consulte Configuraciones de [conexión de emparejamiento de VPC no válidas](https://docs.aws.amazon.com/vpc/latest/peering/invalid-peering-configurations.html#overlapping-cidr)) de sus VPCs dos bloques se superponen. Los bloques IPv4 CIDR que están asignados a los pares no se pueden superponer. VPCs El bloque de CIDR de la VPC de su flota de Amazon GameLift Servers se asigna automáticamente y no se puede cambiar, por lo que tendrá que cambiar el bloque de CIDR de la VPC para los recursos no pertenecientes a Amazon GameLift Servers. Para resolver este problema, siga estos pasos: 
  + Busque este bloque de CIDR para su flota de Amazon GameLift Servers llamando a `DescribeVpcPeeringConnections()`.
  + Vaya a la consola de Amazon VPC, busque la VPC para los recursos no pertenecientes a Amazon GameLift Servers y cambie el bloque de CIDR para que no se superpongan.
+ La nueva flota no se activó (al solicitar la interconexión de VPC con una nueva flota). Si la nueva flota no pudo avanzar hasta el estado **Activo** no hay ninguna VPC con la que interconectar, por lo que no se puede realizar la interconexión.

# Personalizaciones de sesiones de jugador y emparejamientos
<a name="customize-player-sessions-matchmaking"></a>

Las personalizaciones de sesiones de jugador y emparejamientos le brindan la oportunidad de desarrollar sofisticados flujos de trabajo de administración de jugadores, incluido un sistema de emparejamiento detallado que le ayuda a ofrecer experiencias multijugador equilibradas y atractivas.

# Generación de ID de jugador
<a name="player-sessions-player-identifiers"></a>

Amazon GameLift Servers utiliza una sesión de jugador como representación de cada jugador conectado a una sesión de juego. Amazon GameLift Servers crea una sesión de jugador cada vez que un jugador se conecta a una sesión de juego utilizando un cliente de juego integrado con Amazon GameLift Servers. Cuando un jugador sale del juego, la sesión de jugador finaliza. Amazon GameLift Servers no reutiliza las sesiones de jugador.

**importante**  
Cuando se está utilizando el emparejamiento de FlexMatch y se crea una nueva solicitud de emparejamiento que contiene un ID de jugador que ya está incluido en una solicitud de emparejamiento existente, esta última se cancela automáticamente. Sin embargo, no se envía ningún evento `MatchmakingCancelled` para la solicitud cancelada. Para supervisar el estado de las solicitudes de emparejamiento existentes, utilice [DescribeMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html) para sondear el estado de las solicitudes a intervalos poco frecuentes (30-60 segundos). La solicitud cancelada mostrará el estado `CANCELLED` con el motivo `Cancelled due to duplicate player`.

El siguiente código de ejemplo genera ID de jugador únicos de forma aleatoria:

```
bool includeBrackets = false;
bool includeDashes = true;
string playerId = AZ::Uuid::CreateRandom().ToString<string>(includeBrackets, includeDashes);
```

Para obtener más información sobre las sesiones de jugador, consulte [Sesiones de juego y de jugador en la consola de Amazon GameLift Servers](gamelift-console-game-player-sessions-metrics.md).

# Incorporación del emparejamiento de FlexMatch a Amazon GameLift Servers
<a name="gamelift-match-intro"></a>

Utilice Amazon GameLift Servers FlexMatch para incorporar la funcionalidad de emparejamiento de jugadores a los juegos alojados en Amazon GameLift Servers. Puede utilizar FlexMatch con servidores de juegos personalizados o con Amazon GameLift Servers Realtime. 

FlexMatch combina el servicio de emparejamiento con un motor de reglas personalizable. Diseñe la forma de emparejar a los jugadores en función de los atributos de los jugadores y los modos de juego que mejor se adapten a su juego. FlexMatch administra los aspectos prácticos de evaluar a los jugadores que buscan un juego, y crea emparejamientos con uno o más equipos e inicia sesiones de juego para alojar los emparejamientos. 

Para utilizar el servicio de FlexMatch al completo, debe tener los recursos de alojamiento configurados con colas. Amazon GameLift Servers utiliza colas para localizar las mejores ubicaciones de alojamiento posibles para los juegos en diversas regiones y tipos de computación. En concreto, las colas de Amazon GameLift Servers pueden usar los datos de latencia, cuando los clientes de juego los proporcionen, para ubicar las sesiones de juego de forma que los jugadores experimenten la latencia más baja posible al jugar.

Para obtener más información sobre FlexMatch, incluida ayuda detallada para integrar el emparejamiento en los juegos, consulte estos temas de la [Guía para desarrolladores de Amazon GameLift Servers FlexMatch](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/):
+ [Cómo funciona Amazon GameLift Servers FlexMatch](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-intro.html)
+ [Pasos de integración de FlexMatch](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-tasks.html)

# Personalizaciones de ubicaciones de sesión de juego
<a name="customize-game-session-placement"></a>

Las personalizaciones de ubicaciones de sesión de juego le brindan la oportunidad de refinar su sistema de ubicación con el fin de ofrecer a su base de jugadores una experiencia de juego óptima. Puede optimizar la ubicación en función de la compatibilidad y las preferencias de los jugadores, así como teniendo en cuenta aspectos operativos como la rentabilidad, la distribución geográfica y la resiliencia contra las interrupciones del servicio.

# Personalización de colas de sesiones de juego
<a name="queues-design"></a>

En este tema se describe cómo personalizar las colas de sesiones de juego para que se tomen decisiones óptimas en cuanto a la ubicación de las sesiones de juego. Para obtener más información sobre las colas de sesiones de juego y su funcionamiento, consulte [Configuración de la ubicación de las sesiones de juego](queues-intro.md).

Estas características de Amazon GameLift Servers requieren colas:
+ [Emparejamientos con FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-tasks.html)
+ [Creación de una cola para instancias de spot](spot-tasks.md)

**Topics**
+ [Definición del ámbito de una cola](queues-design-scope.md)
+ [Creación una cola con múltiples ubicaciones](queues-design-multiregion.md)
+ [Evaluación de métricas de cola](queues-design-metrics.md)

# Definición del ámbito de una cola
<a name="queues-design-scope"></a>

Es posible que la población de jugadores del juego tenga grupos de jugadores que no deberían jugar juntos. Por ejemplo, si publicas el juego en dos idiomas, cada idioma debería tener sus propios servidores de juegos.

Para configurar la ubicación de las sesiones de juego para su población de jugadores, cree una cola independiente para cada segmento de jugadores. Revise cada cola para ubicar a los jugadores en los servidores de juegos correctos. Algunas formas habituales de determinar el ámbito de las colas son las siguientes:
+ **Por ubicaciones geográficas.** Al implementar los servidores de juegos en varias áreas geográficas, puede crear colas para los jugadores en cada ubicación con el fin de reducir la latencia de los jugadores.
+ **Por compilación o variaciones del script.** Si tiene más de una variante del servidor de juegos, es posible que esté ofreciendo soporte a grupos de jugadores que no puedan jugar en las mismas sesiones de juego. Por ejemplo, es posible que las compilaciones o scripts de los servidores de juegos admitan distintos idiomas o tipos de dispositivos.
+ **Por tipos de eventos.** Puede crear una cola especial para administrar los juegos de los participantes en torneos u otros eventos especiales. 

## Diseño de varias colas
<a name="queues-design-players"></a>

En función del juego y de los jugadores, es posible que desee crear más de una cola de sesión de juego. Cuando su servicio de cliente de juegos solicite una nueva sesión de juego, especifica qué cola de sesión de juego utilizar. Para ayudarle a determinar si debe usar varias colas, tenga en cuenta los siguientes aspectos:
+ Variaciones del servidor de juegos. Puede crear una cola independiente para cada variación del servidor de juegos. Todas las flotas de una cola deben implementar servidores de juegos compatibles. Esto se debe a que los jugadores que utilicen la cola para unirse a los juegos deben poder jugar en cualquiera de los servidores de juegos de la cola.
+ Diferentes grupos de jugadores. Puede personalizar la forma en que Amazon GameLift Servers ubica las sesiones de juego en función del grupo de jugadores. Por ejemplo, es posible que necesite personalizar las colas para determinados modos de juego que requieren un tipo de instancia especial o una configuración de tiempo de ejecución. O bien, puede que le interese una cola especial para administrar las posiciones de un torneo u otro evento.
+ Métricas de las colas de las sesiones de juego. Puede configurar las colas en función de cómo desee recopilar las métricas de ubicación de las sesiones de juego. Para obtener más información, consulte [Métricas de Amazon GameLift Servers para colas](monitoring-cloudwatch.md#gamelift-metrics-queue).

# Creación una cola con múltiples ubicaciones
<a name="queues-design-multiregion"></a>

Recomendamos un diseño con múltiples ubicaciones para todas las colas. Este diseño puede mejorar la velocidad de ubicación y la resiliencia del alojamiento. Se requiere un diseño con múltiples ubicaciones para utilizar los datos de latencia de los jugadores con el fin de que puedan participar en las sesiones de juego con una latencia mínima. Si va a crear colas en múltiples ubicaciones que utilizan flotas de instancias de spot, siga las instrucciones que se indican en [Reducción de los costos de alojamiento de juegos con flotas de spot](fleets-spot.md).

Una forma de crear una cola con múltiples ubicaciones consiste en añadir una [flota con múltiples ubicaciones](gamelift-regions.md#gamelift-regions-hosting) a una cola. De esa forma, la cola puede colocar las sesiones de juego en cualquiera de las ubicaciones de la flota. También puede añadir otras flotas con diferentes configuraciones o ubicaciones de origen para aumentar la redundancia. Si utiliza una flota de instancias de spot con múltiples ubicaciones, siga las prácticas recomendadas e incluya una flota de instancias bajo demanda con las mismas ubicaciones.

En el siguiente ejemplo, se describe el proceso de diseño de una cola básica con múltiples ubicaciones. En este ejemplo, utilizamos dos flotas: una flota de instancias de spot y una flota de instancias bajo demanda. Cada flota tiene Regiones de AWS los siguientes lugares de ubicación: `us-east-1``us-east-2`,`ca-central-1`, y`us-west-2`.

**Para crear una cola básica multiubicación con flotas con múltiples ubicaciones, realice el siguiente procedimiento:**

1. Elija una ubicación para crear la cola. Puede minimizar la latencia de las solicitudes colocando la cola en una ubicación cercana a donde implementó el servicio de cliente. En este ejemplo, crearemos la cola en `us-east-1`.

1. Cree una cola nueva y añada nuestras flotas con múltiples ubicaciones como destinos de la cola. El orden de destino determina el modo en que Amazon GameLift Servers ubica las sesiones de juego. En este ejemplo, incluimos primero la flota de instancias de spot y, en segundo lugar, la flota de instancias bajo demanda.

1. Defina el orden de prioridad de la ubicación de las sesiones de juego de la cola. Este orden determina dónde busca primero la cola un servidor de juegos disponible. En este ejemplo, utilizaremos el orden de prioridad predeterminado.

1. Defina el orden de ubicación. Si no define el orden de las ubicaciones, Amazon GameLift Servers utilizará las ubicaciones en orden alfabético.

![\[Captura de pantalla de una consola, con las ubicaciones y el orden de destino de la cola.\]](http://docs.aws.amazon.com/es_es/gameliftservers/latest/developerguide/images/queue-multi-location-1.png)


![\[Captura de pantalla de una consola, con un ejemplo del orden de ubicación y la prioridad de colocación de la cola.\]](http://docs.aws.amazon.com/es_es/gameliftservers/latest/developerguide/images/queue-multi-location-2.png)


# Evaluación de métricas de cola
<a name="queues-design-metrics"></a>

Utilice las métricas para evaluar el rendimiento de las colas. Puede ver las métricas relativas a las colas en la [consola de Amazon GameLift Servers](https://console.aws.amazon.com/gamelift) o en Amazon CloudWatch. Para ver una lista y descripciones de métricas de colas, consulte [Métricas de Amazon GameLift Servers para colas](monitoring-cloudwatch.md#gamelift-metrics-queue).

Las métricas de colas pueden proporcionar información sobre los siguientes aspectos:
+ **Rendimiento general de la cola**: las métricas de la cola indican el grado de éxito con el que una cola responde a las solicitudes de ubicación. Esas métricas también pueden ayudarle a identificar cuándo y por qué fallan las ubicaciones. En el caso de las colas con flotas con escalado manual, las métricas `AverageWaitTime` y `QueueDepth` pueden indicar cuándo debe ajustar la capacidad de una cola.
+ **Rendimiento del algoritmo de FleetIQ**: en el caso de las solicitudes de ubicación que utilizan el algoritmo de FleetIQ, las métricas muestran la frecuencia con la que el algoritmo encuentra la ubicación idónea para las sesiones de juego. La ubicación puede priorizar el uso de los recursos con la menor latencia de jugadores o de los recursos con el menor costo. También hay métricas de error que identifican los motivos más comunes por los que Amazon GameLift Servers no puede encontrar una ubicación idónea. Para obtener más información sobre las métricas, consulte [Monitoriza Amazon GameLift Servers con Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Ubicaciones específicas por ubicación**: en el caso de las colas con múltiples ubicaciones, las métricas muestran las ubicaciones correctas por ubicación. En el caso de las colas que utilizan el algoritmo de FleetIQ, estos datos proporcionan información útil sobre de dónde se produce la actividad de los jugadores.

Cuando evalúe las métricas de rendimiento del algoritmo de FleetIQ, tenga en cuenta las siguientes recomendaciones:
+ Para realizar un seguimiento de la tasa de búsqueda de una ubicación idónea en la cola, utilice la métrica `PlacementsSucceeded` en combinación con las métricas de FleetIQ para obtener la latencia más baja y el precio más bajo.
+ Para aumentar la tasa de búsqueda de una ubicación idónea en una cola, revise las siguientes métricas de error:
  + Si el valor de `FirstChoiceOutOfCapacity` es alto, ajuste la escala de capacidad para las flotas de la cola.
  + Si la métrica de error `FirstChoiceNotViable` es alta, compruebe las flotas de instancias de spot. Las flotas de instancias de spot no se consideran viables cuando la tasa de interrupción es muy alta en un determinado tipo de instancia. Para solucionar este problema, cambie la cola para que utilice flotas de instancias de spot con otros tipos de instancias. Le recomendamos que incluya flotas de instancias de spot con diferentes tipos de instancias en cada ubicación.

# Priorización de la ubicación de las sesiones de juego.
<a name="queues-design-priority"></a>

Amazon GameLift Servers utiliza un algoritmo para determinar cómo priorizar los destinos de una cola y determinar dónde ubicar una nueva sesión de juego. El algoritmo se basa en un conjunto ordenado de criterios. Puede utilizar el orden de prioridad predeterminado o personalizar el orden. Puede editar el orden de prioridad de una cola en cualquier momento. 

**Orden de prioridad predeterminado**

1. **Latencia**: si la solicitud de ubicación de la sesión de juego incluye datos de latencia específicos de cada ubicación para los jugadores, Amazon GameLift Servers calcula la latencia media de los jugadores en cada ubicación e intenta colocar una sesión de juego en la ubicación de la flota con la media más baja.

1. **Costo**: si una solicitud no incluye datos de latencia o si varias flotas tienen la misma latencia, Amazon GameLift Servers evalúa el costo de alojamiento de cada flota. El costo de alojamiento de una flota varía en función del tipo de flota (spot o bajo demanda), el tipo de instancia y la ubicación. 

1. **Destino**: si varias flotas tienen una latencia y unos costos idénticos, Amazon GameLift Servers las prioriza basándose en el orden de destino, según se especifique en la configuración de la cola.

1. **Ubicación**: en el caso de las colas con flotas con múltiples ubicaciones, si todos los demás criterios son iguales, Amazon GameLift Servers prioriza las ubicaciones de la flota en función del orden alfabético.

## Personaliza la forma en que una cola prioriza las ubicaciones de las sesiones de juego
<a name="queues-design-priority-custom"></a>

Puede elegir personalizar la forma en que una cola prioriza los criterios de ubicación. La cola aplica la priorización personalizada a todas las solicitudes de ubicación de las sesiones de juego que recibe. 

**nota**  
Si creáis una configuración de prioridades personalizada y no incluís los cuatro criterios, Amazon GameLift Servers añadirá automáticamente los criterios que falten en el orden predeterminado.

**Para personalizar la configuración de prioridades de una cola**

Utilice la [consola de Amazon GameLift Servers](https://console.aws.amazon.com/gamelift/) o la AWS Command Line Interface (AWS CLI) para crear una configuración de prioridad personalizada. 

------
#### [ Console ]

En la [consola de Amazon GameLift Servers](https://console.aws.amazon.com/gamelift/), puede personalizar las prioridades de una cola al crear una nueva cola o actualizar una cola existente. Selecciona una AWS región en la que trabajar.

Abra la barra de navegación izquierda de la consola y elija **Colas**. En la página Colas, seleccione una cola existente y elija **Editar**.

1. Vaya a la sección **Prioridad de ubicación de las sesiones de juego**. Arrástrelo y suelte cada criterio de prioridad para crear el orden que desee. 

1. Vaya a la sección **Orden de ubicación**. Añada las ubicaciones que quiera priorizar. Esta lista resulta útil cuando la cola tiene flotas con múltiples ubicaciones. Como mínimo, tiene que especificar una ubicación. Primero se priorizan las ubicaciones que especifique aquí, seguidas de todas las demás ubicaciones de los destinos de la cola.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

Utilice el [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html)comando con la `--priority-configuration` opción de personalizar el orden de prioridad de una cola. Amazon GameLift Serversactualiza una cola en la AWS región predeterminada actual, o bien, puede añadir una `--region` etiqueta para especificar una región diferente AWS .

El siguiente ejemplo de solicitud agrega o actualiza la configuración de prioridad de una cola específica

```
aws gamelift update-game-session-queue \ 
    --name "example-queue-with-priority"
    --priority-configuration PriorityOrder="COST','LOCATION","DESTINATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \
```

------

## Prioriza las ubicaciones según la latencia de los jugadores
<a name="queues-design-priority-custom-latency"></a>

Si desea ofrecer a los jugadores la mejor experiencia de juego posible y garantizar una latencia mínima, siga estos pasos para configurar el sistema de ubicación de las sesiones de juego: 
+ Configura tu cola para que priorice la latencia a la hora de elegir dónde colocar las sesiones de juego. La latencia aparece en la parte superior de la lista de prioridades de forma predeterminada. También puede personalizar la configuración de prioridades de la cola y elegir dónde colocar la latencia en orden de prioridad. 
+ Configura las políticas de latencia de los jugadores para tu cola. Las políticas de latencia te permiten establecer límites estrictos en cuanto a la cantidad de latencia permitida en la ubicación de una sesión de juego. Si Amazon GameLift Servers no puede completar una sesión de juego sin superar los límites, se agotará el tiempo de espera de la solicitud de colocación y no será válida. Puede configurar una política de latencia única o crear una serie de políticas que reduzcan gradualmente el límite de latencia a lo largo del tiempo. Con una serie de políticas, puede especificar límites de latencia iniciales muy bajos y, aun así, dar cabida a los jugadores con latencias más altas tras un breve retraso. Para obtener más información sobre las políticas de latencia, consulte [Creación de una política de latencia de jugadores](queues-design-latency.md). 
+ Cuando realices solicitudes de ubicación de sesiones de juego (consulta [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)), incluye los datos de latencia de cada jugador. Los datos de latencia de los jugadores incluyen un valor para cada ubicación posible en la que se pueda ubicar una sesión de juego. Por ejemplo, en el caso de una cola que coloca las sesiones de juego en Regiones de AWS us-east-2 y ca-central-1, los datos de latencia podrían tener el siguiente aspecto: 

  ```
  "PlayerLatencies": [ 
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "ca-central-1" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "ca-central-1" }
    ]
  ```

  Para obtener mediciones de latencia precisas, utilice señalizadores de pings de UDP de Amazon GameLift Servers. Estos puntos de conexión le permiten medir la latencia real de la red UDP entre los dispositivos de los jugadores y cada una de las posibles ubicaciones de alojamiento, de forma que pueda tomar decisiones de ubicación más precisas que utilizando pings de ICMP. Para obtener más información sobre el uso de señalizadores de pings de UDP para medir la latencia, consulte [Señalizadores de pings de UDP](reference-udp-ping-beacons.md).

## Prioriza las ubicaciones por ubicación
<a name="queues-design-priority-custom-location"></a>

Puede configurar una cola para que las ubicaciones de las sesiones de juego se basen en una lista priorizada de ubicaciones geográficas. La ubicación es uno de los criterios que determinan la forma en que una cola elige dónde colocar una nueva sesión de juego. De forma predeterminada, la ubicación se prioriza en cuarto lugar, después de la latencia, el costo y el destino.

En el caso de la ubicación de la sesión de juego, el destino y la ubicación tienen significados algo diferentes:
+ El término *destino* hace referencia a una flota específica e incluye todos los recursos de alojamiento de la flota, estén donde estén desplegados. Al priorizar por destino, Amazon GameLift Servers puede hacer una ubicación en cualquier ubicación de la flota. Las flotas administradas con múltiples ubicaciones y las flotas Anywhere pueden tener recursos de alojamiento que se implementen en una o más ubicaciones.
+ La *ubicación* hace referencia a una posición geográfica específica en la que se implementan los recursos de alojamiento de una flota. Una flota puede tener varias ubicaciones, que pueden incluir Regiones de AWS Zonas Locales o ubicaciones personalizadas (para una flota de Anywhere). Una flota administrada con una sola ubicación tiene una ubicación y siempre es una Región de AWS. Una flota administrada con múltiples ubicaciones tiene una región de origen y una o más ubicaciones remotas. Una flota de Anywhere tiene una o más ubicaciones personalizadas.

Al priorizar las ubicaciones por ubicación, Amazon GameLift Servers busca los destinos de cola que incluyan la ubicación prioritaria y busca en ellos un recurso de alojamiento disponible. Si hay varios destinos con la ubicación prioritaria, Amazon GameLift Servers pasa al siguiente criterio de prioridad (costo, latencia, destino).

Puede influir en la priorización de las ubicaciones de una cola. 
+ Configura la forma en que la cola gestiona todas las solicitudes de ubicación de las sesiones de juego:
  + **Añada una configuración de prioridad a la cola.** La configuración de prioridad de una cola incluye una lista ordenada de ubicaciones. Puede especificar una o varias ubicaciones para priorizar. Esta lista no excluye ninguna ubicación, simplemente indica a Amazon GameLift Servers dónde buscar primero un recurso de alojamiento disponible. Un uso común de una lista de ubicaciones ordenadas es cuando se quiere canalizar la mayor parte del tráfico a una o más ubicaciones geográficas específicas y utilizar ubicaciones adicionales como capacidad de respaldo. Para añadir una configuración prioritaria, llame [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
  + **Añada una configuración de filtro a la cola.** Una configuración de filtro es una lista de permitidos para la cola. Indica a Amazon GameLift Servers que debe ignorar las ubicaciones que no estén en la lista cuando se busca un recurso de alojamiento disponible. Hay dos usos comunes para la configuración de un filtro. En primer lugar, en el caso de las flotas con múltiples ubicaciones, puede utilizar un filtro para excluir algunas de las ubicaciones de la flota. En segundo lugar, es posible que desee prohibir temporalmente las colocaciones en una ubicación determinada; por ejemplo, una ubicación podría estar experimentando problemas transitorios. Como puede actualizar la configuración de filtros de una cola en cualquier momento, puede añadir y eliminar fácilmente ubicaciones según sea necesario. Agregue una configuración de filtro mediante una llamada [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
+ Utilice instrucciones especiales para las solicitudes de ubicación individuales:
  + **Incluya una lista de anulaciones de prioridad en una solicitud de ubicación de sesión de juego.** Puede proporcionar una lista de ubicaciones prioritarias alternativa con cualquier [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)solicitud. De hecho, esta lista reemplaza la priorización configurada en la cola para las ubicaciones solo para esa solicitud. No afecta a ninguna otra solicitud. Esta función de anulación tiene algunos requisitos:
    + Utilice una lista de anulación solo con una cola que tenga una configuración de prioridad con `LOCATION` como máxima prioridad.
    + No incluyas los datos de latencia de los jugadores en la misma solicitud de ubicación. Incluir datos de latencia genera conflictos a la hora de priorizar ubicaciones que Amazon GameLift Servers no puede resolver.
    + Decida cómo desea que proceda Amazon GameLift Servers si no encuentra un recurso disponible en la lista de anulaciones de prioridades. Elige entre volver a las otras ubicaciones de la cola o limitar las ubicaciones a la lista de anulaciones. De forma predeterminada, Amazon GameLift Servers recurre para intentar situarse en las demás ubicaciones de la cola.
    + Actualice la configuración del filtro de la cola según sea necesario, por ejemplo, añadiendo ubicaciones a la lista de anulaciones. La lista de anulaciones no invalida la lista de filtros. 

# Creación de una política de latencia de jugadores
<a name="queues-design-latency"></a>

Si las solicitudes de ubicación incluyen datos de latencia de los jugadores, Amazon GameLift Servers busca las sesiones de juego en las ubicaciones con la latencia media más baja de todos los jugadores. Ubicar las sesiones de juego en función de la latencia media de los jugadores impide que Amazon GameLift Servers ubique a la mayoría de los jugadores en juegos con una latencia alta. Sin embargo, Amazon GameLift Servers sigue ubicando a los jugadores con una latencia extrema. Para adaptarse a estos jugadores, cree políticas de latencia para los jugadores.

Una política de latencia de jugadores impide que Amazon GameLift Servers ubique una sesión de juego solicitada en cualquier lugar en el que los jugadores de la solicitud experimenten una latencia superior al valor máximo. Las políticas de latencia de los jugadores también pueden impedir que Amazon GameLift Servers haga coincidir las solicitudes de sesión de juego con las de los jugadores con una latencia más alta.

**sugerencia**  
Para administrar reglas específicas de latencia, como exigir una latencia similar a todos los jugadores de un grupo, puede utilizar [Amazon GameLift Servers FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html) para crear reglas de emparejamiento basadas en la latencia.

Por ejemplo, considere esta cola con un tiempo de espera de 5 minutos y las siguientes políticas de latencia de los jugadores:

1. Si se pasa 120 segundos buscando una ubicación donde todas las latencias de los jugadores son de menos de 50 milisegundos.

1. Si se pasa 120 segundos buscando una ubicación donde todas las latencias de los jugadores son de menos de 100 milisegundos.

1. Si se emplea el tiempo de la cola restante en buscar una ubicación donde todas las latencias de los jugadores son de menos de 200 milisegundos.

![\[Captura de pantalla de la consola, con un ejemplo de políticas de latencia que se van flexibilizando gradualmente.\]](http://docs.aws.amazon.com/es_es/gameliftservers/latest/developerguide/images/queue-latency-policy.png)


# Creación de una cola para instancias de spot
<a name="spot-tasks"></a>

Puede conseguir ahorros significativos en los costos de alojamiento utilizando flotas de spot. Para obtener más información sobre las flotas de spot y cómo utilizarlas, consulte [Instancias bajo demanda frente a instancias de spot](gamelift-compute.md#gamelift-compute-spot). 

Si su solución de alojamiento de juegos incluye flotas de spot, debe usar una cola de ubicación de las sesiones de juego. Amazon GameLift Servers usa colas para buscar en varios recursos de alojamiento de juegos y seleccionar el mejor disponible para alojar una nueva sesión de juego. Con las flotas de Spot, las colas son especialmente importantes para minimizar los costos de alojamiento y evitar posibles interrupciones de Spot. Este tema te ayuda a configurar una cola flexible que pueda seguir albergando partidas para los jugadores incluso en caso de interrupciones, ralentizaciones o cortes de servicio. Puede personalizar la forma en que la cola prioriza los recursos de alojamiento disponibles en función de varios factores, incluido el costo del alojamiento.

¿Está utilizando FlexMatch para realizar el emparejamiento? Puede usar una cola con flotas de spot para realizar ubicaciones de sesiones de juego para sus emparejamientos.

## Tareas de implementación para las flotas de Spot
<a name="spot-tasks-queue"></a>

Al crear o actualizar su solución de alojamiento de juegos para usar las flotas de spot, complete las siguientes tareas. Para obtener información más detallada sobre cómo crear colas que optimice la disponibilidad y la resiliencia de spot, consulte [Reducción de los costos de alojamiento de juegos con flotas de spot](fleets-spot.md).

1. **Elija y cree un conjunto de destinos de flota para la cola de sesiones de juego.**

   Empiece por decidir dónde desea que la cola ubique las sesiones de juego. Una cola puede buscar en varias flotas para encontrar la mejor ubicación posible. Cada flota tiene un tipo de instancia, pero puede tener múltiples ubicaciones geográficas. Las colas con flotas que ofrecen variedad tanto en ubicación como en tipo de instancia tienen más probabilidades de tener éxito en las ubicaciones. Consulte estas prácticas recomendadas para diseñar una cola optimizada para Spot eficaz y resiliente.

1. **Cree su cola de sesiones de juego optimizada para spot.** 

   Cree una cola y configúrela para sus flotas de spot. Consulte [Creación de una cola de sesión de juego](queues-creating.md) para obtener ayuda sobre la creación y la configuración de la nueva cola. Puede usar la Amazon GameLift Servers consola o la AWS CLI para crear o editar una cola.
   + Añada los destinos de la flota del paso 1. 
   + Priorice el pedido de destino según corresponda. De forma predeterminada, Amazon GameLift Servers prioriza por costo antes que por destino, por lo que el orden de destino se usa solo cuando los costos más bajos entre destinos son iguales.
   + Si desea priorizar el costo del alojamiento del juego antes que la latencia de los jugadores, establezca una prioridad de ubicación personalizada. Consulte [Priorización de la ubicación de las sesiones de juego.](queues-design-priority.md).

1. **Actualice otros componentes de la solución para usar la nueva cola.**

   Si la solución utiliza una cola optimizada para spot para iniciar nuevas sesiones de juego, la cola evita automáticamente que las sesiones de juego tengan flotas con una alta probabilidad de interrupción. En su lugar, busca en todas las flotas viables recursos que coincidan con tus prioridades definidas, como la latencia de los jugadores, los costos de alojamiento y el orden de destino. 
   + Si no utiliza FlexMatch: actualice el servicio de backend para especificar la nueva cola optimizada para spot en las solicitudes de sesión de juego. El servicio de backend envía solicitudes de API a Amazon GameLift Servers en nombre del cliente del juego (mediante `StartGameSessionPlacement()`) y cada solicitud debe especificar un nombre de cola. Para contribuir a la implementación de ubicaciones de sesión de juego en su cliente de juego, consulte [Creación de sesiones de juego](gamelift-sdk-client-api.md#gamelift-sdk-client-api-create).
   + Si utiliza FlexMatch: actualice la configuración de emparejamiento para enviar las solicitudes de sesión de juego a la nueva cola optimizada para spot. Cuando el sistema de emparejamiento forma una pareja de jugadores, envía una solicitud de ubicación de la sesión de juego a la cola designada para iniciar una nueva sesión de juego para la partida. Solo las configuraciones de emparejamiento con el modo FlexMatch administrado pueden designar una cola de ubicación. Puede actualizar una configuración de emparejamiento mediante la AWS CLI o la Amazon GameLift Servers consola (consulte [Editar una configuración de emparejamiento](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-create-configuration-edit.html)).

1. **Evalúe el rendimiento de las colas y las flotas de spot.** 

   Consulta Amazon GameLift Servers las métricas en la Amazon GameLift Servers consola o en Amazon CloudWatch para revisar el rendimiento. Para obtener más información acerca de las métricas de Amazon GameLift Servers, consulte [Monitoriza Amazon GameLift Servers con Amazon CloudWatch](monitoring-cloudwatch.md). Entre las métricas principales se incluyen:
   + Tasa de interrupción: utilice las métricas `InstanceInterruptions` y `GameSessionInterruptions` para realizar un seguimiento del número y frecuencia de las interrupciones relacionadas con spot para instancias y sesiones de juego. Las sesiones de juego en instancias reclamadas tienen un estado de `TERMINATED` y un motivo de estado de `INTERRUPTED`.
   + Efectividad de las colas: realice un seguimiento de las tasas de éxito en las ubicaciones, el tiempo medio de espera y la profundidad de las colas para comprobar que las flotas de spot no afectan al rendimiento de las colas.
   + Uso de la flota: supervise los datos sobre las instancias, las sesiones de juego y las sesiones de los jugadores. El uso de las flotas bajo demanda puede ser un indicador de que las colas no están utilizando ubicaciones en las flotas de spot para evitar interrupciones.

## Prácticas recomendadas para colas con flotas de spot
<a name="queues-design-spot"></a>

 Siga las siguientes prácticas recomendadas al crear flotas y colas para instancias de spot. 
+ **Amplíe la cobertura geográfica de la cola.** Incluso si tus jugadores están agrupados en uno solo Región de AWS, añade ubicaciones adyacentes a tu flota de Spot. Este enfoque mejora la capacidad de la cola para mantener su capacidad durante las ralentizaciones regionales, los cortes de suministro y las interrupciones de spot. Las flotas con múltiples ubicaciones funcionan tanto con instancias de spot como con instancias bajo demanda.
+ **Diversifique la cobertura de tipos de instancias de la cola.** Amazon GameLift Servers evalúa la viabilidad de Spot en función del tipo de instancia, por lo que tener flotas de Spot con varios tipos de instancias reduce la posibilidad de que varias flotas de Spot no sean viables al mismo tiempo. Incluye al menos dos flotas de Spot con distintos tipos de instancias en cada ubicación. 
**nota**  
Los precios se basan en las instancias que utilice, no en la cantidad de flotas. Gestionar cinco flotas con 10 instancias cada una equivale a ejecutar una flota con 50 instancias con un costo similar. Los precios varían según el tipo de instancia, el tamaño y la ubicación. 

  Consejos para agrupar los tipos de instancias de spot: 
  + Use tipos de instancias de la misma familia, como `m6g.medium`, `m6g.large` y `m6g.xlarge`. Los tipos de instancias más grandes cuestan más, pero también pueden albergar más sesiones de juego a la vez.
  + Seleccione tipos de instancias ampliamente disponibles. Por lo general, las familias de generaciones anteriores (como C5, M5 y R5) y las de tamaño común (como .large, .xlarge y .2xlarge) tienen una mejor disponibilidad.
  + Consulte el historial de precios de 30 a 90 días en la consola de Amazon GameLift Servers. Busque tipos de instancias con patrones de disponibilidad consistentes.
  + Use la consola de Amazon GameLift Servers, la herramienta de creación de flotas, para explorar la cobertura de ubicaciones para los tipos de instancia.
+ **Añada flotas bajo demanda para obtener capacidad de respaldo.** El alojamiento de juegos puede cambiar a flotas bajo demanda siempre que las flotas de spot no estén disponibles. Coloque al menos una flota bajo demanda en cada ubicación para mantener una baja latencia de jugadores. Añada el escalado automático a las flotas bajo demanda de respaldo para mantener las flotas bajo demanda reducidas verticalmente hasta que las necesite.
+ **Asigne alias a todos los destinos de la flota.** Crea alias para cada uno de los destinos de tu cola. Los alias hacen que sea más fácil y eficiente siempre que necesites sustituir flotas. 
+ **Aplique una estrategia de priorización de colas.** Puede personalizar la forma en que una cola prioriza dónde ubicar las sesiones de juego (consulte [Priorización de la ubicación de las sesiones de juego.](queues-design-priority.md) para obtener más información). En el caso de las colas optimizadas para spot, la priorización por costo garantiza que se utilicen flotas de spot de bajo costo siempre que sea posible. 

  También puede priorizar determinadas flotas especificando un orden de destino. Por ejemplo, algunos usuarios designan un conjunto de flotas principales para su uso habitual y también un conjunto de flotas secundarias como respaldo. En este escenario, defina el orden de destino de la cola para que aparezcan primero las flotas principales. A continuación, configure el orden de prioridad de la cola con el destino seguido del costo.

# Personalizaciones de recursos de alojamiento
<a name="fleets-design"></a>

En esta sección se proporcionan opciones avanzadas para configurar y administrar la infraestructura de Amazon GameLift Servers con el fin de cumplir requisitos operativos, de costos y de rendimiento específicos. En concreto, los temas de esta sección describen cómo personalizar los recursos de alojamiento administrados de Amazon GameLift Servers para que se adapten mejor a su juego y a sus jugadores. 

Estas son algunas de las preguntas que deberá formularse: 
+ ¿Dónde va implementar los recursos de alojamiento para los jugadores? La latencia de juego es un factor importante a la hora de seleccionar las ubicaciones geográficas de la flota, pero hay otros factores que varían en función de la ubicación, como la disponibilidad y el costo de cada tipo de recurso.
+ ¿Qué tipos de EC2 instancias se adaptarán mejor a tu juego? De entre los tipos de instancias disponibles, elija aquellos que ofrezcan la mejor combinación posible de arquitectura de computación, memoria, almacenamiento y capacidad de red. 
+ ¿Qué tamaño de tipo de instancia necesito? Deberá elegir el tamaño de tipo de instancia en función de los requisitos de recursos (memoria y CPU) del software del servidor de juegos, así como en función de otros factores. 
+ ¿Debe la flota utilizar instancias bajo demanda o instancias de spot? Piense en si puede aprovechar los precios de spot más bajos y si mitiga Amazon GameLift Servers suficientemente la posibilidad de interrupciones en las sesiones de juego.
+ ¿Cómo quiero que se ejecute el software del servidor de juegos en cada instancia de la flota? La configuración del tiempo de ejecución le dice a Amazon GameLift Servers qué software de servidor debe ejecutar y cómo hacerlo.
+ En el caso de las flotas de contenedores, ¿es válida la configuración predeterminada para mi juego? Amazon GameLift Servers hace gran parte del trabajo para optimizar las configuraciones de su flota de contenedores, pero puede personalizar la mayoría de los ajustes de configuración.

# Elección de los recursos de computación para una flota administrada
<a name="gamelift-compute"></a>

En el caso del alojamiento administrado por Amazon GameLift Servers, que incluye el EC2 gestionado y los contenedores administrados, el servicio implementa los servidores de juegos en las flotas de recursos de computación en la Nube de AWS. Cuando crea una flota administrada, le conviene configurar los recursos de alojamiento para que se adapten mejor al juego. En este tema se analizan los puntos de decisión clave a la hora de elegir y configurar tus flotas de alojamiento de juegos.

**nota**  
Si está creando una solución híbrida con flotas de Anywhere y administradas por Amazon GameLift Servers, utilice estos temas para diseñar flotas administradas que complementen sus propios recursos autoadministrados. Consulte [Implementación de flotas de alojamiento para Amazon GameLift Servers](fleets-intro.md).

**Topics**
+ [Ubicaciones geográficas](#gamelift-compute-location)
+ [Sistemas operativos](#gamelift-compute-os)
+ [Tipos de instancias](#gamelift-compute-instance)
+ [Instancias bajo demanda frente a instancias de spot](#gamelift-compute-spot)
+ [Cuotas de servicio](#gamelift-service-limits)

## Ubicaciones geográficas
<a name="gamelift-compute-location"></a>

Tenga en cuenta dónde desea implementar los servidores de juegos. En general, querrás colocar tus servidores de juegos lo más cerca posible de tus jugadores para ofrecer la mejor experiencia de juego posible. Para el alojamiento Amazon GameLift Servers gestionado, puedes elegir colocar los servidores de juegos en cualquiera de las Zonas Locales Regiones de AWS y compatibles. Si está creando una solución híbrida, considera cómo la implementación de flotas administradas puede complementar las ubicaciones de sus flotas autoadministradas de Amazon GameLift Servers Anywhere.

Para la mayoría de los escenarios de desarrollo y pruebas, la implementación en una única ubicación tiene sentido. A medida que se prepara para el lanzamiento y más adelante, hay muchos motivos para realizar la implementación en varias ubicaciones geográficas. Estas incluyen dar soporte a un grupo amplio de jugadores y mejorar la resiliencia y la fiabilidad generales del alojamiento de juegos. Varias ubicaciones también pueden mejorar la experiencia de los jugadores, ya que aceleran la ubicación de las sesiones de juego y ofrecen más opciones a la hora de optimizar las ubicaciones en función de la latencia y el costo.

Para ver una lista de las ubicaciones admitidas Amazon GameLift Servers y más información sobre las ubicaciones de todos los tipos de flota, consulte [Ubicaciones de servicio de Amazon GameLift Servers](gamelift-regions.md).

Flotas con múltiples ubicaciones

Una flota administrada única puede implementar recursos en varias ubicaciones. Puede configurar la capacidad de cada ubicación de una flota con múltiples ubicaciones.

Ventajas de utilizar una flota con múltiples ubicaciones: 
+ Implementación y administración simplificadas de la flota: usted suministra el software del servidor del juego y la configuración de la flota, y Amazon GameLift Servers lo implementa en las instancias de la flota con múltiples ubicaciones (se crea una vez y se implementa en cualquier lugar). En una flota de producción, puede ver y gestionar todas las ubicaciones de una flota en lugar de tener que administrar varias flotas, cada una ubicada en una región diferente.
+ Disponibilidad de zona local: si desea utilizar una zona local, debe crear una flota de múltiples ubicaciones con una ubicación Región de AWS local y zonas locales como ubicaciones remotas. Las Zonas Locales son extensiones Regiones de AWS que pueden ofrecer una latencia aún menor a las áreas y los clientes que la necesitan. Puede añadir una zona local a cualquier flota con múltiples ubicaciones; no es necesario incluir la Región de AWS principal de la zona local.
+ Compatibilidad con las colas de las sesiones de juego: puede crear colas de ubicación de las sesiones de juego con una o más flotas con múltiples ubicaciones. Este enfoque proporciona flexibilidad a la cola a la hora de priorizar y elegir ubicaciones en las que alojar una nueva sesión de juego.
+ Utilización eficiente de los recursos: con el escalado automático activado, Amazon GameLift Servers puede optimizar mejor el escalado de la capacidad en todas las ubicaciones de una flota.

Consejos para usar flotas con múltiples ubicaciones: 
+ Comprueba las cuotas en cuanto al número de ubicaciones por Región de AWS flota. Consulte [cuotas deAmazon GameLift Servers servicio](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift).
+ No todos los tipos de instancias están disponibles en todas las ubicaciones. Según las ubicaciones que elija, es posible que tenga opciones limitadas de tipos de instancia. La Amazon GameLift Servers consola proporciona herramientas útiles que le ayudarán a encontrar el equilibrio adecuado entre ubicaciones y tipos de instancias. 
+ Considere utilizarla [Señalizadores de pings de UDP](reference-udp-ping-beacons.md) para recopilar datos sobre la latencia de los jugadores en todas las ubicaciones de su flota. Amazon GameLift Servers puede usar estos datos para optimizar las sesiones de juego con una latencia baja y evitar que los jugadores se unan a sesiones con una latencia inaceptablemente alta. Estos puntos de conexión especiales aceptan mensajes UDP en lugar de los pings de ICMP tradicionales, lo que proporciona mediciones de latencia precisas para ayudarlo a seleccionar las ubicaciones óptimas de la flota.

## Sistemas operativos
<a name="gamelift-compute-os"></a>

Todas las instancias de una flota administrada se implementan con una imagen de máquina de Amazon (AMI) que proporciona un entorno de tiempo de ejecución completo para el software del servidor de juegos. En el caso de las flotas de EC2 administradas, debe especificar el sistema operativo de la compilación del servidor de juegos al cargarla en Amazon GameLift Servers. En el caso de las flotas de contenedores administradas, especifique el sistema operativo en la definición del grupo de contenedores. Para obtener más información sobre las versiones más recientes de la AMI, consulte [Versiones de AMI de Amazon GameLift Servers](reference-ec2-ami-version-history.md).

Las versiones de AMI se actualizan periódicamente. Cuando crees una flota nueva, Amazon GameLift Servers asigna la última versión disponible de la AMI que hayas seleccionado para la versión del juego. Todas las instancias que se implementan en esa flota utilizan la misma versión. Para mantener su versión de AMI actualizada con las últimas actualizaciones de seguridad y software, debe reemplazar sus flotas periódicamente. Como práctica recomendada, recomendamos reemplazar las flotas cada 30 días para mantener el entorno de tiempo de ejecución de los servidores de juegos. Para obtener instrucciones, consulte [Prácticas recomendadas de seguridad para Amazon GameLift Servers](security-best-practices.md).

## Tipos de instancias
<a name="gamelift-compute-instance"></a>

El tipo de instancia de una flota administrada determina el tipo de hardware que se implementa en todas las instancias de flota y, por lo general, los tipos de instancia están disponibles en varios tamaños. Todas las flotas Amazon GameLift Servers administradas utilizan instancias de Amazon EC2 y admiten una amplia variedad de tipos de instancias que ofrecen diferentes combinaciones de potencia informática, memoria, almacenamiento y funciones de red. La disponibilidad de los tipos de instancia varía en función de las ubicaciones que elija. 

La Amazon GameLift Servers consola proporciona herramientas útiles que le ayudarán a encontrar los tipos de instancias adecuados para la compilación del juego y las ubicaciones de implementación. En el caso de las flotas de contenedores administradas, la consola también ofrece instrucciones sobre los requisitos de memoria y potencia de la CPU del juego.

Al elegir entre los tipos de instancias disponibles para su juego, tenga en cuenta los siguientes aspectos:
+ La arquitectura de cómputo de tu servidor de juegos: x64 o Arm (AWS Graviton).
**nota**  
Las instancias de Graviton ARM requieren una compilación de servidor para una AMI de Linux. Se requiere el SDK del servidor 5.1.1 o posterior para C\$1\$1 y C\$1. Se requiere el SDK del servidor 5.1.1 o posterior para continuar. Estas instancias no out-of-the-box admiten la instalación de Mono en Amazon Linux 2023 (AL2023) o Amazon Linux 2 (AL2). 
+ Los requisitos informáticos, de memoria y de almacenamiento de la compilación del servidor de juegos. 
+ El tamaño del tipo de instancia. Además de cumplir con los requisitos de los ejecutables del software del servidor de juegos, los tipos de instancia más grandes pueden ejecutar varios and/or contenedores de procesos del servidor de juegos en cada instancia. Los factores a tener en cuenta incluyen el costo (es más económico ejecutar unas pocas instancias grandes o muchas instancias pequeñas). Ten en cuenta también cómo puede verse afectada la capacidad de las sesiones de juego si se añaden o quitan instancias durante los eventos de escalado de la flota o cuando se cierran instancias que no funcionan correctamente. Si cada instancia ejecuta varios procesos del servidor de juegos al mismo tiempo, añadir o eliminar una instancia puede afectar considerablemente a la capacidad de alojamiento del juego. 

Para obtener más información sobre los tipos de instancias, consulte [Tipos de instancias Amazon EC2](https://aws.amazon.com/ec2/instance-types/).

## Instancias bajo demanda frente a instancias de spot
<a name="gamelift-compute-spot"></a>

Las instancias bajo demanda y las instancias de spot de Amazon EC2 ofrecen el mismo hardware y rendimiento, pero difieren en cuanto a disponibilidad y costo.

**instancias bajo demanda**  
Puede adquirir una instancia bajo demanda cuando la necesite y mantenerla todo el tiempo que desee. Las instancias bajo demanda tienen un costo fijo, lo que significa que usted paga por la cantidad de tiempo que las utilice. No es necesario asumir compromisos a largo plazo.

**Spot Instances**  
Las instancias puntuales pueden ofrecer una alternativa rentable a las instancias bajo demanda al utilizar la AWS capacidad informática no utilizada. Los precios de las instancias puntuales fluctúan en función de la oferta y la demanda de cada tipo de instancia en cada ubicación. AWS puede recuperar instancias puntuales con una notificación de dos minutos cada vez que necesite recuperar la capacidad, y las sesiones de juego que se estén ejecutando activamente en una instancia recuperada se interrumpen. 

Amazon GameLift Servers ofrece varias herramientas que ayudan a reducir la probabilidad de que Spot interrumpa tus sesiones de juego. Un algoritmo de viabilidad de spot rastrea los datos históricos del tipo de instancia para anticipar cuándo el riesgo de interrupción alcanza un punto crítico y evita colocar nuevas sesiones de juego en instancias de spot de ese tipo. Si se produce una interrupción, los servidores de juegos pueden usar la notificación para finalizar una sesión de juego para los jugadores sin problemas.

El alojamiento de juegos con las flotas de Spot debe utilizar una cola para ubicar las sesiones de juego. Una cola permite priorizar las ubicaciones de las sesiones de juego en función de la viabilidad, el costo y otros factores de la flota de Spot. Consulta estos temas para obtener más información sobre cómo aprovechar Spot como alojamiento de servidores de juegos: 
+ [Reducción de los costos de alojamiento de juegos con flotas de spot](fleets-spot.md)
+ [Creación de una cola para instancias de spot](spot-tasks.md)

## Cuotas de servicio
<a name="gamelift-service-limits"></a>

Puede ver las cuotas de servicio predeterminadas de Amazon GameLift Servers y su estado actual para su Cuenta de AWS con las siguientes herramientas:
+ Para obtener información general sobre las cuotas de servicio de Amazon GameLift Servers, consulte [Puntos de conexión y cuotas de Amazon GameLift Servers](https://docs.aws.amazon.com/general/latest/gr/gamelift.html) en la *Referencia general de AWS*.
+ Para ver una lista de los tipos de instancia disponibles por ubicación de la cuenta, abra la página [Cuotas de servicio](https://console.aws.amazon.com/gamelift/service-quotas) de la consola de Amazon GameLift Servers. Esta página también muestra el uso actual de su cuenta para cada tipo de instancia en cada ubicación.
+ Para obtener una lista de las cuotas actuales de tu cuenta (por ejemplo, tipos de instancias) por región, ejecuta el comando AWS Command Line Interface ()AWS CLI. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html) Este comando devuelve el número de instancias activas de los que dispone en su región predeterminada (o en otra región que especifique).

Mientras te preparas para lanzar el juego, rellena un cuestionario de lanzamiento en la [Amazon GameLift Serversconsola](https://console.aws.amazon.com/gamelift/). El equipo de Amazon GameLift Servers utiliza el cuestionario de lanzamiento para determinar las cuotas y los límites correctos para el juego.

# Personalización de una flota de contenedores de Amazon GameLift Servers
<a name="containers-design-fleet"></a>

En los temas de esta sección, se describen algunas de las características opcionales de los contenedores administrados por Amazon GameLift Servers. Puede optar por utilizar todas o algunas de las características siguientes.

**Topics**
+ [Establecimiento de los límites de recursos](#containers-design-fleet-limits)
+ [Comprenda la asignación de memoria de la flota de contenedores](#containers-design-fleet-memory-allocation)
+ [Configuración del acceso NVMe a la unidad](#containers-design-fleet-nvme)
+ [Designación de contenedores esenciales](#containers-design-fleet-essential)
+ [Configuración de conexiones de red](#containers-custom-network)
+ [Configure las comprobaciones de estado de los contenedores](#containers-design-fleet-health)
+ [Establecimiento de dependencias de contenedores](#containers-design-fleet-dependencies)
+ [Configure una flota de contenedores](#containers-design-fleet-config)

## Establecimiento de los límites de recursos
<a name="containers-design-fleet-limits"></a>

Para cada grupo de contenedores, puede determinar cuánta memoria y potencia de cálculo necesita el grupo de contenedores para ejecutar su software. Amazon GameLift Servers se basa en esta información para administrar los recursos en todo el grupo de contenedores. También utiliza esta información para calcular cuántos grupos de contenedores de servidores de juegos puede contener una imagen de flota. También puede definir límites para contenedores individuales.

Puede establecer un límite máximo de memoria y potencia de cálculo para un grupo de contenedores. De forma predeterminada, todos los contenedores del grupo comparten estos recursos. Puede personalizar aún más la administración de recursos estableciendo límites para los contenedores individuales. 

**Establezca límites opcionales para contenedores individuales**  
Establecer límites de recursos específicos para cada contenedor te permite ejercer un mayor control sobre cómo los contenedores individuales pueden usar los recursos del grupo. Si no estableces límites específicos para los contenedores, todos los contenedores del grupo comparten los recursos del grupo. El uso compartido ofrece una mayor flexibilidad para usar los recursos donde se necesiten. También aumenta la posibilidad de que los procesos compitan entre sí y provoquen la falla del contenedor.  
Defina cualquiera de las siguientes propiedades `ContainerDefinition` para cualquier contenedor.  
+ `MemoryHardLimitMebibytes`: establezca un límite máximo de memoria para el contenedor. Si el contenedor supera este límite, se reinicia.
+ Límite de `Vcpu`: reserve una cantidad mínima de recursos de vCPU para uso exclusivo del contenedor. El contenedor siempre tiene disponible la cantidad reservada. Puede superar este mínimo en cualquier momento, si hay recursos adicionales disponibles. (1024 unidades de CPU equivalen a 1 vCPU).

**Establezca los límites totales de recursos para un grupo de contenedores**  
Si estableces límites para contenedores individuales, es posible que tengas que modificar la cantidad de recursos de memoria y vCPU que necesita el grupo de contenedores. El objetivo es asignar recursos suficientes para optimizar el rendimiento del servidor de juegos. Amazon GameLift Servers utiliza estos límites para calcular cómo empaquetar los grupos de contenedores de servidores de juegos en una instancia de flota. También los usarás al elegir un tipo de instancia para una flota de contenedores.  
Calcule la memoria total y la vCPU necesarias para un grupo de contenedores. Considere lo siguiente:  
+ ¿Cuáles son todos los procesos que se ejecutan en todos los contenedores del grupo de contenedores? Sume los recursos necesarios para estos procesos. Tome nota de los límites específicos de los contenedores.
+ ¿Cuántos procesos simultáneos del servidor de juegos planeas ejecutar en cada grupo de contenedores? Esto lo determinas en la imagen del contenedor del servidor de juegos. 
En función de su estimación de los requisitos de los grupos de contenedores, defina las siguientes propiedades `ContainerGroupDefinition`:   
+ `TotalMemoryLimitMebibytes`: establezca un límite máximo de memoria para el grupo de contenedores. Todos los contenedores del grupo comparten la memoria asignada. Si establece límites de contenedores individuales, el límite de memoria total debe ser igual o superior al límite máximo de memoria específico del contenedor.
+ `TotalVcpuLimit`: establezca un límite máximo de vCPU para el grupo de contenedores. Todos los contenedores del grupo comparten los recursos de CPU asignados. Si estableces límites de contenedores individuales, el límite total de CPU debe ser igual o superior a la suma de todos los límites de CPU específicos del contenedor. Como práctica recomendada, considere configurar este valor para que duplique la suma de los límites de CPU del contenedor.

**Escenario de ejemplo**  
Supongamos que estamos definiendo un grupo de contenedores de servidores de juegos con los tres contenedores siguientes:   
+ El contenedor A es nuestro contenedor para servidores de juegos. Estimamos los requisitos de recursos para un servidor de juegos en 512 MiB y 1024 CPU. Planeamos que el contenedor ejecute un proceso de servidor. Como este contenedor ejecuta nuestro software más crítico, no establecemos ningún límite de memoria ni límite de reserva de vCPU.
+ El contenedor B es un contenedor de soporte con requisitos de recursos estimados en 1024 MiB y 1536 CPU. Hemos establecido un límite de memoria de 2048 MiB y un límite de reserva de CPU de 1024 CPU.
+ El contenedor C es otro contenedor de soporte. Hemos establecido un límite de memoria dura de 512 MiB y un límite de reserva de CPU de 512 CPU.
Con esta información, establecemos los siguientes límites totales para el grupo de contenedores:  
+ Límite total de memoria: 7680 MiB. Este valor supera el límite de memoria más alto (1024 MiB).
+ Límite total de CPU: 13312 CPU. Este valor supera la suma del límite de CPU (1024\$1512 CPU).

## Comprenda la asignación de memoria de la flota de contenedores
<a name="containers-design-fleet-memory-allocation"></a>

Cuando Amazon GameLift Servers despliega grupos de contenedores en una instancia de flota, no toda la memoria de la instancia está disponible para sus contenedores. Amazon GameLift Serversreserva una parte de la memoria de la instancia para el sistema operativo, el agente Amazon ECS y otros servicios de soporte. La cantidad de memoria reservada varía en función de la memoria total del tipo de instancia. Comprender esta sobrecarga te ayuda a configurar las definiciones de los grupos de contenedores para aprovechar al máximo los recursos disponibles.

### Fórmula de sobrecarga de memoria
<a name="containers-design-fleet-memory-formula"></a>

Amazon GameLift Serverscalcula la memoria disponible para sus grupos de contenedores mediante los siguientes pasos:

1. **Determine el porcentaje de búfer de memoria.** Amazon GameLift Serversreserva un porcentaje de la memoria total de la instancia en función de los siguientes niveles:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/gameliftservers/latest/developerguide/containers-design-fleet.html)

1. **Calcula la memoria disponible.** Reste la memoria reservada de la memoria total de la instancia:

   `AvailableMemory = InstanceMemory - round(InstanceMemory × BufferPercentage)`

1. **Reste la memoria del grupo de contenedores por instancia.** Si su flota usa un grupo de contenedores por instancia, réstelo de la memoria disponible`TotalMemoryLimitMebibytes`. Se ejecuta un grupo de contenedores por instancia en cada instancia de flota.

   `AvailableMemory = AvailableMemory - PerInstanceCGD.TotalMemoryLimitMebibytes`

1. **Tenga en cuenta la sobrecarga del router de registro.** Si el registro está habilitado para la flota, Amazon GameLift Servers reserva 50 MiB adicionales por grupo de contenedores de servidores de juegos para el router de registros.

1. **Calcula el número máximo de grupos de contenedores de servidores de juegos.** El número máximo de grupos de contenedores de servidores de juegos que caben en la instancia por memoria es:

   `MaxGroupsByMemory = floor(AvailableMemory / (GameServerCGD.TotalMemoryLimitMebibytes + LogRouterMemory))`

   Donde `LogRouterMemory` es 50 MiB si el registro está habilitado o 0 si el registro está deshabilitado.

**nota**  
La memoria es solo un factor que determina cuántos grupos de contenedores de servidores de juegos caben en una instancia. Amazon GameLift Serverstambién tiene en cuenta la capacidad de la vCPU y los puertos de conexión disponibles, y utiliza el mínimo de los tres cálculos.

### Ejemplo de cálculo de memoria
<a name="containers-design-fleet-memory-example"></a>

Pensemos en una flota que usa una `c5.xlarge` instancia (memoria total de 8.192 MiB) con el registro habilitado:

1. La memoria de la instancia es de 8192 MiB, que se encuentra en el nivel de 5000 a 9,999 (búfer del 6%)

1. Memoria reservada = redonda (8.192 × 0.06) = 492 MiB

1. Memoria disponible = 8.192 - 492 = 7.700 MiB

1. Si se usa un grupo `TotalMemoryLimitMebibytes` de contenedores por instancia con 512: memoria disponible = 7,700 - 512 = 7,188 MiB

1. Si cada grupo de contenedores de servidores `TotalMemoryLimitMebibytes` de juegos tiene 1.024: MaxGroupsByMemory = planta (7.188/(1.024 \$1 50)) = planta (7.188/1.074) = 6

### Memoria disponible por tipo de instancia
<a name="containers-design-fleet-memory-reference"></a>

En la siguiente tabla, se muestra la memoria total y la memoria disponible (después del Amazon GameLift Servers búfer) para los tipos de instancias más utilizados. Utilice estos valores como punto de partida al configurar las definiciones de los grupos de contenedores. La columna *Memoria disponible* muestra la memoria disponible para todos los grupos de contenedores de la instancia, antes de restar cualquier sobrecarga del grupo de contenedores o del router de registros por instancia.


| Tipo de instancia | Memoria total (MiB) | Porcentaje de búfer | Memoria disponible (MiB) | 
| --- | --- | --- | --- | 
| c5.large | 4.096 | 8% | 3.768 | 
| c5.xlarge | 8 192 | 6% | 7.700 | 
| c5.2xlarge | 16.384 | 5% | 15.565 | 
| c5.4xlarge | 32 768 | 5% | 31.130 | 
| c5.9xlarge | 73.728 | 5% | 70.042 | 
| c5.12xlarge | 98.304 | 4% | 94.372 | 
| c5.18xlarge | 147.456 | 4% | 141.558 | 
| c5.24xlarge | 196.608 | 4% | 188.744 | 
| m5.large | 8 192 | 6% | 7.700 | 
| m5.xlarge | 16.384 | 5% | 15.565 | 
| m5.2xlarge | 32 768 | 5% | 31.130 | 
| m5.4xlarge | 65.536 | 5% | 62.259 | 
| m5.8xlarge | 131.072 | 4% | 125.829 | 
| m5.12xlarge | 196.608 | 4% | 188.744 | 
| r5.large | 16.384 | 5% | 15.565 | 
| r5.xlarge | 32 768 | 5% | 31.130 | 
| r5.2xlarge | 65.536 | 5% | 62.259 | 
| r5.4xlarge | 131.072 | 4% | 125.829 | 
| c6i.large | 4.096 | 8% | 3.768 | 
| c6i.xlarge | 8 192 | 6% | 7.700 | 
| c6i.2xlarge | 16.384 | 5% | 15.565 | 
| c6i.4xlarge | 32 768 | 5% | 31.130 | 
| c6i.8xlarge | 65.536 | 5% | 62.259 | 
| c7i.large | 4.096 | 8% | 3.768 | 
| c7i.xlarge | 8 192 | 6% | 7.700 | 
| c7i.2xlarge | 16.384 | 5% | 15.565 | 
| c7i.4xlarge | 32 768 | 5% | 31.130 | 
| c7i.8xlarge | 65.536 | 5% | 62.259 | 
| m7i.large | 8 192 | 6% | 7.700 | 
| m7i.xlarge | 16.384 | 5% | 15.565 | 
| m7i.2xlarge | 32 768 | 5% | 31.130 | 
| m7i.4xlarge | 65.536 | 5% | 62.259 | 
| m7i.8xlarge | 131.072 | 4% | 125.829 | 
| m7i.12xlarge | 196.608 | 4% | 188.744 | 
| r7i.large | 16.384 | 5% | 15.565 | 
| r7i.xlarge | 32 768 | 5% | 31.130 | 
| r7i.2xlarge | 65.536 | 5% | 62.259 | 
| r7i.4xlarge | 131.072 | 4% | 125.829 | 

Por ejemplo, los tipos que no figuran aquí, puede calcular la memoria disponible mediante la fórmula descrita anteriormente. Consulte la [documentación de tipos de instancias de Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html) para ver la memoria total del tipo de instancia elegido.

## Configuración del acceso NVMe a la unidad
<a name="containers-design-fleet-nvme"></a>

En las instancias de tipo d, la NVMe unidad se monta automáticamente en el `/data` directorio durante el inicio del host. Para permitir que los contenedores accedan al almacenamiento SSD, defina la siguiente propiedad: `ContainerGroupDefinition` `MountPoints`
+ `InstancePath`— `/data` Configúrelo en para hacer referencia a la NVMe unidad montada automáticamente en la instancia host.
+ `AccessLevel`— Elija el nivel de acceso adecuado a las necesidades de su contenedor (por ejemplo, READ\$1ONLY o READ\$1WRITE).
+ `ContainerPath`— (Opcional) Especifique la ruta en la que se montará la ruta de la instancia dentro del contenedor. Si no se especifica, el valor predeterminado es la ruta de la instancia.

Para obtener más información sobre los puntos de montaje, consulte [ContainerMountPoint](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerMountPoint.html)la referencia de la API de Amazon GameLift Servers.

## Designación de contenedores esenciales
<a name="containers-design-fleet-essential"></a>

Para un grupo de contenedores por instancia, designa cada contenedor como esencial o no esencial. Los grupos de contenedores por instancia deben tener al menos un contenedor de soporte esencial. El contenedor esencial realiza el trabajo fundamental del grupo de contenedores. Se espera que el contenedor esencial esté siempre funcionando. Si se produce un error, se reinicia todo el grupo de contenedores. 

Establezca la propiedad `ContainerDefinition` `Essential` en verdadero o falso para cada contenedor.

## Configuración de conexiones de red
<a name="containers-custom-network"></a>

Puede personalizar el acceso a la red para permitir que el tráfico externo se conecte a cualquier contenedor de una flota de contenedores. Por ejemplo, debe establecer conexiones de red con el contenedor que ejecuta los procesos del servidor de juegos para que los clientes del juego puedan unirse y jugar al juego. Los clientes de juegos se conectan a los servidores de juegos mediante puertos y direcciones IP.

En una flota de contenedores, la conexión entre un cliente y un servidor no es directa. Internamente, un proceso de un contenedor escucha en un *puerto de contenedores*. Externamente, el tráfico entrante se conecta a una instancia de flota mediante un *puerto de conexión*. Amazon GameLift Servers mantiene las asignaciones entre los puertos contenedores internos y los puertos de conexión externos, de modo que el tráfico entrante se dirija al proceso correcto de la instancia. 

Amazon GameLift Servers proporciona una capa adicional de control para sus conexiones de red. Cada flota de contenedores tiene una configuración de *permisos de entrada*, que le permite controlar el acceso a cada puerto de conexión externo. Por ejemplo, puede eliminar los permisos de todos los puertos de conexión para impedir el acceso a los contenedores de la flota.

Puede actualizar los permisos de entrada, los puertos de conexión y los puertos de contenedores de una flota.

**aviso**  
Si proporciona un valor personalizado InstanceConnectionPortRange o InstanceInboundPermissions, ya no Amazon GameLift Servers administrará ninguno de los dos valores para su flota. Debe configurar ambos campos para evitar un comportamiento indefinido.

**Configuración de puertos de contenedores**  
Configure los rangos de puertos de contenedores como parte de la definición de cada contenedor. Este es un parámetro obligatorio para la definición de un grupo de contenedores. Debe configurar suficientes puertos para dar cabida a todos los procesos que se ejecutan simultáneamente y que necesitan acceso externo. Algunos contenedores no necesitarán ningún puerto.  
El contenedor del servidor de juegos, en el que se ejecutan los servidores de juegos, necesita un puerto para cada proceso del servidor de juegos que se ejecute simultáneamente. El proceso del servidor de juegos escucha en el puerto asignado e informa a Amazon GameLift Servers.

**Configuración de puertos de conexión**  
Configure su flota de contenedores con un conjunto de puertos de conexión. Los puertos de conexión proporcionan acceso externo a las instancias de la flota en las que se utilizan sus contenedores. Amazon GameLift Servers asigna los puertos de conexión y los asigna a los puertos de contenedores según sea necesario.  
De forma predeterminada, Amazon GameLift Servers calcula el número de puertos necesarios para todos los grupos de contenedores y establece un rango de puertos para acomodarlos. Le recomendamos encarecidamente que utilice valores calculados de Amazon GameLift Servers, que se actualizan al implementar actualizaciones en la definición de un grupo de contenedores. Si necesita personalizar los rangos de puertos de conexión, utilice las siguientes instrucciones.  
Al crear una flota de contenedores, defina un rango de puertos de conexión (consulte [ ContainerFleet: InstanceConnectionPortRange](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Asegúrate de que el rango tenga suficientes puertos para asignarlos a todos los puertos de contenedores definidos para todos los contenedores de ambos grupos de contenedores de la flota. Para calcular los puertos de conexión mínimos necesarios, utilice la siguiente fórmula:   
`[Total number of container ports defined for containers in the game server container group] * [Number of game server container groups per instance] + [Total number of container ports defined for containers in the per-instance container group]`  
Como práctica recomendada, duplique el número mínimo de puertos de conexión.   
El número de puertos de conexión puede limitar potencialmente el número de grupos de contenedores de servidores de juegos por instancia. Si una flota solo tiene puertos de conexión suficientes para un grupo de contenedores de servidores de juegos por instancia, Amazon GameLift Servers implementará solo un grupo de contenedores de servidores de juegos, incluso si las instancias tienen suficiente potencia de cálculo para varios grupos de contenedores de servidores de juegos.

**Configuración de permisos de entrada**  
Los permisos de entrada controlan el acceso externo a una flota de contenedores especificando qué puertos de conexión se deben abrir para el tráfico entrante. Puede usar esta configuración para activar y desactivar el acceso a la red de una flota según sea necesario.   
De forma predeterminada, Amazon GameLift Servers calcula el número de puertos necesarios para todos los grupos de contenedores y establece un rango de puertos para acomodarlos. Le recomendamos encarecidamente que utilice valores calculados de Amazon GameLift Servers, que se actualizan al implementar actualizaciones en la definición de un grupo de contenedores. Si necesita personalizar los rangos de puertos de conexión, utilice las siguientes instrucciones.  
Al crear una flota de contenedores, defina un conjunto de permisos de entrada (consulte [ ContainerFleet: InstanceInboundPermissions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Los puertos de permisos de entrada deben coincidir con los rangos de puertos de conexión de la flota.   
Dado que los puertos de contenedores se seleccionan aleatoriamente entre InstanceConnectionPortRange sí, para garantizar que se puedan realizar las conexiones de sesión, todos los puertos de entrada InstanceConnectionPortRange deben estar cubiertos por los puertos de InstanceInboundPermissions

**Escenario de ejemplo**  
Este ejemplo ilustra cómo definir las tres propiedades de conexión de red.  
+ El grupo de contenedores de servidores de juegos de nuestra flota tiene 1 contenedor, que ejecuta 1 proceso de servidor de juegos. 

  En la definición del grupo de contenedores de servidores de juegos, establecemos el parámetro `PortConfiguration` para este contenedor de la siguiente manera:

  ```
  "PortConfiguration": {
    "ContainerPortRanges": [ { "FromPort": 10, "ToPort": 20, "Protocol": "TCP"} ]  }
  ```
+ Nuestra flota también tiene un grupo de contenedores por instancia con 1 contenedor. Tiene 1 proceso que necesita acceso a la red. En la definición del contenedor por instancia, establecemos el parámetro `PortConfiguration` para este contenedor de la siguiente manera:

  ```
  "PortConfiguration": {
    "ContainerPortRanges": [ { "FromPort": 25, "ToPort": 25, "Protocol": "TCP"} ]  }
  ```
+ Nuestra flota está configurada con 20 grupos de contenedores de servidores de juegos por instancia de flota. Con esta información, podemos usar la fórmula para calcular el número de puertos de conexión que necesitamos: 
  + Mínimo: **21 puertos** [1 puerto contenedor de servidor de juegos \$1 20 grupos de contenedores de servidores de juegos por instancia \$1 1 puerto contenedor por instancia]
  + Práctica recomendada: **42 puertos [puertos** mínimo \$1 2]

  Al crear la flota de contenedores, configuramos el parámetro `InstanceConnectionPortRange` de la siguiente manera:

  ```
  "InstanceConnectionPortRange": { "FromPort": 1010, "ToPort": 1071 }
  ```
+ Queremos permitir el acceso a todos los puertos de conexión disponibles. Al crear la flota de contenedores, configuramos el parámetro `InstanceInboundPermissions` de la siguiente manera: 

  ```
  "InstanceInboundPermissions": [ 
    {"FromPort": 1010, "ToPort": 1071, "IpRange": "10.24.34.0/23", "Protocol": "TCP"} ]
  ```

## Configure las comprobaciones de estado de los contenedores
<a name="containers-design-fleet-health"></a>

Un contenedor se reinicia automáticamente si sufre una falla en la terminal y deja de funcionar. Si un contenedor se considera esencial, solicita a todo el grupo de contenedores que se reinicie. 

Todos los contenedores de servidores de juegos se consideran esenciales automáticamente. Los contenedores Support pueden considerarse esenciales, pero deben tener un mecanismo para informar sobre el estado de salud. También puede establecer comprobaciones de estado para los contenedores de apoyo no esenciales.

Puede definir criterios personalizados adicionales para medir el estado de los contenedores y utilizar una comprobación de estado para comprobar esos criterios. Para configurar una comprobación del estado de un contenedor, puede definirla en una imagen de contenedor de Docker o en la definición de contenedor. Si configuras una comprobación de estado en la definición del contenedor, esta anulará cualquier configuración de la imagen del contenedor.

Defina las siguientes propiedades `SupportContainerDefinition` para una comprobación del estado del contenedor: 
+ `Command`: proporcione un comando que compruebe algún aspecto del estado del contenedor. Usted decide qué criterios utilizar para medir la salud. El comando debe dar como resultado un valor de salida de 1 (en mal estado) o 0 (en buen estado). 
+ `StartPeriod`: especifique un retraso inicial antes de que los fallos en las comprobaciones de estado empiecen a contabilizarse. Este retraso da tiempo al contenedor para iniciar sus procesos.
+ `Interval`: decida con qué frecuencia se va a ejecutar el comando de comprobación de estado. ¿Con qué rapidez desea detectar y resolver un fallo en un contenedor?
+ `Timeout`: decida cuánto tiempo esperar para que se ejecute correctamente o no antes de volver a intentar ejecutar el comando de comprobación de estado. ¿Cuánto tiempo debe tardar en completarse el comando de comprobación de estado?
+ `Retries`: ¿Cuántas veces se debe volver a intentar el comando de comprobación de estado antes de que se registre un error?

## Establecimiento de dependencias de contenedores
<a name="containers-design-fleet-dependencies"></a>

Dentro de cada grupo de contenedores, puede establecer las dependencias entre los contenedores en función del estado del contenedor. Una dependencia afecta al momento en que el contenedor dependiente puede iniciarse o cerrarse en función del estado de otro contenedor. 

Un caso de uso clave de las dependencias es crear secuencias de inicio y cierre para el grupo de contenedores. 

Por ejemplo, es posible que desee que el contenedor A comience primero y se complete correctamente antes de que se inicien los contenedores B y C. Para lograrlo, cree primero una dependencia para el contenedor B en el contenedor A, con la condición de que el contenedor A se complete correctamente. A continuación, cree una dependencia para el contenedor C en el contenedor A con la misma condición. Las secuencias de inicio se producen en orden inverso al de cierre.

## Configure una flota de contenedores
<a name="containers-design-fleet-config"></a>

Al crear una flota de contenedores, tenga en cuenta los siguientes puntos de decisión. La mayoría de estos puntos dependen de la arquitectura y configuración del contenedor.

**Decida dónde desea implementar su flota**  
En general, querrá implementar las flotas geográficamente cerca de los jugadores para minimizar la latencia. Puede desplegar su flota de contenedores en cualquiera Región de AWS que lo Amazon GameLift Servers soporte. Si quieres implementar el mismo servidor de juegos en ubicaciones geográficas adicionales, puedes añadir ubicaciones remotas a la flota, incluidas Regiones de AWS las Zonas Locales. En el caso de las flotas con múltiples ubicaciones, puede ajustar la capacidad de forma independiente en cada ubicación de la flota. Para obtener más información sobre las ubicaciones de flota admitidas, consulte [Ubicaciones de servicio de Amazon GameLift Servers](gamelift-regions.md).  
Puede usar [Señalizadores de pings de UDP](reference-udp-ping-beacons.md) para recopilar datos de latencia de red en varias ubicaciones geográficas para anticipar la latencia entre los dispositivos de los jugadores y las posibles ubicaciones de la flota. Estos puntos de conexión especiales aceptan mensajes UDP en lugar de los pings de ICMP tradicionales, lo que proporciona mediciones de latencia precisas para ayudarlo a seleccionar las ubicaciones óptimas de la flota.

**Elija un tipo de instancia para la flota.**  
Amazon GameLift Servers admite una amplia gama de tipos de instancias de Amazon EC2, todas las cuales están disponibles para su uso con una flota de contenedores. La disponibilidad del tipo de instancia y el precio varían según la ubicación. Puede ver una lista de los tipos de instancias compatibles, filtrados por ubicación, en la consola de Amazon GameLift Servers (en **Recursos, instancias y cuotas de servicio**).   
Al elegir un tipo de instancia, ten en cuenta primero la familia de instancias. Las familias de instancias ofrecen varios tipos de combinaciones de CPU, memoria, almacenamiento y capacidades de red. Obtenga más información sobre las [familias de instancias de EC2](https://aws.amazon.com/ec2/instance-types/). Dentro de cada familia, puede elegir entre una variedad de tamaños de instancia. Tenga en cuenta los siguientes aspectos al seleccionar un tamaño de instancia:   
+ ¿Cuál es el tamaño mínimo de instancia que puede soportar tu carga de trabajo? Usa esta información para eliminar cualquier tipo de instancia que sea demasiado pequeña.
+ ¿Qué tamaños de tipos de instancias son adecuados para su arquitectura de contenedores? Lo ideal es elegir un tamaño que pueda alojar varias copias del grupo de contenedores de servidores de juegos con un mínimo de espacio desperdiciado.
+ ¿Qué granularidad de escalado tiene sentido para tu juego? Escalar la capacidad de la flota implica añadir o eliminar instancias, y cada instancia representa la capacidad de albergar un número específico de sesiones de juego. Tenga en cuenta la cantidad de capacidad que desea añadir o eliminar con cada instancia. Si la demanda de los jugadores varía en miles de un minuto a otro, podría ser conveniente utilizar instancias muy grandes que puedan alojar cientos o miles de sesiones de juego. Por el contrario, es posible que prefiera un control de escalado más detallado con tipos de instancias más pequeñas.
+ ¿Hay ahorros de costos disponibles en función del tamaño? Es posible que el costo de algunos tipos de instancias varíe según la ubicación debido a la disponibilidad.

**Establezca otros ajustes de flota opcionales**  
Puede utilizar las siguientes características opcionales al configurar una flota de contenedores:   
+ Configura tus servidores de juego para acceder a otros AWS recursos. Consulte [Conecta tu servidor de juegos Amazon GameLift Servers alojado a otros AWS recursos](gamelift-sdk-server-resources.md).
+ Evita que las sesiones de juego con jugadores activos se terminen de forma prematura durante un evento de reducción vertical.
+ Limite el número de sesiones de juego que una persona puede crear en la flota dentro de un lapso de tiempo limitado.

# Reducción de los costos de alojamiento de juegos con flotas de spot
<a name="fleets-spot"></a>

A la hora de alojar servidores de juegos multijugador mediante un alojamiento administrado por Amazon GameLift Servers, las instancias de spot pueden ofrecer una alternativa rentable a las instancias bajo demanda. El modelo de precios de spot ofrece el mismo hardware y rendimiento que bajo demanda, pero con posibilidades de un ahorro de costos significativo (de hasta un 70-90 %). Sin embargo, tienen una limitación: cuando AWS necesita recuperar la capacidad, puede recuperar estas instancias con una notificación de interrupción de dos minutos. 

Amazon GameLift Servers mitiga el riesgo de interrupciones en el alojamiento del servidor de juegos. Amazon GameLift Servers predice la probabilidad de que se produzcan interrupciones en los tipos de instancias de spot y evita poner en riesgo las sesiones de juego de cualquier instancia. Si se produce una interrupción, lo que será poco frecuente, la notificación le permite finalizar sin problemas una sesión de juego para los jugadores.

## Funcionamiento de Amazon GameLift Servers con flotas de spot
<a name="spot-fleet-howitworks"></a>

Cuando se configuran flotas de spot para el alojamiento de juegos, Amazon GameLift Servers evalúa continuamente los tipos de instancias y las ubicaciones de las flotas de spot para comprobar la viabilidad del alojamiento de juegos. 
+ El algoritmo de viabilidad de spot analiza los patrones de disponibilidad recientes y las tasas de interrupción históricas de los tipos de instancias de spot por ubicación.
+ Basándose en este análisis, Amazon GameLift Servers identifica los tipos de instancias de spot y las ubicaciones en las que las probabilidades de interrupción de las sesiones de juego son inaceptables. Lleva a cabo las siguientes acciones: 
  + Marca la combinación del tipo de instancia y la ubicación como temporalmente inviable.
  + Deja de considerar cualquier ubicación de flota de spot inviable a la hora de ubicar las nuevas sesiones de juego. Como resultado de ello, las sesiones de juego solo se ubican en ubicaciones de flota de spot que ofrecen una alta probabilidad de alojar servidores de juegos sin interrupciones.
  + Esto agota las instancias existentes en la flota de spot, incluso si AWS no las reclama, de modo que no tenga que pagar por instancias que no se puedan utilizar para el alojamiento de juegos. Si la protección de las sesiones de juego está activada, las instancias solo se cierran una vez completadas las sesiones de juego activas.
+ Amazon GameLift Servers reevalúa continuamente los tipos y ubicaciones de las instancias de las flotas de spot para comprobar la viabilidad del alojamiento de juegos. Cuando un tipo de instancia que antes no era viable vuelve a ser viable en función de los datos históricos actualizados, puede volver a escalar verticalmente la flota de spot; en este caso, Amazon GameLift Servers reanudará la ubicación de las sesiones de juego con ella.

## Consideraciones sobre el diseño
<a name="spot-fleet-design"></a>

A la hora de diseñar una solución que utilice flotas de spot, tenga en cuenta los siguientes aspectos:
+ **Evalúe la duración de las sesiones de juego**: la duración media de las sesiones de juego puede influir en cómo funciona Spot con su juego. Con sesiones de juego más cortas, el menor tiempo de respuesta hace que las sesiones de juego se ejecuten en tipos de instancias viables basándose en los datos históricos más recientes. Las sesiones de juego más largas siguen ejecutándose en tipos de instancias sin evaluar los datos de viabilidad recientes, lo que aumenta el riesgo de interrupción a lo largo del tiempo.
+ **Evalúe la disponibilidad de los tipos de instancia**: no todas las ubicaciones de la flota ofrecen todos los tipos de instancias como spot. Al elegir un tipo de instancia para su flota de spot, utilice la herramienta de creación de flotas de la consola de Amazon GameLift Servers para encontrar tipos de instancias de spot en las ubicaciones que necesite. Con esta herramienta, puede seleccionar ubicaciones de flota y, a continuación, ver la disponibilidad de los tipos de instancias en esas ubicaciones.
+ **Cree flotas de Spot con múltiples ubicaciones**: puede crear flotas de spot con múltiples ubicaciones. Una única flota de Spot con múltiples ubicaciones implementa instancias con el mismo tipo de instancia en varias Zonas Locales Regiones de AWS o en Zonas Locales. El algoritmo de viabilidad de spot evalúa la viabilidad en función del tipo de instancia y la ubicación. Si la ubicación de una flota de spot se considera inviable, esto no afectará a otras ubicaciones de la flota, que podrán seguir utilizándose para alojar sesiones de juego.
+ **Cree colas con diversidad de flotas de spot**: si utiliza flotas de spot para el alojamiento del juego, tendrá que configurar una cola de ubicación de sesiones de juego. Para cada nueva solicitud de sesión de juego, la cola busca los recursos de alojamiento de juegos disponibles y selecciona la mejor opción posible. Con las flotas de spot, lo ideal es disponer de una cola capaz de buscar entre múltiples flotas que varíen tanto en cuanto a ubicaciones como a tipos de instancias, e incluir al menos una flota bajo demanda como capacidad de reserva. Una cola de múltiples flotas correctamente diseñada y que ofrezca diversas opciones de ubicación es muy resistente a interrupciones, ralentizaciones y cortes. Para obtener más información sobre cómo diseñar una cola para spot, consulte [Creación de una cola para instancias de spot](spot-tasks.md).
+ **Gestione las interrupciones eficazmente**: configure el servidor de juegos para minimizar el impacto en los jugadores en caso de que se produzca una interrupción de spot. Cuando AWS recupera una instancia de spot, envía la notificación de finalización a Amazon GameLift Servers todos los procesos del servidor afectados mediante la función de devolución de llamada del SDK del servidor. `onProcessTerminate()` El juego debe implementar esta devolución de llamada para finalizar la sesión de juego sin problemas. Para obtener más información, consulte [Respuesta a una notificación de cierre del proceso del servidor](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).
**nota**  
AWS hace todo lo posible por proporcionar la notificación antes de recuperar una instancia, pero es posible que AWS recupere la instancia puntual antes de que llegue la advertencia. También debe preparar el servidor de juegos para que gestione las interrupciones imprevistas.
+ **Configure el escalado automático de las flotas de reserva para mantener el servicio durante una interrupción de spot.** El escalado automático con seguimiento de objetivos mantiene un búfer de capacidad y escala automáticamente en función de la demanda. Con el escalado automático, las flotas de reserva (de spot o bajo demanda) empezarán a aumentar su capacidad al empezar a recibir más solicitudes de sesiones de juego. 

  Para reemplazar rápidamente la capacidad perdida cuando una flota de spot deja de ser viable, un mecanismo de escalado personalizado puede utilizar las métricas de colas y flotas disponibles para iniciar un escalado rápido de las flotas de reserva. Detecte cuándo las flotas de spot dejan de ser viables con métricas como `FirstChoiceOutOfCapacity`, `FirstChoiceNotViable` y `PercentAvailableGameSessions`. Para hacer una estimación de las necesidades de capacidad de sustitución, puede analizar los datos recientes de las métricas de `PlacementsStarted`. Tras escalar las flotas de reserva para dar cabida a la demanda inmediata, puede continuar con el escalado automático normal.
+ **Integración con FlexMatch**: si su solución utiliza un emparejador de FlexMatch, no hay requisitos especiales para las flotas de spot. Puede configurar un emparejador para que utilice una cola con las flotas de spot. Amazon GameLift Servers prioriza automáticamente las ubicaciones de las partidas en las flotas de spot y bajo demanda, incluso al ubicar las nuevas sesiones de juego y al reponer los espacios vacíos para jugadores en las sesiones de juego existentes.

# Optimización de la configuración del tiempo de ejecución del servidor de juegos en Amazon GameLift Servers administrado
<a name="fleets-multiprocess"></a>

Puede establecer la configuración del tiempo de ejecución de una flota de EC2 administrada para que ejecute varios procesos de servidor de juegos por instancia. De esa manera, se utilizan sus recursos de alojamiento de manera más eficiente.

## Modo en que una flota administra varios procesos
<a name="fleets-multiprocess-howitworks"></a>

Amazon GameLift Servers utiliza la configuración del tiempo de ejecución de una flota para determinar el tipo y el número de procesos que se deben ejecutar en cada instancia. Una configuración de tiempo de ejecución contiene al menos una configuración de proceso de servidor que representa un archivo ejecutable de servidor de juegos. Puede definir configuraciones de procesos de servidor adicionales para ejecutar otros tipos de procesos relacionados con el juego. Cada configuración del proceso del servidor contiene la siguiente información:
+ El nombre de archivo y la ruta de acceso de un ejecutable de la compilación del juego.
+ (Opcional) Los parámetros que se pasan al proceso del servidor durante el lanzamiento
+ El número de procesos que se van a ejecutar al mismo tiempo.

Cuando se activa una instancia de la flota, lanza inmediatamente el conjunto de procesos del servidor definidos en la configuración del tiempo de ejecución. Con varios procesos, Amazon GameLift Servers escalona el lanzamiento de cada proceso. Los procesos del servidor tienen una vida útil limitada. A medida que finalizan, Amazon GameLift Servers lanza nuevos procesos para mantener el número y el tipo de procesos del servidor definidos en la configuración del tiempo de ejecución.

Puede cambiar la configuración del entorno de tiempo de ejecución de una flota en cualquier momento agregando, modificando o eliminando configuraciones de procesos del servidor. Cada instancia comprueba periódicamente si hay actualizaciones en la configuración del tiempo de ejecución de la flota para implementar los cambios. A continuación se muestra cómo Amazon GameLift Servers realiza cambios en la configuración del entorno de tiempo de ejecución:

1. La instancia envía una solicitud a Amazon GameLift Servers para obtener la versión más reciente de la configuración del tiempo de ejecución.

1. La instancia compara sus procesos activos con la configuración del tiempo de ejecución más reciente y, a continuación, realiza el siguiente procedimiento:
   + Si la configuración del tiempo de ejecución actualizada elimina un tipo de proceso del servidor, los procesos activos del servidor de ese tipo continúan ejecutándose hasta que terminan. La instancia no reemplaza esos procesos del servidor.
   + Si la configuración del tiempo de ejecución actualizada reduce el número de procesos simultáneos para un tipo de proceso del servidor: los procesos del servidor sobrantes de ese tipo continúan ejecutándose hasta que terminan. La instancia no reemplaza esos procesos del servidor sobrantes.
   + Si la configuración del tiempo de ejecución actualizada añade un nuevo tipo de proceso del servidor o aumenta los procesos simultáneos para un tipo existente, la instancia inicia los nuevos procesos del servidor hasta el número máximo de procesos de Amazon GameLift Servers. En este caso, la instancia lanza nuevos procesos del servidor cuando los procesos existentes finalizan.

## Optimización de una flota para varios procesos
<a name="fleets-multiprocess-changes"></a>

Para utilizar varios procesos en una flota, realice el siguiente procedimiento:
+ [Cree una compilación](gamelift-build-intro.md) que contenga los archivos ejecutables del servidor de juegos que desea implementar en una flota y, a continuación, cargue la compilación en Amazon GameLift Servers. Todos los servidores de juegos de una compilación deben ejecutarse en la misma plataforma y utilizar el SDK del servidor de Amazon GameLift Servers.
+ Cree una configuración de tiempo de ejecución con una o varias configuraciones del proceso del servidor y múltiples procesos simultáneos.
+ Integre los clientes del juego con la versión 2016-08-04 o posterior del AWS SDK.

Para optimizar el rendimiento de la flota, le recomendamos que realice las siguientes acciones:
+ Gestione los escenarios de cierre de procesos del servidor para asegurarse de que Amazon GameLift Servers pueda reciclar los procesos de manera eficiente. Por ejemplo:
  + Añadir un procedimiento de cierre al código del servidor de juegos que llame a la API del servidor `ProcessEnding()`.
  + Implemente la función de devolución de llamada `OnProcessTerminate()` en el código del servidor de juegos para tramitar correctamente las solicitudes de finalización de Amazon GameLift Servers.
+ Asegúrese de que Amazon GameLift Servers cierre y vuelva a lanzar los procesos del servidor cuyo estado sea defectuoso. Informe del estado a Amazon GameLift Servers implementando la función de devolución de llamada `OnHealthCheck()` en el código del servidor de juegos. Amazon GameLift Servers cierra automáticamente los procesos del servidor que hayan devuelto un estado defectuoso en tres informes consecutivos. Si no implementa `OnHealthCheck()`, Amazon GameLift Servers presupone que un proceso de servidor está en buen estado, a menos que el proceso no responda a una comunicación.

## Elección del número de procesos por instancia
<a name="fleets-multiprocess-number"></a>

Al decidir el número de procesos simultáneos que se van a ejecutar en una instancia, tenga en cuenta los siguientes aspectos:
+ Amazon GameLift Servers limita cada instancia a un [número máximo de procesos simultáneos](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift). La suma de todos los procesos simultáneos de las configuraciones de procesos de los servidores de una flota no puede superar esa cuota.
+ Para mantener niveles de rendimiento aceptables, el tipo de instancia de Amazon EC2 puede limitar el número de procesos que pueden ejecutarse de forma simultánea Pruebe diferentes configuraciones del juego para encontrar el número correcto de procesos del tipo de instancia preferido.
+ Amazon GameLift Servers no ejecuta más procesos simultáneos que el número total configurado. Esto significa que la transición de la configuración del tiempo de ejecución anterior a la nueva configuración podría producirse de forma gradual.

# Uso el agente de Amazon GameLift Servers
<a name="integration-dev-iteration-agent"></a>

El agente de Amazon GameLift Servers supervisa la ejecución de los procesos del servidor de juegos en las flotas de Amazon GameLift Servers. El agente se implementa en todos los recursos de computación de una flota, y proporciona administración de procesos automatizada, administración del alojamiento y registro del recurso de computación. Para usar el agente, debe tener la compilación del servidor de juegos integrada con el SDK 5.x (o una versión posterior) del servidor de Amazon GameLift Servers. 

El agente de Amazon GameLift Servers está disponible externamente para el uso con flotas de Amazon GameLift Servers que no sean flotas de EC2 administradas. (las flotas de EC2 administradas gestionan automáticamente las tareas del agente). Puede optar por ejecutar las flotas de Amazon GameLift Servers, incluidas las flotas de Anywhere, con o sin el agente. Sin el agente, debe ofrecer una solución alternativa para completar las tareas obligatorias. 

Cuando se implementa en un recurso de computación, el agente de Amazon GameLift Servers debe lanzarse antes de iniciar cualquier proceso del servidor de juegos. En el lanzamiento, el agente lleva a cabo las tareas siguientes:
+ Registra el recurso de computación con una flota de Amazon GameLift Servers mediante la API [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).
+ Llama a la API [GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html) para obtener un token de autorización y lo almacena para que lo utilicen los procesos del servidor que se ejecutan en el recurso de computación.
+ Establece la variable de entorno de la URL de WebSocket para el recurso de computación, y establece una conexión de WebSocket con el servicio de Amazon GameLift Servers.
+ Solicita la última versión de la configuración del tiempo de ejecución de la flota desde el servicio de Amazon GameLift Servers. 
+ Inicia y detiene los procesos del servidor según las instrucciones de configuración del tiempo de ejecución.

El código fuente y las instrucciones de compilación del agente de Amazon GameLift Servers están disponibles en el GitHub del [agente de Amazon GameLift Servers](https://github.com/aws/amazon-gamelift-agent).

## Acerca del agente
<a name="gamelift-agent-usage"></a>

El agente de Amazon GameLift Servers está diseñado para gestionar las siguientes tareas para las flotas:

**Administración de procesos**
+ Inicia nuevos procesos del servidor, tal y como se define en las instrucciones de tiempo de ejecución. El agente puede usar una configuración de tiempo de ejecución personalizada que se haya implementado con el agente. También puede proporcionar una `RuntimeConfiguration` como parte de la definición de la flota. Este método tiene la ventaja de que puede modificar la configuración de tiempo de ejecución de la flota en cualquier momento. El agente solicita de forma periódica configuraciones de tiempo de ejecución actualizadas al servicio de Amazon GameLift Servers.
+ Supervisa las activaciones de los procesos del servidor y finaliza los procesos cuando no se activan a tiempo.
+ Envía latidos a Amazon GameLift Servers. Si el agente no envía latidos, es posible que el proceso se marque como obsoleto.
+ Informa a Amazon GameLift Servers cuando finaliza un proceso del servidor. Amazon GameLift Servers utiliza esta información para supervisar la disponibilidad del servidor de juegos para la ubicación de las sesiones de juego.
+ Emite eventos de flota para los procesos del servidor, como los siguientes. 
  + `SERVER_PROCESS_INVALID_PATH`: los parámetros de inicio del proceso del servidor de juegos se configuraron incorrectamente.
  + `SERVER_PROCESS_TERMINATED_UNHEALTHY`: el proceso del servidor de juegos no notificó una comprobación de estado válida en el plazo de 3 minutos desde la activación y, por lo tanto, se finalizó.
  + `SERVER_PROCESS_FORCE_TERMINATED`: el proceso del servidor de juegos no se cerró correctamente en el plazo de 30 segundos desde el envío de `OnProcessTerminate()`.
  + `SERVER_PROCESS_CRASHED`: un proceso del servidor de juegos se bloqueó por alguna razón.

**Administración de recursos de computación**
+ Recibe mensajes del servicio de Amazon GameLift Servers para apagar el recurso de computación.
+ Solicita que Amazon GameLift Servers finalice el recurso de computación.

**Registro**
+ Carga registros en un bucket de Amazon S3 en su cuenta de AWS.

# Abstracción de una designación de flota de Amazon GameLift Servers con un alias
<a name="aliases-intro"></a>

Los *alias* de Amazon GameLift Servers se utilizan para abstraer destinos de alojamiento. Los destinos de alojamiento le indican a Amazon GameLift Servers dónde debe buscar recursos disponibles con el fin de alojar una nueva sesión de juego para los jugadores. Los alias son útiles en las siguientes situaciones: 
+ Si tu juego no utiliza colas de varias flotas para ubicar las sesiones de juego, solicitará nuevas sesiones de juego especificando un identificador de Amazon GameLift Servers flota. Durante la vida útil de un juego, sustituirá la flota varias veces para actualizar la compilación del servidor, para actualizar el sistema operativo y el hardware de alojamiento o para resolver problemas de rendimiento. Use un alias para resumir el ID de flota y así cambiar fácilmente el tráfico de jugadores de una flota existente a la nueva. 
+ Si quiere hacer algo más que crear una nueva sesión de juego cuando un cliente de juego la solicite. Por ejemplo, es posible que desees dirigir a los jugadores que utilizan un out-of-date cliente a un sitio web de actualizaciones.

Un alias debe especificar una estrategia de enrutamiento. Hay dos tipos. Una estrategia de enrutamiento *sencillo* dirige el tráfico de los jugadores a un ID de flota específico, que puede actualizar para redirigir el tráfico. Una estrategia de enrutamiento de *terminal* devuelve un mensaje al cliente en lugar de crear una nueva sesión de juego. Puede cambiar la estrategia de enrutamiento de un alias en cualquier momento.

Si utiliza una cola para ubicar las sesiones de juego, no necesitará un alias para redirigir el tráfico cuando sustituya una flota. Con una cola, solo tiene que añadir la nueva flota y eliminar la antigua. Los jugadores no pueden ver esta acción, ya que las solicitudes de nuevas sesiones de juego se atienden automáticamente con la nueva flota. No afecta a las sesiones de juego existentes. Puede identificar los destinos de las colas mediante un ID de flota o un alias. 



**Topics**
+ [Creación de un alias de Amazon GameLift Servers](aliases-creating.md)

# Creación de un alias de Amazon GameLift Servers
<a name="aliases-creating"></a>

En este tema, se describe cómo crear un alias de Amazon GameLift Servers para usarlo en la ubicación de sesiones de juego. 

**Creación de un alias**

Para crear un alias, utilice la consola de Amazon GameLift Servers o la AWS Command Line Interface (AWS CLI). 

------
#### [ Console ]

En la [consola de Amazon GameLift Servers](https://console.aws.amazon.com/gamelift/), use el panel de navegación para abrir la página **Alias**.

1.  Elija **Crear alias**.

1. Escriba un **Nombre** para el alias. Es recomendable incluir características significativas en el nombre del alias: será útil cuando haya que consultar una lista de alias.

1. Introduzca la **Descripción** del alias según sea necesario.

1. Elija una **Estrategia de enrutamiento** para el alias.

   1. Si elige una estrategia de enrutamiento **Sencillo**, seleccione un ID de flota de la lista para asociarlo a este alias. La lista incluye todas las flotas en las Región de AWS seleccionadas actualmente. Debe crear un alias en la misma región que la flota.

   1. Si elige una estrategia de enrutamiento de **Terminal**, introduzca un valor de cadena que desee que Amazon GameLift Servers devuelva al cliente de juego como respuesta a una solicitud de sesión de juego. Una solicitud con un alias de terminal genera una excepción con el mensaje incrustado.

1. (Opcional) Añada **Etiquetas** al recurso del alias. Cada etiqueta está formada por una clave y un valor opcional, ambos definidos por el usuario. Asigne etiquetas a los recursos de AWS que desee categorizar y hágalo de un modo que resulte útil; por ejemplo, por finalidad, propietario o entorno. Para cada etiqueta que desee añadir, elija **Añadir etiqueta nueva**. 

1. Cuando esté listo para implementar la nueva flota, elija **Crear**.

------
#### [ AWS CLI ]

Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html) para crear un alias. Amazon GameLift Servers crea el recurso de alias en su Región de AWS predeterminada actual (también puede añadir una etiqueta --region para especificar una Región de AWS distinta).

Como mínimo, incluya un nombre de alias y una estrategia de enrutamiento. Para una estrategia de enrutamiento sencillo, especifique el ID de una flota en la misma región que el alias. Para una estrategia de enrutamiento de terminal, proporcione una cadena de mensaje.

------