[Sous-titre SEO]
Le présent guide vous permet de configurer un environnement de production de jeux complet pour Unreal Engine, hautement disponible et fourni aux utilisateurs avec un temps de latence réduit. Il permet également d'accélérer les tâches gourmandes en calcul en répartissant le travail sur d'autres machines à la demande, grâce à un poste de travail virtuel haute performance et un système de contrôle de version centralisé. L'exemple de code vous montre comment configurer cet environnement de production de jeux pour votre équipe.
Veuillez noter : [Clause de non-responsabilité]
Diagramme d’architecture
[Description du schéma d’architecture]
Étape 1
Le client distant NICE DCV se connecte à l'instance de poste de travail virtuel hébergée sur Amazon Elastic Compute Cloud (Amazon EC2) en fournissant l'adresse IP publique de l'instance et les informations d'authentification.
Étape 2
Le poste de travail virtuel basé sur GPU héberge un serveur NICE DCV, assurant une sécurité de bout en bout entre le client distant et l'instance EC2. Le poste de travail virtuel peut accéder à des ressources privées, telles que le système de contrôle de version Perforce Helix Core à partir d'Amazon Virtual Private Cloud (Amazon VPC).
Étape 3
La passerelle NAT permet aux ressources du sous-réseau privé d'accéder aux ressources sur internet public, telles que les services de licence et de mise à jour.
Étape 4
Le coordinateur Unreal Engine Swarm, responsable de la distribution des tâches de création, est une ressource privée, disponible uniquement pour les ressources d'Amazon VPC. Le coordinateur Swarm possède sa propre instance EC2, ce qui l'isole de tout temps d'arrêt dans les autres instances et crée un environnement de microservices.
Étape 5
Les agents Unreal Engine Swarm sont chargés d'utiliser les ressources du système pour effectuer les tâches assignées par le coordinateur Swarm. Les instances hébergeant les agents sont placées dans un groupe Amazon EC2 Auto Scaling qui permet d'ajouter ou de supprimer des agents Swarm en fonction de l'évolution de la charge de travail.
Étape 6
Le système de contrôle de version (Perforce) existe dans sa propre instance, suivant le modèle de microservice. Par conséquent, il est isolé de toute interruption dans d'autres instances et facilite des structures de référentiel plus complexes au besoin.
Piliers AWS Well-Architected
Le cadre AWS Well-Architected vous permet de comprendre les avantages et les inconvénients des décisions que vous prenez lors de la création de systèmes dans le cloud. Les six piliers du cadre vous permettent d'apprendre les bonnes pratiques architecturales pour concevoir et exploiter des systèmes fiables, sécurisés, efficaces, rentables et durables. Grâce à l'outil AWS Well-Architected Tool, disponible gratuitement dans la console de gestion AWS, vous pouvez examiner vos charges de travail par rapport à ces bonnes pratiques en répondant à une série de questions pour chaque pilier.
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.
-
Excellence opérationnelle
AWS Cloud Development Kit (AWS CDK) permet des déploiements cohérents et réplicables des éléments de l'environnement de développement. Les sources d'erreur sont ainsi éliminées lors du déploiement, ce qui améliore la sécurité et la fiabilité et réduit les coûts. Amazon CloudWatch fournit des mesures opérationnelles et une journalisation pour les ressources de l'environnement de développement. Les déploiements automatisés, cohérents et reproductibles à partir de la journalisation AWS CDK avec CloudWatch permettent aux composants applicatifs de l'environnement de développement de disposer d'un emplacement unique où enregistrer leurs données, quel que soit le nombre de ressources mises à l'échelle. Les paramètres opérationnels et sanitaires se mettent également à l'échelle et sont activés par défaut pour tous les services du présent guide.
-
Sécurité
NICE DCV sécurise les pixels et les entrées d'utilisateur final à l'aide d'un chiffrement AES-256 de bout en bout entre le client et le serveur. Il nécessite également l'authentification du client avant d'autoriser une connexion. Étant donné que le poste de travail se trouve dans un sous-réseau public, il est important que la communication entre le service distant du poste de travail et le client soit sécurisée et que les clients dépourvus d'informations d'authentification ne puissent pas accéder au poste de travail.
Amazon VPC permet de séparer les préoccupations. Sa politique de « confidentialité par défaut » renforce la sécurité des ressources qui n'ont pas besoin d'être exposées à l'internet public. La plupart des ressources de l'environnement de développement n'ont pas besoin d'être exposées à l'internet public et sont placées dans des sous-réseaux privés d'Amazon VPC auxquels seules les autres ressources d'Amazon VPC peuvent accéder.
-
Fiabilité
Amazon Elastic Block Store (Amazon EBS) dissocie le stockage de l'instance. Amazon EC2 permet le déploiement dans plusieurs zones de disponibilité isolées au sein d'une région AWS, ce qui maximise la disponibilité de l'application et assure une reprise après sinistre robuste. Amazon EBS permet aux instances Workspace, Perforce et Unreal Swarm Coordinator de subir une défaillance sans perte de données. De plus, la création d'instantanés est simplifiée pour la sauvegarde.
-
Efficacité des performances
Amazon EC2 Auto Scaling permet aux ressources de construction dans l'environnement de développement d'augmenter horizontalement à la demande. Plus précisément, les agents Unreal Engine Swarm et Incredibuild peuvent augmenter verticalement leurs capacités lorsqu'il y a des tâches de compilation volumineuses ou un grand nombre de tâches de compilation. Les temps de compilation sont ainsi réduits et les fréquences d'itération augmentées. Amazon EC2 vous permet de déployer dans des régions AWS ou des AWS Local Zones géographiquement proches des utilisateurs, ce qui permet de réduire la latence entre les clients locaux et les serveurs distants et d'optimiser l'expérience des postes de travail virtuels. NICE DCV fournit des protocoles optimisés pour réduire au minimum la quantité de données à transférer entre le client et le serveur, ce qui permet un rendu plus élevé en images par seconde et une latence moins perceptible entre les entrées et l'affichage.
-
Optimisation des coûts
Amazon EC2 vous permet de choisir différents types d'instances et modèles de paiement afin d'optimiser les coûts liés à leurs charges de travail spécifiques. Vous pouvez ainsi faire correspondre les charges de travail à des options moins coûteuses. En outre, les instances à la demande réduisent le besoin de payer pour des serveurs qui ne sont pas utilisés.
-
Développement durable
Les types d'instance Amazon EC2 Auto Scaling et Amazon EC2 vous permettent de provisionner les ressources minimales requises pour répondre aux besoins de charge de travail. La réduction des ressources pour s'adapter aux charges de travail, que ce soit par le biais de la mise à l'échelle ou du choix de types d'instances, vous permet de créer des services efficaces qui minimisent l'impact environnemental de votre charge de travail.
Ressources d'implémentation
L'exemple de code est un point de départ. Il s'agit d'un document validé par l'industrie, prescriptif mais non définitif, et d'un aperçu pour vous aider à commencer.
Contenu connexe
[Titre]
Avis 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.
Les références à des services ou organisations tiers dans ce guide n'impliquent pas une approbation, un parrainage ou une affiliation entre Amazon ou AWS et le tiers. Les conseils fournis par AWS constituent un point de départ technique, et vous pouvez personnaliser votre intégration avec des services tiers lorsque vous déployez l'architecture.