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 di sicurezza, isolamento e operative di ogni ambiente. L'isolamento dell'ambiente, mediante la limitazione dell'accesso ad esso e la possibilità di utilizzare solo AWS i servizi necessari, è essenziale, in quanto gli ambienti di produzione sono bloccati, mentre gli ambienti di sviluppo e test sono favorevoli alla sperimentazione. Si consiglia vivamente di isolare ulteriormente i principali sottosistemi in ogni ambiente e di ospitare e gestire autonomamente i servizi comuni utilizzati da più ambienti. 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) tra singoli ambienti, in modo da ridurre la Account AWS portata degli incidenti. Prendi in considerazione la possibilità di AWS Organizations gestire centralmente la gerarchia per Account AWS semplificare ulteriormente le operazioni, nonché di definire e applicare in modo selettivo le politiche a livello di account e di unità organizzativa (livello di unità organizzativa). Progettando un'unità Account AWS organizzativa e una struttura appropriate in linea con le 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 in modo gerarchico, applica le politiche e abilita la governance centralizzata.
-
Piano per la scalabilità: progetta strutture di account dettagliate e implementa misure di riduzione dei costi per la crescita futura.
Passaggi dell’implementazione
Un sistema di gioco distribuito in AWS dovrebbe utilizzare più account organizzati in modo logico per garantire un isolamento adeguato, che riduce la portata dei problemi e semplifica le operazioni man mano che l'infrastruttura di gioco si espande. Account AWS le infrastrutture di gioco che ospitano i giochi sono in genere raggruppate nei seguenti ambienti logici:
-
Gli ambienti di sviluppo del gioco vengono utilizzati dagli sviluppatori per sviluppare il software e i sistemi per il gioco.
-
Gli ambienti di test o di garanzia della qualità (QA) vengono utilizzati per eseguire test di integrazione, controllo qualità manuale e altri test automatici che devono essere eseguiti.
-
Gli ambienti di staging o di preproduzione 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 l'infrastruttura di gioco AWS attiva, si consiglia di creare account separati per ogni ambiente di gioco (sviluppo, test, allestimento e produzione), nonché account per la sicurezza, la registrazione e i servizi condivisi centralizzati.
In genere, gli studi di sviluppo di giochi più piccoli che gestiscono un numero limitato di risorse infrastrutturali, 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 aumentano nel tempo, questo modello semplificato potrebbe non adattarsi bene.
Quando configuri questi ambienti, tieni presente che molti AWS servizi condividono le Service Quotas a livello di risorse e API per un intero account all'interno di una particolare regione. Questo deve essere considerato quando si determina come organizzare gli account in modo logico. Account AWS devono sostenere i costi solo per il consumo dei servizi in essi distribuiti. Pertanto, ciò consente di ridurre efficacemente la contesa di risorse e le quote di servizio, in particolare man mano che il gioco cresce e sempre più sviluppatori hanno bisogno di accedere per creare e gestire le risorse.
In base alla nostra esperienza di collaborazione con grandi studi di sviluppo di giochi che in genere gestiscono migliaia di server e centinaia di sviluppatori accedono alle risorse, ti consigliamo di progettare una struttura di account più dettagliata in cui le singole applicazioni che supportano il gioco abbiano i propri account di sviluppo, test, staging e produzione. Poiché è difficile e dispendioso in termini di tempo riprogettare la strategia AWS multi-account dopo aver lanciato il gioco a causa della complessità della pianificazione e della migrazione dei sistemi live, prendi in considerazione le tue future esigenze di scalabilità nel determinare la giusta struttura multi-account.
È possibile utilizzarla AWS Organizations
AWS Control Tower
Questo isolamento ti aiuta a configurare autorizzazioni e barriere personalizzate o individuali per ogni ambiente di gioco. Gli account di produzione dovrebbero avere i guardrail, le restrizioni di accesso, il monitoraggio e gli avvisi e gli strumenti di sicurezza necessari, mentre gli account non di produzione potrebbero non richiedere lo stesso livello di guardrail e autorizzazioni. Gli ambienti non di produzione possono essere automatizzati per disattivare le risorse fuori orario e ridurre i 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 multi-account per una società di giochi che utilizza unità organizzative (OUs) per raggruppare Account AWS logicamente in ambienti AWS Organizations e studi separati. In questo esempio, OUs vengono utilizzati per raggruppare gli account in base al rispettivo 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 (illustrato come OUs), il che può essere utile se si sviluppano e gestiscono più giochi. Consulta la documentazione e i white paper forniti nella sezione risorse di questo pilastro per scoprire le strategie aggiuntive da 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 che vengono 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 questi ambienti incentrati sul gioco OUs, ci sono anche l'unità organizzativa dei servizi condivisi e l'unità organizzativa di sicurezza. Questi OUs dovrebbero riguardare l'intera organizzazione, non 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 registri delle applicazioni e del sistema alla Account AWS configurazione per i registri nell'unità organizzativa di sicurezza.
Esempio di struttura degli account per gli ambienti di gioco