Passa al contenuto principale

Biblioteca di soluzioni AWS

Guida per l’hosting di backend di gioco personalizzato su AWS

Panoramica

Questa guida illustra come implementare un sistema di identità di gioco multi-piattaforma leggero e personalizzato, oltre a funzionalità di backend di gioco come hosting di server di gioco con Amazon GameLift, chat con WebSockets e liste di amici e suggerimenti con Amazon Neptune. Il sistema di identità supporta una serie di opzioni di autenticazione tra cui modalità ospite, Amazon Cognito, Steam, Accedi con Apple, Google Play e Facebook. È inoltre possibile personalizzare facilmente la guida per supportare eventuali piattaforme aggiuntive, come le console. La Guida supporta semplici estensioni con funzionalità di backend personalizzate e include modelli per componenti di backend sia serverless che containerizzati.

La Guida offre inoltre Software Development Kit (SDK) e codice di esempio per i motori di gioco Unreal Engine 5, Unity 2021 (e versioni successive) e Godot 4. Gli SDK si integrano con il componente di identità e con le funzionalità di backend di esempio.

Come funziona

Questo diagramma di architettura illustra come implementare un componente di identità di gioco multi-piattaforma personalizzato, leggero e scalabile, e spiega come utilizzare le identità per l’autenticazione rispetto a componenti di backend di gioco personalizzato su AWS

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. 

Vai al codice di esempio

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.

    Il componente di identità personalizzato in questa Guida utilizza AWS X-Ray che traccia le richieste degli utenti e fa uso dei Lambda Powertools per fornire informazioni dettagliate dall’interno della logica di backend. Inoltre, tutti i componenti di questa Guida utilizzano Amazon CloudWatch per monitorare i log dei flussi di cloud privato virtuale (VPC), l’accesso a Gateway API, l’accesso ad Amazon S3, i completamenti Lambda e le attività AWS Fargate. Infine, AWS CDK consente di effettuare modifiche controllate e di disporre di una configurazione coerente tra gli ambienti, aiutando a soddisfare le esigenze di sicurezza e conformità.

    Leggi il whitepaper sull’eccellenza operativa

    Per supportare una solida gestione delle identità, il componente dedicato personalizzato di questa Guida gestisce le identità e l’autenticazione dei giocatori. Tutte le altre funzionalità di questa Guida proteggono l’accesso convalidando i token web JSON rispetto alle chiavi pubbliche fornite dal componente di identità. Il componente di identità personalizzato è protetto da AWS WAF, un firewall per applicazioni web che protegge le applicazioni dai comuni exploit web. Inoltre, tutti i dati sono crittografati sia a riposo che in transito.

    Leggi il whitepaper sulla sicurezza

    Questa Guida utilizza soprattutto servizi completamente gestiti e altamente disponibili per impostazione predefinita in più zone di disponibilità (AZ) all’interno di una Regione AWS. Per Fargate, viene utilizzata una configurazione multi-AZ per l’elevata disponibilità. Inoltre, tutte le tabelle del database in DynamoDB sono protette con il recupero point-in-time.

    Leggi il whitepaper sull’affidabilità

    Questa Guida combina una serie di approcci diversi per consentire a varie funzionalità di migliorare le prestazioni. Innanzitutto, i servizi selezionati per questa Guida sono progettati per funzionare su larga scala per il lancio di giochi e per altri picchi di traffico grazie all’utilizzo di componenti a scalabilità automatica dei servizi serverless. Successivamente, i dati X-Ray forniti dal componente di identità personalizzato consentono agli sviluppatori di individuare le congestioni e di calibrare la Guida in base alle proprie esigenze al fine di ottimizzare le prestazioni. Infine, le chiavi pubbliche che convalidano i web token JSON vengono fornite tramite CloudFront per ottimizzare la latenza dei componenti di backend.

    Leggi il whitepaper sull’efficienza delle prestazioni

    Questa Guida utilizza i componenti serverless quando possibile, consentendoti di pagare solo per le risorse effettivamente utilizzate. Per ridurre ulteriormente i costi, tieni conto dei Savings Plans di AWS che possono essere utilizzati per ottimizzare i costi sia per Lambda che per Fargate. Inoltre, il passaggio dalle tabelle DynamoDB on demand alla capacità assegnata con dimensionamento automatico consente di utilizzare la capacità riservata di DynamoDB per ridurre i costi quando il traffico di base è noto.

    Tutti i servizi utilizzati in questa Guida sono configurati al fine di scalare a seconda della richiesta, tra cui Gateway API, Lambda, DynamoDB, Amazon S3, Fargate, Secrets Manager e AWS WAF, garantendo che siano richieste solo le risorse minime. 

    Leggi il whitepaper sull’ottimizzazione dei costi

    I componenti dei servizi serverless di questa Guida scalano automaticamente, consentendo ai componenti di scalare adattando continuamente il carico solo alle risorse minime necessarie. Ciò riduce l’impatto ambientale dell’infrastruttura evitando di eseguire il provisioning di capacità inutilizzata.

    Leggi il whitepaper sulla sostenibilità

Dichiarazione di non responsabilità

Il codice di esempio, le librerie software, gli strumenti della linea di comando, le proof of concept, i modelli e le altre tecnologie correlate (comprese tutte le tecnologie di cui sopra fornite dal nostro personale) vengono forniti all'utente sotto forma di contenuto AWS ai sensi dell'Accordo cliente AWS o del relativo accordo scritto stipulato tra l'utente e AWS (a seconda dei casi). Non bisogna utilizzare il contenuto AWS in questione negli account di produzione o sui dati di produzione o altri dati fondamentali. L'utente è responsabile dei test, della sicurezza e dell'ottimizzazione del contenuto AWS, come il codice di esempio, in modo appropriato per l'utilizzo in produzione sulla base delle pratiche e degli standard di qualità specifici. La distribuzione del contenuto AWS potrebbe comportare costi AWS per la creazione o l'utilizzo di risorse AWS addebitabili, quali le istanze Amazon EC2 in esecuzione o l'archiviazione Amazon S3.

Hai trovato quello che cercavi?

Facci sapere la tua opinione in modo da migliorare la qualità dei contenuti delle nostre pagine