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.
Gérez les ressources Amazon GameLift Servers d'hébergement à l'aide CloudFormation
Vous pouvez l'utiliser CloudFormation pour gérer vos Amazon GameLift Servers ressources. Dans CloudFormation, vous créez un modèle qui modélise chaque ressource, puis vous l'utilisez pour créer vos ressources. Pour mettre à jour les ressources, vous devez apporter les modifications nécessaires à votre modèle et l'utiliser CloudFormation pour implémenter les mises à jour. Vous pouvez organiser vos ressources en groupes logiques, appelés piles et ensembles de piles.
L'utilisation CloudFormation pour gérer vos ressources Amazon GameLift Servers d'hébergement constitue un moyen plus efficace de gérer des ensembles de AWS ressources. Vous pouvez utiliser le contrôle de version pour suivre les modifications apportées au modèle au fil du temps et coordonner les mises à jour effectuées par plusieurs membres de l'équipe. Vous pouvez également réutiliser des modèles. Par exemple, lors du déploiement d'un jeu dans plusieurs régions, vous pouvez utiliser le même modèle pour créer des ressources identiques dans chaque région. Vous pouvez également utiliser ces modèles pour déployer les mêmes ensembles de ressources dans une autre partition.
Pour plus d'informations CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur. Pour consulter les informations relatives aux modèles de Amazon GameLift Servers ressources, consultez la référence du type de Amazon GameLift Servers ressource.
Bonnes pratiques
Pour obtenir des instructions détaillées sur l'utilisation CloudFormation, consultez les CloudFormation meilleures pratiques du Guide de AWS CloudFormation l'utilisateur. En outre, ces bonnes pratiques ont une pertinence particulière avec Amazon GameLift Servers.
-
Gérez constamment vos ressources grâce à CloudFormation. Si vous modifiez vos ressources en dehors de CloudFormation vos ressources, vous serez désynchronisé avec vos modèles de ressources.
-
Utilisez des CloudFormation piles et des ensembles de piles pour gérer efficacement plusieurs ressources.
-
Utilisez des piles pour gérer des groupes de ressources connectées. Par exemple, une pile contenant une version, une flotte faisant référence à la version et un alias faisant référence à la flotte. Si vous mettez à jour votre modèle pour remplacer une version, CloudFormation remplace les flottes connectées à la version. CloudFormation met ensuite à jour les alias existants pour qu'ils pointent vers les nouvelles flottes. Pour plus d'informations, consultez la section Utilisation des piles dans le guide de l'AWS CloudFormation utilisateur.
-
Utilisez des ensembles de CloudFormation piles si vous déployez des piles identiques dans plusieurs régions ou AWS comptes. Pour plus d'informations, consultez la section Travailler avec des ensembles de piles dans le Guide de AWS CloudFormation l'utilisateur.
-
-
Si vous utilisez des instances Spot, incluez une flotte à la demande comme sauvegarde. Nous vous recommandons de configurer vos modèles avec deux flottes dans chaque région, une flotte avec des instances Spot et une flotte avec des instances à la demande.
-
Regroupez vos ressources spécifiques à un site et vos ressources globales dans des piles distinctes lorsque vous gérez des ressources sur plusieurs sites.
-
Placez vos ressources mondiales à proximité des services qui les utilisent. Les ressources telles que les files d'attente et les configurations de matchmaking ont tendance à recevoir un volume élevé de demandes provenant de sources spécifiques. En plaçant vos ressources à proximité de la source de ces demandes, vous réduisez le temps de trajet des demandes et vous pouvez améliorer les performances globales.
-
Placez votre configuration de mise en relation dans la même région que la file d'attente de session de jeu qu'elle utilise.
-
Créez un alias distinct pour chaque flotte de la pile.
Utiliser des CloudFormation piles
Nous recommandons d'utiliser les structures suivantes lors de la configuration de CloudFormation piles pour les Amazon GameLift Servers ressources. La structure de stack optimale varie selon que vous déployez votre jeu à un ou plusieurs endroits.
Des piles pour un seul emplacement
Pour gérer les Amazon GameLift Servers ressources en un seul endroit, nous recommandons une structure à deux niveaux :
-
Pile de support : cette pile contient les Amazon GameLift Servers ressources dont dépendent vos ressources. Au minimum, cette pile doit inclure le compartiment S3 dans lequel vous stockez votre serveur de jeu personnalisé ou vos fichiers de script Realtime. La pile doit également inclure un rôle IAM qui donne Amazon GameLift Servers l'autorisation de récupérer vos fichiers depuis le compartiment S3 lors de la création d'une ressource de Amazon GameLift Servers build ou de script. Cette pile peut également contenir d'autres AWS ressources utilisées avec votre jeu, telles que des tables DynamoDB, des clusters Amazon Redshift et des fonctions Lambda.
-
Amazon GameLift Serverspile — Cette pile contient toutes vos Amazon GameLift Servers ressources, y compris le build ou le script, un ensemble de flottes, des alias et la file d'attente des sessions de jeu. CloudFormation crée une ressource de build ou de script avec des fichiers stockés dans l'emplacement du compartiment S3 et déploie le build ou le script sur une ou plusieurs ressources de flotte. Chaque flotte doit avoir un alias correspondant. La file d'attente de session de jeu fait référence à tout ou partie des alias de flotte. Si vous l'utilisez FlexMatch pour le matchmaking, cette pile contient également une configuration de matchmaking et un ensemble de règles.
Le schéma ci-dessous illustre une structure à deux piles permettant de déployer des ressources dans une seule AWS région.
Des piles pour plusieurs régions
Lorsque vous déployez votre jeu dans plusieurs régions, gardez présent à l'esprit la manière dont les ressources peuvent interagir entre les régions. Certaines ressources, telles que les flottes Amazon GameLift Servers, peuvent uniquement faire référence à d'autres ressources dans la même région. Les autres ressources, telles qu'une Amazon GameLift Servers file d'attente, sont indépendantes de la région. Pour gérer des ressources Amazon GameLift Servers dans plusieurs régions, nous vous recommandons la structure suivante.
-
Stacks de support régionaux — Ces piles contiennent des ressources dont dépendent vos Amazon GameLift Servers ressources. Cette pile doit inclure le compartiment S3 dans lequel vous stockez votre serveur de jeu personnalisé ou vos fichiers de script Realtime. Il peut également contenir d'autres AWS ressources pour votre jeu, telles que des tables DynamoDB, des clusters Amazon Redshift et des fonctions Lambda. Bon nombre de ces ressources sont spécifiques à une région, vous devez donc les créer dans chaque région. Amazon GameLift Serversa également besoin d'un rôle IAM qui permet d'accéder à ces ressources de support. Comme un rôle IAM est indépendant de la région, vous n'avez besoin que d'une seule ressource de rôle, placée dans n'importe quelle région et référencée dans toutes les autres piles de support.
-
Amazon GameLift ServersPiles régionales : cette pile contient les Amazon GameLift Servers ressources qui doivent exister dans chaque région où votre jeu est déployé, y compris le build ou le script, un ensemble de flottes et les alias. CloudFormation crée une ressource de build ou de script avec des fichiers dans un emplacement de compartiment S3, et déploie la build ou le script sur une ou plusieurs ressources de flotte. Chaque flotte doit avoir un alias correspondant. La file d'attente de session de jeu fait référence à tout ou partie des alias de flotte. Vous pouvez gérer un modèle pour décrire ce type de pile et l'utiliser pour créer des ensembles de ressources identiques dans chaque région.
-
Amazon GameLift ServersPile globale — Cette pile contient votre file d'attente de session de jeu et vos ressources de matchmaking. Ces ressources peuvent être situées dans n'importe quelle région et sont généralement placées dans la même région. La file d'attente peut faire référence à des flottes ou à des alias situés dans n'importe quelle région. Pour placer des files d'attente supplémentaires dans différentes régions, créez des piles globales supplémentaires.
Les diagrammes ci-dessous illustrent une structure multistack permettant de déployer des ressources dans plusieurs AWS régions. Le premier diagramme montre une structure pour une file d'attente de session de jeu unique. Le deuxième diagramme montre une structure avec plusieurs files d'attente.
Mettre à jour les versions
Les builds Amazon GameLift Servers sont immuables, tout comme la relation entre une build et une flotte. Par conséquent, lorsque vous mettez à jour vos ressources d'hébergement pour utiliser un nouvel ensemble de fichiers de build de jeu, les étapes suivantes doivent être exécutées :
-
Créez une nouvelle build en utilisant le nouvel ensemble de fichiers (remplacement).
-
Créez un nouvel ensemble de flottes pour déployer la nouvelle build de jeu (remplacement).
-
Redirigez les alias pour pointer vers les nouvelles flottes (mise à jour sans interruption).
Pour plus d'informations, consultez la section Mettre à jour les comportements des ressources de pile dans le Guide de AWS CloudFormation l'utilisateur.
Déployez les mises à jour de build
Lors de la mise à jour d'une pile contenant des ressources de build, de flotte et d'alias associées, le CloudFormation comportement par défaut consiste à exécuter automatiquement ces étapes dans l'ordre. Vous déclenchez cette mise à jour en téléchargeant d'abord les nouveaux fichiers de build vers un nouvel emplacement S3. Vous modifiez ensuite votre modèle de CloudFormation build pour qu'il pointe vers le nouvel emplacement S3. Lorsque vous mettez à jour votre pile avec le nouvel emplacement S3, la séquence CloudFormation suivante se déclenche :
-
Récupération des nouveaux fichiers depuis S3, validation des fichiers et création d’un nouvelle build Amazon GameLift Servers.
-
Mise à jour de la référence de build dans le modèle de flotte, ce qui déclenche la création d'une nouvelle flotte.
-
Lorsque les nouvelles flottes sont actives, mise à jour de la référence de flotte dans l'alias, ce qui déclenche la mise à jour de l'alias pour cibler les nouvelles flottes.
-
Suppression de l'ancienne flotte.
-
Suppression de l'ancienne build.
Si votre file d'attente de session de jeu utilise des alias de flotte, le trafic des joueurs est automatiquement basculé vers les nouvelles flottes dès que les alias sont mis à jour. Les anciennes flottes sont progressivement vidées de leurs joueurs à mesure que les sessions de jeu se terminent. La mise à l'échelle automatique permet d'ajouter et de supprimer des instances dans chaque ensemble de flottes en fonction des fluctuations du trafic des joueurs. Vous pouvez également spécifier le nombre d'instances initial souhaité pour augmenter rapidement pour le commutateur et activer le dimensionnement automatique ultérieurement.
Vous pouvez également CloudFormation conserver les ressources au lieu de les supprimer. Pour plus d’informations, consultez RetainResources dans la Référence d’API AWS CloudFormation .
Déployer les mises à jour de build
Si vous souhaitez contrôler davantage le moment où les nouvelles flottes sont en ligne pour les joueurs, vous disposez de plusieurs options. Vous pouvez choisir de gérer manuellement les alias à l'aide de la console ou de l'interface de ligne de commande Amazon GameLift Servers. Au lieu de mettre à jour votre modèle de build pour remplacer la build et les flottes, vous pouvez ajouter un deuxième ensemble de définitions de build et de flotte à votre modèle. Lorsque vous mettez à jour le modèle, il CloudFormation crée une deuxième ressource de construction et les flottes correspondantes. Les ressources existantes n’étant pas remplacées, elles ne sont pas supprimées et les alias continuent de pointer vers les flottes d'origine.
Le principal avantage de cette approche est qu'elle vous donne de la flexibilité. Vous pouvez créer des ressources distinctes pour la nouvelle version de votre build, tester les nouvelles ressources et contrôler le moment où les nouvelles flottes sont mises en ligne pour les joueurs. Un inconvénient potentiel est que cela nécessite deux fois plus de ressources dans chaque région pendant une brève période.
Le schéma suivant illustre ce processus.
Comment fonctionnent les annulations
Lors de l'exécution d'une mise à jour des ressources, si une étape ne se termine pas correctement, CloudFormation lance automatiquement une restauration. Ce processus inverse chaque étape dans l'ordre, en supprimant les ressources nouvellement créées.
Si vous devez déclencher manuellement une restauration, restaurez l’emplacement d’origine de la clé d'emplacement S3 du modèle de build, puis mettez à jour votre pile. Une nouvelle build et une nouvelle flotte Amazon GameLift Servers sont créées, et l'alias bascule vers la nouvelle flotte une fois la flotte active. Si vous gérez des alias séparément, vous devez les modifier de sorte qu’ils pointent vers les nouvelles flottes.
Pour plus d'informations sur la gestion d'une annulation qui échoue ou se bloque, voir Poursuivre l'annulation d'une mise à jour dans le Guide de l'AWS CloudFormation utilisateur.