Questa guida illustra come implementare un sistema di identità di gioco multipiattaforma 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.

Inoltre, la guida fornisce 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.

Nota: [Disclaimer]

Diagramma dell'architettura

[Descrizione del diagramma dell’architettura]

Scarica il diagramma dell'architettura (PDF) 

Principi di Well-Architected

Il framework AWS Well-Architected consente di valutare i pro e i contro delle decisioni prese durante il processo di creazione di sistemi nel cloud. I sei principi del framework consentono di apprendere le best practice architetturali per la progettazione e il funzionamento di sistemi affidabili, sicuri, efficienti, convenienti e sostenibili. Grazie allo strumento AWS Well-Architected, disponibile gratuitamente nella Console di gestione AWS, puoi rivedere i tuoi carichi di lavoro rispetto a queste best practice rispondendo a una serie di domande per ciascun principio.

Il diagramma dell'architettura sopra riportato è un esempio di una soluzione creata tenendo conto delle best practice Well-Architected. Per essere completamente Well-Architected, dovresti seguire il maggior numero possibile di best practice.

  • Il componente di identità personalizzato in questa Guida utilizza AWS X-Ray che traccia le richieste degli utenti e sfrutta Lambda Powertools per fornire informazioni dettagliate dall'interno della logica di back-end. Inoltre, tutti i componenti di questa Guida utilizzano Amazon CloudWatch per tracciare 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 modifiche controllate e una configurazione coerente tra gli ambienti, aiutandoti a soddisfare le tue esigenze di sicurezza e conformità.

    Leggi il whitepaper sull'eccellenza operativa 
  • Per supportare una solida gestione di identità, il componente di identità personalizzato di questa Guida gestisce le identità e l'autenticazione dei giocatori. Tutte le altre funzionalità di questa Guida proteggono l'accesso convalidando i JSON Web Token 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 sfrutta principalmente i servizi gestiti in maniera completa e altamente disponibili di default 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 un ripristino 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 altri picchi di traffico sfruttando i componenti a scalabilità automatica dei servizi serverless. Successivamente, i dati a raggi X 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 JSON Web Token vengono fornite tramite CloudFront per ottimizzare la latenza per i componenti di back-end.  

    Leggi il whitepaper sull'efficienza delle prestazioni 
  • Questa Guida sfrutta i componenti serverless quando possibile, consentendoti di pagare solo per le risorse effettivamente utilizzate. Per ridurre ulteriormente i costi, tieni conto degli AWS Savings Plans che possono essere utilizzati per ottimizzare i costi sia per Lambda che per Fargate. Inoltre, il passaggio dalle tabelle DynamoDB su richiesta alla capacità fornita 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 si scalano automaticamente, consentendo ai componenti di scalare abbinando continuamente il carico con solo le risorse minime necessarie. Ciò riduce l'impatto ambientale dell'infrastruttura evitando di fornire capacità inutilizzata.

    Leggi il whitepaper sulla sostenibilità 
Workshop

Workshop sul Framework AWS di backend di gioco

Questo workshop illustra come implementare e testare il Framework AWS di backend di gioco, integrarlo con i motori di gioco più diffusi e sfruttare il server Visual Studio Code per l'implementazione dell'infrastruttura AWS CDK.
Blog

Harmony Games implementa un backend di gioco completamente personalizzato utilizzando il Kit di sviluppo per il cloud AWS (AWS CDK)

Questo post sul blog dimostra come Harmony Games utilizza AWS CDK per distribuire un'infrastruttura di backend di gioco completamente personalizzata su AWS, consentendo lo sviluppo e la scalabilità efficienti dei propri servizi di gioco multiplayer.

Disclaimer

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. L'implementazione del contenuto AWS può 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.

Eventuali riferimenti a servizi o organizzazioni di terze parti contenuti in questa guida non implicano alcuna approvazione, sponsorizzazione o affiliazione tra Amazon o AWS e dette terze parti. La guida di AWS è un punto di partenza tecnico e l'integrazione con servizi di terze parti può essere personalizzata al momento dell'implementazione dell'architettura.

Questa pagina è stata utile?