Stabilire il tuo ambiente AWS per le best practice

Perché configurare un ambiente AWS multi-account?

AWS ti consente di sperimentare, innovare e dimensionare più rapidamente, il tutto fornendo l'ambiente cloud più flessibile e sicuro. Un mezzo importante attraverso il quale AWS garantisce la sicurezza delle tue applicazioni è l'account AWS. Un account AWS fornisce i limiti naturali per sicurezza, accesso e fatturazione per le tue risorse AWS e ti consente di raggiungere l'indipendenza e l'isolamento delle risorse. Ad esempio, gli utenti esterni al tuo account non hanno accesso alle tue risorse per impostazione predefinita. Allo stesso modo, il costo delle risorse AWS che consumi viene allocato al tuo account. Sebbene tu possa iniziare il tuo percorso in AWS con un singolo account, AWS consiglia di configurare più account man mano che i tuoi carichi di lavoro crescono in dimensioni e complessità. L'utilizzo di un ambiente multi-account è una best practice AWS che offre numerosi vantaggi:

  • Innovazione rapida con requisiti diversi: puoi allocare account AWS a diversi team, progetti o prodotti all'interno della tua azienda, assicurandoti che ciascuno di essi possa innovare rapidamente rispettando i propri requisiti di sicurezza.
  • Fatturazione semplificata: l'utilizzo di più account AWS semplifica l'allocazione dei costi AWS aiutando a identificare quale prodotto o linea di servizio è responsabile di un addebito AWS.
  • Controlli di sicurezza flessibili: puoi utilizzare più account AWS per isolare carichi di lavoro o applicazioni che hanno requisiti di sicurezza specifici o che devono soddisfare linee guida rigorose per la conformità come HIPAA o PCI.
  • Si adatta facilmente ai processi aziendali: puoi organizzare facilmente più account AWS in modo da riflettere al meglio le diverse esigenze dei processi aziendali della tua azienda che hanno requisiti operativi, normativi e di budget diversi.

In definitiva, un ambiente AWS multi-account ti consente di utilizzare il cloud per muoverti più velocemente e creare prodotti e servizi differenziati, il tutto assicurandoti di farlo in modo sicuro, scalabile e resiliente. Ma come va creato un ambiente AWS multi-account? Potresti avere domande come quale struttura dell'account utilizzare, quali policy e guardrail dovrebbero essere implementati o come impostare il tuo ambiente per il controllo.

Il resto di questa guida descriverà gli elementi della creazione di un ambiente AWS multi-account sicuro e produttivo, spesso indicato come "zona di destinazione", come raccomandato da AWS. Tale ambiente rappresenta le best practice che possono essere utilizzate per creare un framework iniziale pur consentendo flessibilità man mano che i carichi di lavoro AWS aumentano nel tempo.

Best practice per la configurazione dell'ambiente AWS multi-account

Alla base di un ambiente AWS multi-account well-architected è AWS Organizations, un servizio che ti consente di gestire e governare centralmente più account. Prima di iniziare, proviamo a familiarizzare con alcuni termini. Un'unità organizzativa (UO) è un raggruppamento logico di account nella tua organizzazione AWS. Le unità organizzative ti consentono di organizzare i tuoi account in una gerarchia e di semplificare l'applicazione dei controlli di gestione. Per applicare tali controlli, vengono utilizzate le policy di AWS Organizations. Una Service Control Policy (SCP) è una policy che definisce le azioni del servizio AWS, come Amazon EC2 Run Instance, che gli account della tua organizzazione possono eseguire.

Innanzitutto, considera quali raggruppamenti di account o unità organizzative dovresti creare. Le tue unità organizzative dovrebbero essere basate su funzioni o su un insieme comune di controlli piuttosto che rispecchiare la struttura di reporting della tua azienda. AWS consiglia di iniziare pensando alla sicurezza e all'infrastruttura. La maggior parte delle aziende dispone di team centralizzati che servono l'intera organizzazione per tali esigenze. Pertanto, consigliamo di creare una serie di unità organizzative fondamentali per queste funzioni specifiche:

  • Infrastruttura: utilizzata per servizi di infrastruttura condivisa come servizi di rete e IT. Crea account per ogni tipo di servizio dell'infrastruttura di cui hai bisogno.
  • Sicurezza: utilizzata per i servizi di sicurezza. Crea account per archivi di log, accesso di sola lettura di sicurezza, strumenti di sicurezza e break-glass.

Dato che la maggior parte delle aziende ha requisiti di policy diversi per i carichi di lavoro di produzione, l'infrastruttura e la sicurezza possono avere unità organizzative nidificate per la non produzione (SDLC) e la produzione (Prod). Gli account nell'unità organizzativa SDLC ospitano carichi di lavoro non di produzione e pertanto non devono avere dipendenze di produzione da altri account. Se ci sono variazioni nelle politiche delle unità organizzative tra le fasi del ciclo di vita, SDLC può essere suddiviso in più unità organizzative (ad esempio dev e pre-prod). Gli account nell'unità organizzativa Prod ospitano i carichi di lavoro di produzione.

Applica policy a livello di unità organizzativa per governare l'ambiente Prod e SDLC in base alle tue esigenze. In generale, l'applicazione delle policy a livello di unità organizzativa è una pratica migliore rispetto all'applicazione a livello di singolo account in quanto semplifica la gestione delle policy e qualsiasi potenziale risoluzione dei problemi.

Una volta che i servizi centrali sono a posto, ti consigliamo di creare unità organizzative direttamente correlate alla creazione o all'esecuzione dei tuoi prodotti o servizi. Molti clienti AWS creano queste unità organizzative dopo aver stabilito le basi.

  • Sandbox: contiene account AWS che i singoli sviluppatori possono utilizzare per sperimentare i servizi AWS. Assicurati che questi account possano essere scollegati dalle reti interne e imposta un processo per limitare la spesa per evitare un uso eccessivo.
  • Carichi di lavoro: contiene account AWS che ospitano i servizi applicativi rivolti all'esterno. È necessario strutturare le unità organizzative in ambienti SDLC e Prod (simili alle unità organizzative di base) al fine di isolare e controllare strettamente i carichi di lavoro di produzione.

Ora che sono state stabilite sia le unità organizzative di base che quelle orientate alla produzione, ti consigliamo di aggiungere ulteriori unità organizzative per la manutenzione e l'espansione continua a seconda delle tue esigenze specifiche. Questi sono alcuni temi comuni basati sulle pratiche dei clienti AWS esistenti:

  • Gestione temporanea delle policy: contiene account AWS in cui è possibile testare le modifiche alle policy proposte prima di applicarle interamente all'organizzazione. Inizia implementando le modifiche a livello di account nell'unità organizzativa prevista e procedi lentamente ad altri account, unità organizzative e nel resto dell'organizzazione.
  • Sospeso: contiene gli account AWS che sono stati chiusi e sono in attesa di essere eliminati dall'organizzazione. Collega una SCP a questa unità organizzativa che nega tutte le azioni. Assicurati che gli account siano taggati con i dettagli per la tracciabilità nel caso in cui debbano essere ripristinati.
  • Utenti aziendali individuali: un'unità organizzativa ad accesso limitato che contiene account AWS per utenti aziendali (non sviluppatori) che potrebbero aver bisogno di creare applicazioni relative alla produttività aziendale, ad esempio impostare un bucket S3 per condividere report o file con un partner.
  • Eccezioni: contiene account AWS utilizzati per casi d'uso aziendali che hanno requisiti di sicurezza o di controllo altamente personalizzati, diversi da quelli definiti nell'unità organizzativa dei carichi di lavoro. Ad esempio, la configurazione di un account AWS specifico per una nuova applicazione o funzionalità riservata. Utilizza le SCP a livello di account per soddisfare le esigenze personalizzate. Prendi in considerazione la configurazione di un sistema Detect and React utilizzando CloudWatch Events e AWS Config Rules.
  • Implementazioni: contiene gli account AWS destinati alle implementazioni CI/CD. È possibile creare questa unità organizzativa se si dispone di un modello operativo e di governance diverso per le distribuzioni CI/CD rispetto agli account nelle unità organizzative dei carichi di lavoro (Prod e SDLC). L'implementazione di CI/CD aiuta a ridurre la dipendenza organizzativa da un ambiente CI/CD condiviso gestito da un team centrale. Per ogni set di account AWS SDLC/Prod per un'applicazione nell'unità organizzativa Workloads, crea un account per CI/CD nell'unità organizzativa Implementazioni.
  • Transitorio: viene utilizzato come area di detenzione temporanea per account e carichi di lavoro esistenti prima di spostarli nelle aree standard dell'organizzazione. Ciò può essere dovuto al fatto che gli account fanno parte di un'acquisizione, precedentemente gestita da una terza parte, o account legacy da una vecchia struttura organizzativa. 

Conclusioni

Una strategia multi-account well-architected ti aiuta a innovare più velocemente in AWS, garantendo al tempo stesso di soddisfare le tue esigenze di sicurezza e scalabilità. Il framework descritto in questa pagina rappresenta le best practice AWS che dovresti utilizzare come punto di partenza per il tuo viaggio in AWS.

Per iniziare, fai riferimento alla Guida alle operazioni di base di AWS Organizations per creare il tuo ambiente AWS multi-account. In alternativa, puoi utilizzare AWS Control Tower per configurare rapidamente un ambiente AWS iniziale sicuro in pochi clic.