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. Dans la mesure GameLift où Amazon gère vos flottes d'hébergement de jeux, vous devez accorder à Amazon 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 EC2 flottes gérées et Anywhere flottes.

  • 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 (AmazonSQS).

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

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

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

Utilisez un IAM rôle 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 API demandes liées à la ressource, elles doivent inclure les informations d'identification.

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

Créez le IAM rôle

Au cours de cette étape, vous créez un IAM rôle, 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 IAM rôle, consultezConfigurer un rôle IAM de service 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 du rôle (ARN). Vous avez besoin de ce 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 IAM rôle 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 SDK version du serveur utilisée par votre jeu pour communiquer avec Amazon GameLift.

Applications pour serveurs de jeux Autres applications

Utilisation de la SDK version 5.x du serveur

Appelez la SDK méthode 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 de SDK la version 4 ou antérieure du serveur

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

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

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

Les exécutables du jeu appellent. GetFleetRoleCredentials() D'autres fichiers utilisent des informations d'identification partagées stockées localement.

Dans le code de votre serveur de jeu, qui devrait déjà être intégré au GameLift serveur Amazon SDK 5.x, appelez GetFleetRoleCredentials (C++) (C#) (Unreal) (Go) 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 utilisant le serveur SDK 5.x, 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 IAM rôle et obtenir des informations d'identification pour interagir avec vos AWS ressources. Toute application qui s'exécute sur une instance de GameLift flotte Amazon avec le serveur SDK 4 ou une version antérieure peut assumer ce IAM rôle.

Dans le code de l'application, avant d'accéder à une AWS ressource, l'application doit appeler l'AssumeRoleAPIopération AWS Security Token Service (AWS STS) et spécifier le rôleARN. 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 la section Utilisation d'informations d'identification temporaires avec AWS des ressources dans le Guide de IAM l'utilisateur.

Associer une flotte au IAM rôle

Après avoir créé le IAM rôle 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 ARN le IAM rôle.

  • 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 VPC peering

Vous pouvez utiliser le peering Amazon Virtual Private Cloud (AmazonVPC) pour communiquer entre les applications exécutées sur une GameLift instance Amazon et une autre AWS ressource. A 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 la sienneVPC. Grâce au VPC peering, vous pouvez établir une connexion réseau directe entre les ressources VPC de votre flotte et celles de vos autres AWS ressources.

Amazon GameLift rationalise le processus de configuration des connexions de VPC peering 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 VPC peering pour vos serveurs de jeu, consultezPeering VPC pour Amazon GameLift.