Guide pour les tests de GameLift sur AWS
Présentation
Fonctionnement
Ces détails techniques comportent un schéma d’architecture pour illustrer comment utiliser efficacement cette solution. Le schéma d’architecture montre les composants clés et leurs interactions, fournissant une vue d’ensemble de la structure et des fonctionnalités de l’architecture étape par étape.
Piliers Well-Architected
Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.
La boîte à outils et l’exemple de jeu sont tous deux entièrement déployés grâce à l’infrastructure en tant que code. Ainsi, les erreurs causées par les processus manuels et l’effort nécessaire pour déployer des modifications sont réduits.
L’API de console Web sans serveur d’API Gateway est protégée par une authentification basée sur AWS Identity and Access Management (IAM) contre un groupe d’utilisateurs Cognito.
L’exemple de backend de jeu sans serveur d’API Gateway est protégé par une authentification basée sur IAM pour une validation sécurisée de l’identité d’invité du joueur.
Les serveurs de jeu de GameLift autorisent uniquement l’accès aux ports utilisés pour la communication client-serveur. Les fonctions Lambda du backend n’ont accès qu’aux services dont elles ont besoin.
Les données sont stockées dans des tables DynamoDB, utilisant l’allocation de capacité à la demande pour se mettre à l’échelle automatiquement en fonction de l’évolution de la demande.
Les services backend de la solution utilisent Lambda, qui met automatiquement les instances à l’échelle.
L’exemple de backend de jeu prend en charge la mise à l’échelle automatique GameLift basée sur la cible pour gérer l’évolution de la demande.
En tirant parti de technologies gérées et sans serveur comme API Gateway, Lambda, DynamoDB et Fargate, vous ne payez que pour les ressources que vous utilisez et réduisez ainsi les efforts opérationnels nécessaires à la maintenance de votre solution.
La solution peut être déployée dans la région de votre choix et utilise CloudFront pour réduire la latence pour l’utilisateur final de la console Web.
Les tâches de joueur virtuel peuvent être lancées avec Fargate Spot pour réduire le coût des tests.
La console Web et les exemples de backends de jeux utilisent des technologies sans serveur afin que vous ne payiez que pour les ressources que vous utilisez.
Le backend de la console Web utilise les fonctionnalités de mise à l’échelle natives de Lambda et d’API Gateway, les tables DynamoDB utilisant l’allocation de capacité à la demande pour garantir que les ressources correspondent à la demande.
L’exemple de backend de jeu prend en charge la mise à l’échelle automatique GameLift basée sur la cible afin de limiter les ressources nécessaires.
Le présent guide fait largement appel à des services gérés, ce qui confère à AWS la responsabilité de maintenir un taux d’utilisation moyen élevé.
L’exemple de backend de jeu prend en charge la mise à l’échelle automatique GameLift basée sur la cible afin de limiter les ressources nécessaires. En regroupant les sessions de jeu sur un nombre minimal d’instances de serveur, l’utilisation des ressources est maintenue à un niveau constamment élevé.
En utilisant largement les services gérés, le présent guide réduit votre impact individuel sur l’environnement.
Vous pouvez réduire davantage l’impact sur la durabilité des ressources inutilisées en lançant des serveurs de jeu sur les parcs d’instance Spot et en lançant des tâches de joueur virtuel sur Fargate Spot.
Déployer en toute confiance
Prêt à déployer ? Consultez l’exemple de code sur GitHub pour obtenir des instructions de déploiement détaillées afin de le déployer tel quel ou de le personnaliser en fonction de vos besoins.