View a markdown version of this page

GAMEOPS02-BP01 Adotta una strategia multi-account per isolare giochi e applicazioni diversi nei propri account - Obiettivo per l'industria dei giochi

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

GAMEOPS02-BP01 Adotta una strategia multi-account per isolare giochi e applicazioni diversi nei propri account

Progetta una struttura di account che guidi l'implementazione dell'infrastruttura per soddisfare le esigenze operative, di sicurezza e di isolamento di ciascun ambiente. È essenziale isolare l'ambiente limitando l'accesso allo stesso e consentendo l'utilizzo solo AWS dei servizi necessari: gli ambienti di produzione sono bloccati, mentre gli ambienti di sviluppo e test sono indulgenti per consentire la sperimentazione. Si raccomanda vivamente di isolare ulteriormente i principali sottosistemi in ogni ambiente e di utilizzare i servizi comuni utilizzati da più ambienti per essere ospitati e gestiti autonomamente. Account AWS

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all’implementazione

Adotta una strategia multi-account AWS isolando i diversi ambienti (come sviluppo, test, staging, produzione e servizi condivisi) in singoli Account AWS, il che riduce la portata degli incidenti. Valuta la possibilità AWS Organizations di gestire centralmente la gerarchia aziendale per semplificare ulteriormente le operazioni, oltre Account AWS a definire e applicare in modo selettivo le policy a livello di account e a livello di unità organizzativa (). OU-level Progettando un'unità organizzativa e una Account AWS struttura appropriate e allineate alle esigenze del flusso di lavoro di sviluppo e produzione, è possibile ottimizzare i costi e migliorare la scalabilità.

  • Adotta una strategia multi-account: isola gli ambienti per ridurre il raggio degli incidenti e semplificare le operazioni.

  • Utilizzo AWS Organizations: gestisci gli account gerarchicamente, applica le policy e abilita la governance centralizzata.

  • Piano per la scalabilità: progetta strutture di account granulari e implementa misure di riduzione dei costi per la crescita futura.

Passaggi dell’implementazione

Un sistema di gioco installato AWS dovrebbe utilizzare più account organizzati in modo logico per fornire un isolamento adeguato, il che riduce la portata dei problemi e semplifica le operazioni man mano che l'infrastruttura di gioco si espande. Account AWS l'infrastruttura di gioco ospitante è in genere raggruppata nei seguenti ambienti logici:

  • Gli ambienti di sviluppo del gioco vengono utilizzati dagli sviluppatori per sviluppare il software e i sistemi del gioco.

  • Gli ambienti di test o di garanzia della qualità (QA) vengono utilizzati per eseguire test di integrazione, QA manuale e altri test automatici che devono essere condotti.

  • Gli ambienti di staging o di pre-produzione vengono utilizzati per ospitare il software completo in modo da poter eseguire test di carico e fumo prima del lancio in produzione.

  • Gli ambienti live o di produzione vengono utilizzati per ospitare il software e l'infrastruttura live e servire il traffico di produzione proveniente dai giocatori.

  • Gli ambienti di servizi o strumenti condivisi forniscono l'accesso a sistemi, software e strumenti comuni utilizzati da molti team diversi. Ad esempio, un repository centrale di controllo del codice sorgente e una game build farm ospitati autonomamente potrebbero essere ospitati in un account di servizi condivisi.

  • Gli ambienti di sicurezza vengono utilizzati per consolidare i log centralizzati e le tecnologie di sicurezza utilizzate dai team che si concentrano sulla sicurezza del cloud.

Per attivare l'infrastruttura di gioco AWS, si consiglia di creare account separati per ogni ambiente di gioco (sviluppo, test, staging e produzione), nonché account per la sicurezza, la registrazione e i servizi condivisi centralizzati.

In genere, gli studi di sviluppo di videogiochi più piccoli che gestiscono un numero limitato di risorse di infrastruttura, in genere poche centinaia di server o meno, possono crearne uno Account AWS per ciascuno di questi ambienti (ad esempio, un account di produzione, un account di sviluppo e un account di staging). Tuttavia, man mano che l'infrastruttura di gioco o le dimensioni del team crescono nel tempo, questo modello semplificato potrebbe non essere scalabile correttamente.

Quando configuri questi ambienti, tieni presente che molti AWS servizi condividono le risorse e le quote API-level di servizio per un intero account all'interno di una particolare regione. Questo deve essere considerato quando si determina come organizzare logicamente gli account. Account AWS comportano solo costi per il consumo dei servizi in essi implementati. Si tratta quindi di un modo per ridurre efficacemente i conflitti in termini di risorse e le quote di servizio, in particolare man mano che il gioco cresce e sempre più sviluppatori hanno bisogno di accedervi per creare e gestire le risorse.

In base alla nostra esperienza di collaborazione con grandi studi di sviluppo di videogiochi che in genere gestiscono migliaia di server con centinaia di sviluppatori che accedono alle risorse, ti consigliamo di progettare una struttura di account più dettagliata in cui le singole applicazioni che supportano il tuo gioco abbiano i propri account di sviluppo, test, staging e produzione. Poiché è difficile e richiede molto tempo riprogettare la tua strategia AWS multi-account dopo aver lanciato il gioco a causa della complessità della pianificazione e della migrazione dei sistemi live, considera le tue esigenze di scalabilità future per determinare la giusta struttura multi-account. 

Puoi utilizzarlo AWS Organizations per impostare una gerarchia Account AWS, raggruppare e definire unità organizzative (OU) per applicare loro OU-level politiche comuni tramite politiche di controllo dei servizi (SCP). AWS Organizations gestisce e governa centralmente il tuo ambiente man mano che cresci e scali le tue risorse. Puoi creare nuovi account e allocare risorse in modo programmatico, raggruppare gli account per organizzare i flussi di lavoro, applicare politiche agli account o ai gruppi per la governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per i tuoi account. Inoltre, Organizations è integrato con altri servizi in modo da poter definire configurazioni centrali, meccanismi di sicurezza, requisiti di audit e condivisione delle risorse tra gli account dell'organizzazione.

AWS Control Towerfornisce un modo semplice per configurare e gestire un ambiente sicuro con più account, chiamato zona di atterraggio. Control Tower crea la tua zona di destinazione utilizzando la gestione e la governance costanti degli account AWS Organizations, nonché le migliori pratiche di implementazione basate sull'esperienza AWS di lavoro con migliaia di clienti nel passaggio al cloud. AWS Confige AWS Security Hub CSPM sono servizi che forniscono una visione aggregata o centralizzata dell'igiene dell'account. AWS Trusted Advisor

Questo isolamento ti aiuta a configurare autorizzazioni e guardrail personalizzati o individuali per ogni ambiente di gioco. Gli account di produzione devono disporre dei guardrail, delle restrizioni di accesso, del monitoraggio e degli avvisi e degli strumenti di sicurezza necessari, mentre gli account non di produzione potrebbero non richiedere lo stesso livello di guardrail e autorizzazioni. Non-production gli ambienti possono essere automatizzati per chiudere le risorse fuori orario e risparmiare sui costi. La separazione degli account a questo livello di granularità semplifica il monitoraggio dei costi di infrastruttura per ciascuno degli ambienti che supportano un gioco.

Di seguito è riportato un esempio di struttura con più account per una società di giochi che utilizza unità organizzative (OU) per Account AWS raggrupparle logicamente in ambienti AWS Organizations e studi separati. In questo esempio, le unità organizzative vengono utilizzate per raggruppare gli account in base all'ambiente e quindi in base allo studio che gestisce l'ambiente. Questo dimostra come è possibile creare una gerarchia annidata per consentire la distribuzione di applicazioni e giochi separati nei rispettivi account all'interno del rispettivo ambiente (rappresentati come unità organizzative), il che può essere utile se si sviluppano e gestiscono più giochi. Consulta la documentazione e i white paper forniti nella sezione delle risorse di questo pilastro per scoprire altre strategie che puoi prendere in considerazione per organizzare la tua strategia multi-account.

Sulla base della discussione precedente, il diagramma di esempio seguente presuppone uno studio di gioco (Organizzazione) con una pipeline di sviluppo composta da 4 fasi (sviluppo, test, messa in scena e produzione). Per un determinato gioco (game1), ogni ambiente (OU) dispone di servizi di gioco individuali, server Account AWS di gioco dedicati, servizi social e server web. Le risorse eseguite in ciascuno di essi Account AWS sono pertinenti ai rispettivi sottosistemi. In genere, ogni singolo gioco che utilizza questo tipo di pipeline di sviluppo replicherebbe questa struttura o una struttura simile. Account AWS

Oltre a queste unità organizzative incentrate sui giochi, ci sono anche l'unità organizzativa per i servizi condivisi e l'unità organizzativa di sicurezza. Queste unità organizzative dovrebbero riguardare l'intera organizzazione, non per ogni singolo gioco. In questo modo i giochi consumerebbero i servizi condivisi per gli strumenti di sviluppo, i dati e l'analisi, come in questo esempio. Quindi, invia i log delle applicazioni e del sistema alla Account AWS configurazione per i log nell'unità organizzativa di sicurezza. 

Esempio di struttura degli account per ambienti di gioco

Esempio di struttura degli account per gli ambienti di gioco