Guide pour l’hébergement d’un backend de jeu personnalisé sur AWS
Présentation
Ce guide explique comment déployer un système d’identité de jeu multiplateforme, léger et personnalisé, en plus des fonctionnalités de backend de jeu telles que l’hébergement de serveurs de jeu avec Amazon GameLift, le chat avec WebSockets, et les listes d’amis et les recommandations avec Amazon Neptune. Le système d'identité prend en charge un certain nombre d'options d'authentification, notamment invité, Amazon Cognito, Steam, Connexion avec Apple, Google Play et Facebook. Vous pouvez également personnaliser facilement le Guide pour qu'il prenne en charge d'autres plateformes, telles que les consoles. Le guide est conçu pour être facilement extensible avec des fonctionnalités de dorsal personnalisées, et comprend des modèles pour les composants backend sans serveur et conteneurisés.
Par ailleurs, le présent guide fournit des kits de développement logiciel (SDK) et des exemples de code pour les moteurs de jeu Unreal Engine 5, Unity 2021 (et les versions plus récentes) et Godot 4. Les SDK s’intègrent au composant d’identité et aux exemples de fonctionnalités du backend.
Fonctionnement
Ce schéma d’architecture montre comment déployer un composant d’identité de jeu multiplateforme personnalisé, léger et évolutif et comment utiliser les identités pour s’authentifier auprès de composants de backend de jeu personnalisés sur AWS
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.
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.
Le composant d’identité personnalisé du présent guide utilise AWS X-Ray qui suit les demandes des utilisateurs et exploite Lambda Powertools pour fournir des informations détaillées à partir de la logique backend. En outre, tous les composants du présent guide utilisent Amazon CloudWatch pour suivre les journaux des flux de cloud privé virtuel (VPC), de l’accès à API Gateway, de l’accès à Amazon S3, des complétions Lambda et des tâches AWS Fargate. Enfin, AWS CDK permet des modifications contrôlées et une configuration cohérente dans tous les environnements, vous aidant ainsi à répondre à vos besoins en matière de sécurité et de conformité.
Pour permettre une gestion efficace des identités, le composant d’identité personnalisé du présent guide gère les identités et l’authentification des joueurs. Toutes les autres fonctionnalités du présent guide sécurisent l’accès en validant les jetons Web JSON par rapport aux clés publiques fournies par le composant d’identité. Le composant d’identité personnalisé est protégé par AWS WAF, un pare-feu d’applications Web qui protège les applications contre les exploits Web courants. De plus, toutes les données sont cryptées au repos et en transit.
Le présent guide s’appuie principalement sur des services entièrement gérés qui sont hautement disponibles par défaut dans plusieurs zones de disponibilité (AZ) au sein d’une région AWS. Pour Fargate, une configuration multi-AZ est utilisée pour garantir une haute disponibilité et toutes les tables de bases de données de DynamoDB sont protégées par une restauration instantanée.
Le présent guide combine un certain nombre d’approches différentes pour intégrer diverses fonctionnalités afin d’améliorer les performances. Tout d’abord, les services sélectionnés pour le présent guide sont conçus pour fonctionner à grande échelle lors des lancements de jeux et autres pics de trafic en tirant parti des composants de mise à l’échelle automatique des services sans serveur. Ensuite, les données X-Ray fournies par le composant d’identité personnalisé permettent aux développeurs de détecter les goulots d’étranglement et d’adapter le guide à leurs besoins pour optimiser les performances. Enfin, les clés publiques qui valident les jetons Web JSON sont fournies à partir de CloudFront afin d’optimiser la latence des composants du backend.
Le présent guide utilise des composants sans serveur dans la mesure du possible, ce qui vous permet de ne payer que pour les ressources exactes que vous utilisez. Pour vous permettre de réduire davantage les coûts, pensez aux Savings Plans AWS qui servent à optimiser les coûts à la fois pour Lambda et pour Fargate. Par ailleurs, en passant des tables DynamoDB à la demande à la capacité provisionnée avec mise à l’échelle automatique, vous pouvez exploiter la capacité réservée DynamoDB pour réduire les coûts lorsque le trafic de base est connu.
Tous les services utilisés dans le présent guide sont configurés pour mettre à l’échelle en fonction de la demande, notamment API Gateway, Lambda, DynamoDB, Amazon S3, Fargate, Secrets Manager et AWS WAF, garantissant que seules les ressources minimales sont requises.
Les composants des services sans serveur décrits dans le présent guide se mettent à l’échelle automatiquement, ce qui leur permet de se mettre à l’échelle tout en adaptant continuellement la charge avec le minimum de ressources nécessaires. L’impact environnemental de l’infrastructure est ainsi réduit en évitant de fournir des capacités inutilisées.
Contenu connexe
Clause de non-responsabilité
Les exemples de code, les bibliothèques de logiciels, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe (y compris tout ce qui précède qui est fourni par notre personnel) vous sont fournis en tant que contenu AWS en vertu du contrat client AWS ou de l'accord écrit pertinent entre vous et AWS (selon le cas). Vous ne devez pas utiliser ce contenu AWS dans vos comptes de production, ni sur des données de production ou autres données critiques. Vous êtes responsable des tests, de la sécurisation et de l'optimisation du contenu AWS, tel que les exemples de code, comme il convient pour une utilisation en production, en fonction de vos pratiques et normes de contrôle de qualité spécifiques. Le déploiement de contenu AWS peut entraîner des frais AWS pour la création ou l'utilisation de ressources payantes AWS, telles que l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.
Avez-vous trouvé les informations que vous recherchiez ?
Faites-nous part de vos commentaires afin que nous puissions améliorer le contenu de nos pages