Guida per i test di GameLift su AWS
Panoramica
Come funziona
Questi dettagli tecnici presentano un diagramma dell'architettura così da illustrare come utilizzare efficacemente questa soluzione. Il diagramma dell’architettura mostra i componenti chiave e le loro interazioni, fornendo una panoramica della struttura e delle funzionalità dell’architettura passo dopo passo.
Principi Well-Architected
Il diagramma dell'architettura sopra riportato è un esempio di una soluzione creata tenendo conto delle best practice Well-Architected. Per essere completamente Well-Architected, devi seguire il maggior numero possibile di best practice Well-Architected.
Sia il kit di strumenti che gioco di esempio sono completamente distribuiti con infrastructure as code, il che riduce errori causati da processi manuali e riduce l’onere di distribuzione delle modifiche.
L’API della console web serverless su Gateway API è protetta tramite l’autenticazione basata su AWS Identity and Access Management (IAM) rispetto a un pool di utenti Cognito.
Il backend serverless del gioco di esempio su Gateway API è protetto tramite un’autenticazione basata su IAM per la convalida sicura dell’identità ospite del giocatore.
I server di gioco su GameLift consentono l’accesso esclusivamente alle porte utilizzate per la comunicazione client-server. Le funzioni Lambda di backend hanno accesso solo ai servizi necessari.
I dati vengono archiviati in tabelle DynamoDB, utilizzando l’allocazione della capacità on demand per scalare automaticamente in base alle variazioni della domanda.
I servizi di backend della soluzione utilizzano Lambda, che scala automaticamente le istanze.
Il backend del gioco di esempio supporta il dimensionamento automatico basato su target GameLift per gestire le variazioni della domanda.
Utilizzando tecnologie gestite e serverless tra cui Gateway API, Lambda, DynamoDB e Fargate, paghi solo per le risorse utilizzate ed puoi ridurre il carico operativo necessario per il mantenimento della soluzione.
La soluzione può essere implementata in una Regione a scelta e utilizza CloudFront per ridurre la latenza per l’utente finale della console web.
Le attività dei giocatori virtuali possono essere avviate con Fargate Spot per ridurre i costi di test.
La console web e i backend del gioco di esempio utilizzano tecnologie serverless così che i prezzi vengano calcolati esclusivamente sulle risorse utilizzate.
Il backend della console web utilizza le funzionalità di dimensionamento native di Lambda e Gateway API, con le tabelle DynamoDB che utilizzano l’allocazione della capacità on demand per garantire che le risorse si adattino alla domanda.
Il backend del gioco di esempio supporta il dimensionamento automatico basato su target GameLift per ridurre al minimo le risorse richieste.
La Guida utilizza ampiamente i servizi gestiti, il che trasferisce la responsabilità di garantire un utilizzo medio-elevato ad AWS.
Il backend del gioco di esempio supporta il dimensionamento automatico basato su target GameLift per ridurre al minimo le risorse richieste. Impacchettando le sessioni di gioco nel numero minimo di istanze del server, l’utilizzo delle risorse viene mantenuto costantemente elevato.
Grazie all’ampio utilizzo dei servizi gestiti, questa Guida riduce l’impatto individuale sull’ambiente.
È possibile ridurre ulteriormente l’impatto sulla sostenibilità delle risorse inutilizzate avviando i server di gioco su parchi istanze spot e lanciando le attività dei giocatori virtuali su Fargate Spot.
Distribuzione sicura
Tutto pronto per la distribuzione? Consulta il codice di esempio su GitHub per istruzioni di distribuzione dettagliate per l’implementazione senza modifiche o per la personalizzazione in base alle proprie esigenze.