Passa al contenuto principale

Biblioteca di soluzioni AWS

Guida per l'hosting di back-end di gioco personalizzato su AWS

Panoramica

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, questa guida fornisce kit di sviluppo software (SDK) e codice di esempio per i motori di gioco Unreal Engine 5, Unity 2021 (e versioni più recenti) 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 distribuire un componente di identità di gioco multipiattaforma personalizzato, leggero e scalabile e come utilizzare le identità per autenticarsi con componenti di backend di gioco personalizzati su AWS

Implementazione sicura

Tutto pronto per l'implementazione? Consulta il codice di esempio su GitHub per istruzioni di implementazione dettagliate per implementare nello stato in cui si trova o per la personalizzazione in base alle tue esigenze. 

Vai al codice di esempio

Principi di 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, 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 backend. Inoltre, tutti i componenti di questa guida utilizzano Amazon CloudWatch per tenere traccia dei registri dei flussi di cloud privato virtuale (VPC), dell'accesso all'API Gateway, dell'accesso ad Amazon S3, dei completamenti Lambda e delle 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'alta disponibilità e 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 per 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 backend.

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, prendi in considerazione i piani di risparmio AWS 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 scalabilità automatica 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 per scalare in base alla richiesta, tra cui API Gateway, 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à

Avvertenza

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.

Hai trovato quello che cercavi?

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