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

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 compilación de servidor de juegos para desplegarla en GameLift las flotas de Amazon, es posible que desee que las aplicaciones de la compilación de su juego se comuniquen de forma directa y segura con otros AWS recursos de su propiedad. Dado que Amazon GameLift gestiona tus flotas de alojamiento de juegos, debes conceder a Amazon un acceso GameLift 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 EC2 las flotas gestionadas y Anywhere flotas.

  • 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íe señales directamente a una instancia mediante Amazon Simple Queue Service (AmazonSQS).

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

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

Acceda a AWS los recursos con un IAM rol

Use un IAM rol 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 realicen API solicitudes relacionadas con el recurso, deben incluir las credenciales.

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

Cree el IAM rol

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

Para obtener instrucciones sobre cómo configurar el IAM rol, consulteConfigurar un rol IAM de servicio para Amazon GameLift. 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.

Tras crear el rol, anote el nombre del recurso de Amazon del rol (ARN). Necesitarás el rol ARN durante la creación de la flota.

Modificación de las aplicaciones para adquirir credenciales

En este paso, debe configurar las aplicaciones para que adquieran credenciales de seguridad para el IAM rol 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 SDK versión del servidor que utilice tu juego para comunicarse con Amazon GameLift.

Aplicaciones del servidor de juegos Otras aplicaciones

¿Utilizas la SDK versión 5.x del servidor

Llama al SDK método GetFleetRoleCredentials() de servidor desde el código del servidor del juego.

Añada código a la aplicación para obtener las credenciales de un archivo compartido en la instancia de la flota.

Usa la SDK versión 4 o anterior del servidor

Llame a AWS Security Token Service (AWS STS) AssumeRole con el rolARN.

Llama a AWS Security Token Service (AWS STS) AssumeRole con el rolARN.

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

Los ejecutables del juego llaman. GetFleetRoleCredentials() Otros archivos utilizan credenciales compartidas almacenadas localmente.

En el código de tu servidor de juegos, que ya debería estar integrado con el GameLift servidor de Amazon SDK 5.x, 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 sean de servidor y que se desplieguen con compilaciones de servidores de juegos que utilicen el servidor SDK 5.x, añada código para obtener y utilizar las credenciales almacenadas en un archivo compartido. Amazon GameLift 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 actualiza GameLift 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 la GameLift flota de Amazon

Si quieres utilizar un CloudWatch agente de Amazon para recopilar métricas, registros y seguimientos de tus GameLift flotas de Amazon, 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.

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

En el código de la aplicación, antes de acceder a un AWS recurso, la aplicación debe llamar a la AssumeRole API operación AWS Security Token Service (AWS STS) y especificar la funciónARN. 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 IAM usuario.

Asocie una flota al IAM rol

Una vez que hayas creado el IAM rol y actualizado las aplicaciones de la versión de tu servidor de juegos para obtener y usar las credenciales de acceso, podrás implementar una flota. Al configurar la nueva flota, establezca los siguientes parámetros:

  • InstanceRoleArn— Defina este parámetro como el ARN del IAM rol.

  • InstanceRoleCredentialsProvider— Para solicitar GameLift a Amazon que genere un archivo de credenciales compartido para cada instancia de flota, defina este parámetro enSHARED_CREDENTIAL_FILE.

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

Acceda a AWS los recursos mediante la VPC interconexión

Puede utilizar la interconexión de Amazon Virtual Private Cloud (AmazonVPC) para comunicarse entre las aplicaciones que se ejecutan en una GameLift instancia de Amazon y otro AWS recurso. A 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 GameLift flota de Amazon tiene la suya propiaVPC. Con VPC la interconexión, puedes establecer una conexión de red directa entre tu flota y el VPC resto de tus AWS recursos.

Amazon GameLift agiliza el proceso de configuración de conexiones entre VPC pares para tus 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 configurar la interconexión VPC en tus servidores de juegos, consulta. Emparejamiento de VPC para Amazon GameLift