Comuníquese con otros AWS recursos de sus flotas - Amazon GameLift Servers

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comuníquese con otros AWS recursos de sus flotas

Al crear una versión de servidor de juegos para desplegarla en Amazon GameLift Servers flotas, es posible que desee que las aplicaciones de su versión de juego se comuniquen de forma directa y segura con otros AWS recursos de su propiedad. Dado que Amazon GameLift Servers gestiona tus flotas de alojamiento de juegos, debes conceder un acceso Amazon GameLift Servers limitado a estos recursos y servicios.

Entre los ejemplos de escenarios se incluyen los siguientes:

  • Utiliza un CloudWatch agente de Amazon para recopilar métricas, registros y trazas de las EC2 flotas 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).

  • Acceda a los recursos personalizados que se implementan y ejecutan en Amazon Elastic Compute Cloud (Amazon EC2).

Amazon GameLift Serversadmite los siguientes métodos para establecer el acceso:

Acceda a AWS los recursos con una función de IAM

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:

Creación del rol de IAM

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 Configurar un rol de servicio de IAM para Amazon GameLift Servers. 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

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. Consulta la siguiente tabla para determinar cómo modificar tus aplicaciones en función de (1) el tipo de aplicación y (2) la versión del SDK del servidor con Amazon GameLift Servers la que se comunica el juego.

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 con el rol ARN.

Call AWS Security Token Service (AWS STS) AssumeRole con el rol ARN.

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.

En el código del servidor de juegos, que ya debería estar integrado con el SDK 5.x Amazon GameLift Servers del servidor, llama a GetFleetRoleCredentials (C++) (C#) (Unreal) (Go) para recuperar un conjunto de credenciales temporales. Cuando las credenciales caduquen, puede actualizarlas con otra llamada a GetFleetRoleCredentials.

En el caso de las aplicaciones que no son de servidor y que se despliegan con compilaciones de servidores de juegos que utilizan el SDK 5.x para servidores, añade código para obtener y utilizar las credenciales almacenadas en un archivo compartido. Amazon GameLift Serversgenera 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 Serversactualiza 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.

  2. 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.

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

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 Amazon GameLift Servers flota con el SDK 4 de servidor o una versión anterior puede asumir la función 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 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 en la Guía del usuario de IAM.

Asociación del rol de IAM a una flota

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, establezca los siguientes parámetros:

  • InstanceRoleArn— Establezca este parámetro en el ARN del rol de IAM.

  • 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

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 Emparejamiento de VPC para Amazon GameLift Servers.