Créez une EC2 flotte GameLift gérée par Amazon - 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.

Créez une EC2 flotte GameLift gérée par Amazon

Cette rubrique explique comment créer une EC2 flotte GameLift gérée par Amazon. Les flottes gérées utilisent des instances de calcul Amazon Elastic Compute Cloud (AmazonEC2) optimisées pour l'hébergement de jeux multijoueurs. Vous pouvez créer des flottes gérées qui déploient des ordinateurs dans le monde entier, vers des Zones Régions AWS Locales prises en charge par Amazon. GameLift

Lorsque vous créez une nouvelle EC2 flotte gérée, le processus de création de flotte démarre immédiatement. Un parc géré passe par plusieurs phases au cours desquelles Amazon GameLift prépare le build de votre serveur de jeu, déploie EC2 des instances avec votre build installé et lance des serveurs de jeu sur chaque instance. Vous pouvez surveiller l'état d'une flotte dans la console ou à l'aide de la commande uring AWS Command Line Interface (AWS CLI). Une flotte est prête à accueillir des sessions de jeu lorsque son statut est atteintACTIVE. Pour plus d'informations sur la création de flottes gérées, consultez les rubriques suivantes :

Pour créer une EC2 flotte gérée

Utilisez la GameLift console Amazon ou le AWS Command Line Interface (AWS CLI) pour créer une EC2 flotte gérée.

Console

Dans la GameLift console Amazon, utilisez le volet de navigation pour ouvrir la page Fleets. Choisissez Créer une flotte pour démarrer le flux de travail de création de flotte.

Étape 1 Choisissez le type de calcul

Sélectionnez l'EC2option Géré, puis cliquez sur Suivant.

Étape 2 Définir les détails de la flotte

Au cours de cette étape, définissez certains paramètres pour l'ensemble de la flotte.

Pour une configuration de flotte minimale :
  • Entrez le nom de la flotte.

  • Choisissez un type binaire et spécifiez un build ou un script téléchargé.

  • Ignorez les sections sur les détails et les balises supplémentaires.

  1. Remplissez la section Détails de la flotte :

    1. Entrez un nom de flotte. Nous vous recommandons d'utiliser un modèle de dénomination des flottes qui facilite l'identification des types de flotte lors de la consultation des listes de flottes.

    2. Fournissez une brève description de la flotte.

    3. Pour le type binaire, sélectionnez Construire pour indiquer que vous déployez une version de serveur de jeu personnalisée, ou sélectionnez Script si vous déployez des serveurs en temps réel sur cette flotte. Sélectionnez une version ou un script téléchargé dans la liste déroulante.

  2. (Facultatif) Définissez des informations supplémentaires selon vos besoins.

    1. Si le fichier exécutable de votre serveur de jeu doit accéder à d'autres AWS ressources de votre compte, spécifiez un rôle d'IAMinstance doté des autorisations nécessaires. Pour plus d'informations, notamment sur la manière d'autoriser d'autres applications côté serveur (telles que CloudWatch l'agent), consultez. Communiquez avec les autres AWS ressources de vos flottes Ce paramètre ne peut pas être modifié une fois que vous avez créé la flotte.

      Vous devez créer le rôle avant de créer une flotte qui l'utilise. En outre, pour créer une flotte avec un rôle d'instance, votre AWS utilisateur doit disposer d'une IAM PassRole autorisation (voirExemples d'autorisations IAM pour Amazon GameLift).

    2. Activez l'option Générer un TLS certificat pour configurer l'authentification et le cryptage de votre jeu. Les clients du jeu utilisent ce certificat pour authentifier un serveur de jeu lors de la connexion et crypter toutes les communications client/serveur. Pour chaque instance d'un parc TLS compatible, Amazon crée GameLift également une nouvelle DNS entrée avec le certificat. Ce paramètre ne peut pas être modifié une fois que vous avez créé la flotte.

    3. Si vous souhaitez combiner les données métriques de ce parc et d'autres, spécifiez un nom de groupe de métriques. Utilisez le même nom de groupe de mesures pour toutes les flottes que vous souhaitez combiner. Consultez les métriques du groupe de métriques pour voir les données agrégées.

  3. (Facultatif) Ajoutez des balises à la ressource de flotte. Chaque balise est constituée d’une clé et d’une valeur facultative que vous définissez. Attribuez des balises aux AWS ressources que vous souhaitez classer de manière utile, par exemple par objectif, propriétaire ou environnement. Choisissez Ajouter un nouveau tag pour chaque tag que vous souhaitez ajouter.

  4. Choisissez Next pour continuer le flux de travail.

Étape 3 Définir les détails de l'instance

Au cours de cette étape, spécifiez le type de ressources d'hébergement à utiliser et l'endroit où vous souhaitez les déployer. En choisissant plusieurs emplacements, vous pouvez déployer votre serveur de jeu sur une zone géographique plus large, ce qui le rapproche de vos joueurs et minimise le temps de latence. Tous les types d'EC2instances ne sont pas disponibles dans tous les emplacements.

Pour une configuration de flotte minimale :
  • N'ajoutez pas de sites distants.

  • Définissez le type de flotte sur « À la demande ». Les flottes Spot nécessitent des travaux de configuration supplémentaires.

  • Définissez le type d'instance sur « c5.large ». Ce type d'instance couramment utilisé est disponible partout Régions AWS.

  1. Dans Déploiement de l'instance, spécifiez les emplacements et le type de flotte.

    1. Sélectionnez un ou plusieurs sites supplémentaires sur lesquels vous souhaitez déployer des instances de flotte. Ces sites distants sont ajoutés à l'emplacement d'origine de la flotte (qui est présélectionné), c'est-à-dire l' Région AWS endroit où vous créez cette flotte. Vous pouvez sélectionner des sites distants parmi toutes Régions AWS les Zones Locales prises GameLift en charge par Amazon.

      Pour en savoir plus sur les emplacements pris en charge, notamment sur la façon d'utiliser un emplacement Région AWS qui n'est pas activé par défaut, consultez la section Points GameLift de service Amazon relative à l'hébergement géré. Consultez également les GameLift quotas Amazon relatifs aux sites par flotte.

    2. Choisissez d'utiliser des instances à la demande ou des instances ponctuelles pour ce parc. Pour plus d'informations sur les types de flottes, consultezInstances à la demande et instances ponctuelles.

  2. Choisissez une configuration d'EC2instance Amazon qui répond à vos besoins et qui est disponible dans tous les sites que vous avez sélectionnés. Cette liste est filtrée en fonction de votre position actuelle et de vos sélections de type de flotte. Vous pouvez le filtrer davantage en fonction d'autres facteurs tels que le type d'instance, la famille et l'architecture. Une fois que vous avez créé le parc, vous ne pouvez pas modifier le type d'instance.

    Certains sites proposent des options de type d'instance limitées. Si le type d'instance que vous préférez n'est pas disponible pour tous les sites, choisissez la valeur de disponibilité des emplacements pour afficher tous les détails. Pour prendre en charge tous les sites, vous devrez peut-être créer des flottes distinctes avec différents types d'instances.

    Pour plus d'informations sur le choix d'un type d'instance, consultezTypes d’instances. Pour en savoir plus sur les architectures Amazon EC2 Arm, consultez les AWS sections Processeur Graviton et types d'EC2instances Amazon. Pour obtenir la liste complète des types d'instances pris en charge par Amazon GameLift, consultez la API référence pour EC2InstanceType(CreateFleet()).

    Note

    Les instances Graviton Arm nécessitent un GameLift serveur Amazon basé sur le système d'exploitation Linux. Le serveur SDK 5.1.1 ou une version plus récente est requis pour C++ et C#. Le serveur SDK 5.0 ou une version ultérieure est requis pour Go. Ces instances ne prennent pas out-of-the-box en charge l'installation de Mono sur Amazon Linux 2023 (AL2023) ou Amazon Linux 2 (AL2).

  3. Choisissez Next pour continuer le flux de travail.

Étape 4 Configuration de l'environnement d'exécution

Dans cette étape, décrivez comment vous souhaitez que chaque instance du parc exécute le logiciel de votre serveur de jeu. Définissez un élément de ligne de processus serveur distinct pour chaque exécutable à exécuter sur une instance, et déterminez le nombre de processus serveur à exécuter simultanément. Ouvrez des ports sur chaque instance pour permettre aux joueurs de se connecter directement aux serveurs de jeu. Vous pouvez mettre à jour ces paramètres de flotte à tout moment.

Pour une configuration de flotte minimale :
  • Définissez un élément de ligne de processus de serveur unique pour le fichier exécutable de votre serveur de jeu. Si votre serveur de jeu nécessite l'exécution d'autres processus, créez également une définition pour chacun d'entre eux.

  • Utilisez le nombre de processus simultanés par défaut (1) pour chaque rubrique.

  • Ignorez les paramètres d'activation de la session de jeu.

  • Spécifiez un numéro de port unique.

  • Ignorez les paramètres des ressources de la session de jeu.

  1. Créez une configuration d'exécution pour indiquer à Amazon GameLift comment exécuter les processus de serveur sur chaque instance du parc. Vous pouvez modifier la configuration d'exécution d'une flotte à tout moment après le déploiement.

    1. Entrez le chemin de lancement d'un fichier exécutable dans votre build. Sur les instances Windows, les exécutables du serveur de jeu sont intégrés au chemin. C:\game Sur les instances Linux, les serveurs de jeu sont conçus pour/local/game. Exemples : C:\game\MyGame\server.exe/local/game/MyGame/server.exe, ouMyRealtimeLaunchScript.js.

    2. Entrez les paramètres de lancement facultatifs à transmettre au fichier exécutable de votre jeu. Exemple: +sv_port 33435 +start_lobby.

    3. Spécifiez le nombre de processus simultanés à exécuter sur chaque instance. Pour un exécutable sur un serveur de jeu, chaque processus peut héberger une session de jeu, de sorte que les processus simultanés déterminent le nombre de sessions de jeu que l'instance peut héberger simultanément.

      Consultez les GameLift quotas Amazon relatifs aux processus du serveur par instance. Ces quotas s'appliquent au nombre total de processus simultanés pour toutes les configurations. Si vous configurez la flotte pour les dépasser, elle ne peut pas être activée.

  2. Utilisez les paramètres d'activation de session de jeu par défaut ou personnalisez-les en fonction de votre jeu. Si la configuration d'exécution nécessite plusieurs processus de serveur de jeu simultanés par instance, ces paramètres déterminent la rapidité avec laquelle les nouvelles sessions de jeu peuvent démarrer.

    1. Définissez le nombre maximum d'activations simultanées de session de jeu pour limiter le nombre de serveurs de jeu sur une instance qui préparent une nouvelle session de jeu. Ce paramètre est utile lorsque le lancement de plusieurs nouvelles sessions de jeu est gourmand en ressources et peut avoir un impact sur les performances des autres sessions de jeu en cours d'exécution.

    2. Définissez le nouveau délai d'activation pour qu'il reflète le temps maximum qu'une nouvelle session de jeu doit prendre pour terminer l'activation et signaler que les joueurs sont prêts à héberger. Amazon GameLift met fin à l'activation d'une session de jeu si cette valeur est supérieure à cette valeur.

  3. Ouvrez les paramètres de EC2 port pour permettre au trafic entrant d'accéder aux processus du serveur de la flotte. Ces paramètres ne sont pas obligatoires pour créer une flotte, mais vous devez les définir avant que les joueurs puissent se connecter aux sessions de jeu de la flotte.

    Pour chaque paramètre de port, choisissez le type de protocole de transfert de données à utiliser pour la communication entre le client de jeu et le serveur de jeu. Fournissez une plage de ports (au formatnnnnn[-nnnnn]) et une plage d'adresses IP en utilisant une CIDR notation (telle que celle 0.0.0.0/0 qui permet l'accès à n'importe qui).

    Si vous devez définir plusieurs plages non consécutives, créez plusieurs paramètres de port.

  4. Spécifiez les paramètres facultatifs des ressources de session de jeu. Vous pouvez mettre à jour ces paramètres à tout moment après le déploiement.

    1. Activez ou désactivez la politique de protection Game Scaling pour toutes les instances de la flotte. Lors d'un événement de réduction, Amazon GameLift ne mettra pas fin aux instances de flotte protégées si elles hébergent des sessions de jeu actives.

    2. Définissez une limite maximale de création de ressources si vous souhaitez limiter le nombre de sessions de jeu qu'un joueur peut créer pendant une période donnée.

  5. Choisissez Next pour continuer le flux de travail.

Étape 5 Réviser et créer

Vérifiez vos paramètres avant de créer la flotte. Bien que certains paramètres puissent être mis à jour ultérieurement (voirMettre à jour la configuration d'une GameLift flotte Amazon), les modifications des paramètres suivants ne sont pas autorisées une fois la flotte créée :

  • Type de calcul : vous ne pouvez pas convertir un EC2 parc géré en un parc Anywhere.

  • Build ou script : pour déployer une mise à jour du build ou du script de votre serveur de jeu, vous devez créer une nouvelle flotte.

  • Options supplémentaires, notamment le rôle d'instance et la génération de TLS certificats.

  • Détails de l'instance, y compris le type de flotte (ponctuel ou à la demande) et le type d'EC2instance.

Lorsque vous êtes prêt à déployer la nouvelle flotte, choisissez Create. Amazon lance GameLift immédiatement le processus d'activation de la flotte, en attribuant un identifiant unique et en attribuant le NEW statut de la flotte. Suivez la progression de la flotte sur la page Flottes. Consultez la page de détails de la flotte et accédez à l'onglet Événements.

Vous pouvez ajuster la capacité d'hébergement d'une flotte une fois que celle-ci a atteint ACTIVE son statut. Amazon déploie GameLift initialement une flotte avec une seule instance dans chaque emplacement du parc, et vous ajustez la capacité en ajoutant des instances à chaque site. Pour de plus amples informations, veuillez consulter Augmenter la capacité d'hébergement de jeux avec Amazon GameLift.

AWS CLI

Utilisez la create-fleetcommande pour créer un parc de types de calculEC2. Amazon GameLift crée la ressource de flotte par défaut actuelle Région AWS (ou vous pouvez ajouter une balise --region pour en spécifier une autre Région AWS).

Créez une flotte gérée minimale

L'exemple de demande suivant crée une nouvelle flotte avec les paramètres minimaux requis pour déployer une flotte avec des serveurs de jeu actifs auxquels les clients du jeu peuvent se connecter. La nouvelle flotte présente les caractéristiques suivantes :

  • Il spécifie une version de serveur de jeu, qui a été téléchargée sur Amazon GameLift et dont le READY statut est en cours.

  • Il utilise des instances à la demande c5.large avec un système d'exploitation correspondant à la version de jeu sélectionnée.

  • Il définit le siège Région AWS de la flotte us-west-2 et déploie les instances dans cette région uniquement.

  • Selon la configuration d'exécution, chaque ordinateur du parc exécute un processus de serveur de jeu, ce qui signifie que chaque ordinateur ne peut héberger qu'une seule session de jeu à la fois. Le délai d'activation des sessions de jeu est défini sur la valeur par défaut de 300 secondes, et il n'y a aucune limite quant au nombre d'activations simultanées.

  • Les joueurs peuvent se connecter aux serveurs de jeu en utilisant un paramètre de port unique défini sur33435.

  • Toutes les autres fonctionnalités sont désactivées ou utilisent les paramètres par défaut.

aws gamelift create-fleet \ --name MinimalFleet123 \ --description "A basic test fleet" \ --region us-west-2 \ --ec2-instance-type c5.large \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --runtime-configuration "ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, ConcurrentExecutions=10}]" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP"

Créez une flotte gérée entièrement configurée

L'exemple de demande suivant crée un parc de production avec des paramètres pour toutes les fonctionnalités facultatives. La nouvelle flotte présente les caractéristiques suivantes :

  • Il spécifie une version de serveur de jeu, qui a été téléchargée sur Amazon GameLift et dont le READY statut est en cours.

  • Il utilise des instances à la demande c5.large avec le système d'exploitation correspondant à la version de jeu sélectionnée.

  • Il définit le siège Région AWS de la flotte us-west-2 et déploie les instances dans la région d'origine et sur un site sa-east-1 distant.

  • Sur la base de la configuration d'exécution :

    • Chaque ordinateur de la flotte exécute 10 processus de serveur de jeu avec les mêmes paramètres de lancement, ce qui signifie que chaque ordinateur peut héberger jusqu'à 10 sessions de jeu simultanément.

    • Sur chaque ordinateur, seules deux sessions de jeu peuvent être activées en même temps. Les sessions de jeu activées doivent être prêtes à accueillir les joueurs dans un délai de 300 secondes (5 minutes) sous peine d'être interrompues.

  • Les joueurs peuvent se connecter aux serveurs de jeu en utilisant un port dans la plage suivante33435 to 33535.

  • Il génère un TLS certificat pour les communications cryptées entre le client du jeu et le serveur.

  • La protection des sessions de jeu est activée pour toutes les sessions de jeu de la flotte.

  • Les joueurs individuels sont limités à la création de trois nouvelles sessions de jeu sur une période de 15 minutes.

  • Les métriques de cette flotte sont incluses dans le groupe de métriquesAMERfleets, qui (dans cet exemple) agrège les métriques d'un groupe de flottes en Amérique du Nord, centrale et du Sud.

aws gamelift create-fleet \ --name ProdFleet123 \ --description "A fully configured prod fleet" \ --ec2-instance-type c5.large \ --region us-west-2 \ --locations "Location=sa-east-1" \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --certificate-configuration "CertificateType=GENERATED" \ --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" \ --new-game-session-protection-policy "FullProtection" \ --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33535,IpRange=0.0.0.0/0,Protocol=UDP" \ --metric-groups "AMERfleets"

Si la demande de création de flotte aboutit, Amazon GameLift renvoie un ensemble d'attributs de flotte comprenant les paramètres de configuration que vous avez demandés et un nouvel identifiant de flotte. Amazon lance GameLift ensuite le processus d'activation de la flotte et définit le statut de la flotte et les statuts de localisation sur Nouveau. Vous pouvez suivre l'état de la flotte et consulter d'autres informations sur la flotte à l'aide des CLI commandes suivantes :

Vous pouvez changer la capacité de la flotte et d'autres paramètres de configuration, si nécessaire, à l'aide des commandes suivantes :