Communiquez avec les autres AWS ressources de vos flottes - Amazon GameLift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Communiquez avec les autres AWS ressources de vos flottes

Lorsque vous créez une version de serveur de jeu à déployer sur des GameLift flottes Amazon, vous souhaiterez peut-être que les applications de votre version de jeu communiquent directement et en toute sécurité avec les autres AWS ressources que vous possédez. Amazon GameLift gérant vos flottes d'hébergement de jeux, vous devez lui accorder un accès GameLift limité à ces ressources et services.

Voici quelques exemples de scénarios :

  • Utilisez un CloudWatch agent Amazon pour collecter des métriques, des journaux et des traces à partir de flottes et de flottes EC2 gérées Anywhere

  • Envoyez les données du journal de l'instance à Amazon CloudWatch Logs.

  • Obtenez des fichiers de jeu stockés dans un bucket Amazon Simple Storage Service (Amazon S3).

  • Lisez et écrivez des données de jeu (telles que les modes de jeu ou l'inventaire) stockées dans une base de données Amazon DynamoDB ou dans un autre service de stockage de données.

  • Envoyez des signaux directement à une instance à l'aide d'Amazon Simple Queue Service (Amazon SQS).

  • Accédez à des ressources personnalisées déployées et exécutées sur Amazon Elastic Compute Cloud (Amazon EC2).

Amazon GameLift prend en charge les méthodes suivantes pour établir l'accès :

Accédez aux AWS ressources avec un rôle IAM

Utilisez un rôle IAM pour spécifier qui peut accéder à vos ressources et définir des limites à cet accès. Les parties de confiance peuvent « assumer » un rôle et obtenir des informations de sécurité temporaires les autorisant à interagir avec les ressources. Lorsque les parties font des demandes d'API liées à la ressource, elles doivent inclure les informations d'identification.

Pour configurer le contrôle d'accès par un rôle IAM, effectuez les tâches suivantes :

Création du rôle IAM

Au cours de cette étape, vous créez un rôle IAM, avec un ensemble d'autorisations pour contrôler l'accès à vos AWS ressources et une politique de confiance qui donne à Amazon le GameLift droit d'utiliser les autorisations du rôle.

Pour obtenir des instructions sur la façon de configurer le rôle IAM, consultezConfigurer un rôle de service IAM pour Amazon GameLift. Lors de la création de la politique d'autorisations, choisissez les services, les ressources et les actions spécifiques que vos applications doivent utiliser. Il est recommandé de limiter autant que possible l'étendue des autorisations.

Après avoir créé le rôle, prenez note du nom de ressource Amazon (ARN) du rôle. Vous avez besoin du rôle ARN lors de la création de la flotte.

Modifier les applications pour obtenir des informations d'identification

Au cours de cette étape, vous configurez vos applications pour obtenir des informations d'identification de sécurité pour le rôle IAM et les utiliser lors de l'interaction avec vos AWS ressources. Consultez le tableau suivant pour déterminer comment modifier vos applications en fonction (1) du type d'application et (2) de la version du SDK du serveur que votre jeu utilise pour communiquer avec Amazon GameLift.

Applications pour serveurs de jeux Autres applications

Utilisation du SDK du serveur version 5.x

Appelez la méthode SDK du serveur GetFleetRoleCredentials() à partir du code de votre serveur de jeu.

Ajoutez du code à l'application pour extraire les informations d'identification d'un fichier partagé sur l'instance de flotte.

Utilisation du SDK du serveur version 4 ou antérieure

Appelez AWS Security Token Service (AWS STS) AssumeRole avec le rôle ARN.

Appelez AWS Security Token Service (AWS STS) AssumeRole avec le rôle ARN.

Pour les jeux intégrés au SDK 5.x du serveur, ce schéma montre comment les applications de votre version de jeu déployée peuvent acquérir des informations d'identification pour le rôle IAM.

Sur une GameLift instance Amazon, les applications du serveur de jeu appellentGetFleetRoleCredentials(). D'autres applications utilisent un fichier d'informations d'identification partagé qui peut être stocké sur l'instance.

Dans le code de votre serveur de jeu, qui devrait déjà être intégré au SDK 5.x GameLift du serveur Amazon, appelez GetFleetRoleCredentials (C++) (C#) (Unreal) pour récupérer un ensemble d'informations d'identification temporaires. Lorsque les informations d'identification expirent, vous pouvez les actualiser avec un autre appel àGetFleetRoleCredentials.

Pour les applications non serveur déployées avec des versions de serveurs de jeu à l'aide du SDK 5.x du serveur, ajoutez du code pour obtenir et utiliser les informations d'identification stockées dans un fichier partagé. Amazon GameLift génère un profil d'informations d'identification pour chaque instance de flotte. Les informations d'identification peuvent être utilisées par toutes les applications de l'instance. Amazon actualise GameLift en permanence les informations d'identification temporaires.

Vous devez configurer une flotte pour générer le fichier d'informations d'identification partagé lors de la création de la flotte.

Dans chaque application qui doit utiliser le fichier d'informations d'identification partagé, spécifiez l'emplacement du fichier et le nom du profil, comme suit :

Windows :

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

Linux :

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

Exemple : configurer un CloudWatch agent pour collecter des métriques pour les instances de GameLift flotte Amazon

Si vous souhaitez utiliser un CloudWatch agent Amazon pour collecter des métriques, des journaux et des traces à partir de vos GameLift flottes Amazon, utilisez cette méthode pour autoriser l'agent à émettre les données vers votre compte. Dans ce scénario, suivez les étapes suivantes :

  1. Récupérez ou écrivez le config.json fichier de CloudWatch l'agent.

  2. Mettez à jour le common-config.toml fichier pour que l'agent identifie le nom du fichier d'informations d'identification et le nom du profil, comme décrit ci-dessus.

  3. Configurez le script d'installation de build de votre serveur de jeu pour installer et démarrer l' CloudWatch agent.

Ajoutez du code à vos applications pour assumer le rôle IAM et obtenir des informations d'identification pour interagir avec vos AWS ressources. Toute application qui s'exécute sur une instance Amazon GameLift Fleet avec le SDK de serveur 4 ou une version antérieure peut assumer le rôle IAM.

Dans le code de l'application, avant d'accéder à une AWS ressource, l'application doit appeler l'opération AssumeRole API AWS Security Token Service (AWS STS) et spécifier l'ARN du rôle. Cette opération renvoie un ensemble d'informations d'identification temporaires qui autorisent l'application à accéder à la AWS ressource. Pour plus d'informations, consultez Utilisation d'informations d'identification temporaires avec des ressources AWS dans le Guide de l'utilisateur IAM.

Associer une flotte au rôle IAM

Après avoir créé le rôle IAM et mis à jour les applications de la version de votre serveur de jeu pour obtenir et utiliser les informations d'accès, vous pouvez déployer une flotte. Lorsque vous configurez la nouvelle flotte, définissez les paramètres suivants :

  • InstanceRoleArn— Définissez ce paramètre sur l'ARN du rôle IAM.

  • InstanceRoleCredentialsProvider— Pour demander GameLift à Amazon de générer un fichier d'informations d'identification partagé pour chaque instance de flotte, définissez ce paramètre surSHARED_CREDENTIAL_FILE.

Vous devez définir ces valeurs lors de la création de la flotte. Ils ne pourront pas être mis à jour ultérieurement.

Accédez aux AWS ressources grâce au peering VPC

Vous pouvez utiliser le peering Amazon Virtual Private Cloud (Amazon VPC) pour communiquer entre les applications exécutées sur une GameLift instance Amazon et une autre ressource. AWS Un VPC est un réseau privé virtuel que vous définissez et qui inclut un ensemble de ressources gérées via votre. Compte AWS Chaque GameLift flotte Amazon possède son propre VPC. Avec le peering VPC, vous pouvez établir une connexion réseau directe entre le VPC de votre flotte et celui de vos autres ressources. AWS

Amazon GameLift rationalise le processus de configuration des connexions de peering VPC pour vos serveurs de jeux. Il gère les demandes d'appairage, met à jour les tables de routage et configure les connexions requises. Pour obtenir des instructions sur la façon de configurer le peering VPC pour vos serveurs de jeu, consultez. Peering VPC pour Amazon GameLift