Distribuire un'applicazione Web ad alta disponibilità
Uno stack di applicazioni Web in genere include un load balancer, più server Web e un data store. Per l'alta disponibilità, hai bisogno di una topologia che includa risorse ridondanti in tutti i livelli dello stack.
Architettura
Questa architettura di riferimento mostra un'applicazione Web ad alta disponibilità in esecuzione in Oracle Cloud con un database Oracle Autonomous Transaction Processing.
Un load balancer pubblico riceve le richieste dei client da Internet e instrada le richieste a un pool di server Web distribuiti su più domini di errore. Il livello di dati è costituito da un database autonomo con un endpoint privato.
Il diagramma riportato di seguito illustra questa architettura di riferimento.

Descrizione dell'illustrazione ha-webapp-oci.png
L'architettura prevede i componenti elencati di seguito.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata contenente uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e le grandi distanze possono separarle (tra paesi o addirittura continenti).
Tutte le risorse di questa architettura vengono distribuite in un'unica area.
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e standalone all'interno di un'area geografica. Le risorse fisiche presenti in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, il che garantisce la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, né la rete interna del dominio di disponibilità. Pertanto, è improbabile che un errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
Le risorse di questa architettura vengono distribuite in un singolo dominio di disponibilità.
- Domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le applicazioni possono tollerare errori del server fisico, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.
La topologia mostrata in questa architettura si estende su più domini di errore.
- Rete cloud virtuale e subnet
Una VCN è una rete personalizzabile e definita dal software impostata dall'utente in un'area Oracle Cloud Infrastructure. Come le reti di data center tradizionali, le VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile segmentare una VCN in subnet, che può essere definita in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono con le altre subnet nella VCN. Puoi modificare la dimensione di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
In questa architettura i server Web sono collegati a una subnet pubblica e il database utilizza una subnet privata.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.
- server Web
Il servizio Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di calcolo nel cloud. Puoi avviare le istanze di computazione con le navi che soddisfano i requisiti delle tue risorse in termini di CPU, memoria, larghezza di banda della rete e storage. Dopo aver creato un'istanza di computazione, puoi accedervi in modo sicuro, riavviarla, collegare e scollegare i volumi e arrestarli quando non ne hai più bisogno.
I server Web di questa architettura vengono eseguiti su virtual machine di calcolo.
- Database Autonomous Transaction Processing
Oracle Autonomous Transaction Processing è un servizio di database self-driving, self-securing, self-repairing ottimizzato per i carichi di lavoro di elaborazione delle transazioni. Non è necessario configurare né gestire alcun hardware o installare software. Oracle Cloud Infrastructure gestisce la creazione del database e il backup, l'applicazione di patch, l'aggiornamento e il tuning del database.
- Gruppi di sicurezza di rete (NSG)
I gruppi NSG fungono da firewall virtuali per le risorse cloud. Con il modello di sicurezza zero-trust di Oracle Cloud Infrastructure, tutto il traffico è rifiutato ed è possibile controllare il traffico di rete all'interno di una VCN. Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set specificato di VNIC in una singola VCN.
In questa architettura vengono utilizzati gruppi NSG separati per il load balancer, i server Web e il database.
- Tabella di instradamento
Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere tramite i gateway.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Gateway NAT (Network Address Translation)
Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.
Suggerimenti
I requisiti potrebbero essere diversi dall'architettura descritta in questa sezione. Utilizzare i seguenti suggerimenti come punto di partenza.
- Forme di computazione per i server Web
Durante la distribuzione dell'architettura, scegliere una forma appropriata per le istanze di computazione che ospitano i Web server, in base ai requisiti di memoria e di elaborazione dell'applicazione.
- Progettazione rete
Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono a qualsiasi altra rete (in Oracle Cloud Infrastructure, il data center on premise o un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato una VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Durante la progettazione delle subnet, prendi in considerazione i requisiti di flusso del traffico e sicurezza. Associare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
Utilizza subnet regionali.
Considerazioni
Quando progetta uno stack di applicazioni ad alta disponibilità nel cloud, prendi in considerazione i seguenti fattori:
- Scalabilità
- Database
È possibile ridimensionare manualmente il numero di memorie centrali CPU del database in modo attivo o inattivo in qualsiasi momento. La funzione di ridimensionamento automatico dei database autonomi consente al database di utilizzare fino a tre volte il numero di memorie centrali CPU corrente in qualsiasi momento. Con l'aumento della domanda, il ridimensionamento automatico aumenta automaticamente il numero di memorie centrali in uso. I database autonomi ti consentono di ridimensionare la capacità di storage in qualsiasi momento, senza incidere sulla disponibilità o sulle prestazioni.
- Applicazione
Puoi ridimensionare la tua applicazione utilizzando il pool delle istanze e le funzioni di ridimensionamento automatico.
I pool delle istanze ti consentono di eseguire il provisioning e creare più istanze di computazione dalla stessa configurazione all'interno della stessa area.
Utilizza la scala automatica per regolare automaticamente il numero di istanze di computazione in un pool di istanze in base alle metriche delle prestazioni, ad esempio l'utilizzo della CPU. Il ridimensionamento automatico ti consente di offrire prestazioni coerenti per gli utenti durante periodi di elevata domanda e di ridurre i costi quando la domanda è bassa.
- Database
- Disponibilità
- Database
Il diagramma dell'architettura mostra un singolo database Oracle Autonomous Transaction Processing. Durante la distribuzione dell'architettura, puoi abilitare Oracle Autonomous Data Guard al provisioning e alla gestione di un database in standby.
- Applicazione
I domini di errore forniscono la resilienza all'interno di un dominio di disponibilità. Ove possibile, considerare la possibilità di distribuire le risorse tra più domini di disponibilità o più aree.
- Database
- Sicurezza
- Controllo accesso
Utilizza i criteri per limitare l'accesso alle tue risorse nel cloud e alle azioni che possono eseguire.
- Sicurezza della rete
Il servizio di networking offre due funzionalità firewall virtuali che utilizzano regole di sicurezza per controllare il traffico a livello di pacchetto: liste di sicurezza e gruppi di sicurezza di rete (NSG). Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set di VNIC di tua scelta in una singola VCN. Ad esempio, puoi scegliere tutte le istanze di computazione che agiscono come server Web nel livello Web di un'applicazione multitier nella tua VCN.
Le regole di sicurezza NSG funzionano allo stesso modo delle regole delle liste di sicurezza. Tuttavia, per l'origine o la destinazione di una regola di sicurezza NSG, è possibile specificare un gruppo NSG anziché un blocco CIDR. In questo modo, puoi scrivere facilmente le regole di sicurezza per controllare il traffico tra due gruppi NSG nella stessa VCN o il traffico all'interno di un singolo gruppo NSG. Quando si crea un sistema di database, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare un sistema di database esistente per utilizzare uno o più gruppi NSG.
- Controllo accesso
Distribuzione
Il codice Terraform per questa architettura di riferimento è disponibile in GitHub. Puoi inserire il codice in Oracle Cloud Infrastructure Resource Manager con un solo clic, creare lo stack e distribuirlo. In alternativa, scaricare il codice da GitHub nel computer, personalizzare il codice e distribuire l'architettura utilizzando l'interfaccia CLI Terraform.
- Implementa utilizzando Oracle Cloud Infrastructure Resource Manager:
- Fare clic su

Se non si è ancora collegati, immettere la tenancy e le credenziali utente.
- Rivedere e accettare i termini e le condizioni.
- Selezionare l'area in cui distribuire lo stack.
- Seguire i prompt visualizzati e le istruzioni per creare lo stack.
- Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
- Attendere il completamento del processo e rivedere il piano.
Per apportare modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Quindi eseguire di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
- Fare clic su
- Distribuzione mediante l'interfaccia CLI Terraform:
- Andare a GitHub.
- Scaricare o clonare il codice nel computer locale.
- Seguire le istruzioni riportate in README.
Log modifiche
In questo log sono elencate solo le modifiche significative:
| 19 novembre 2021 | È stata aggiunta l'opzione per scaricare versioni modificabili (.SVG e .DRAWIO) del diagramma dell'architettura. |
| 25 novembre 2020 |
|