Distribuire un'applicazione Oracle Autonomous Database e Oracle APEX sicura e pronta per la produzione
Utilizza Oracle APEX per creare applicazioni aziendali scalabili e sicure, con funzioni di prim'ordine, che puoi distribuire ovunque. Oracle APEX è una piattaforma di sviluppo low-code. Una volta completata l'esecuzione dell'applicazione, puoi utilizzare Terraform per automatizzare la distribuzione in un ambiente Oracle Cloud Infrastructure.
Architettura
Questa architettura utilizza il load balancer per isolare un database Oracle Autonomous Transaction Processing in una subnet privata separata. La zona di destinazione di Oracle Cloud Infrastructure (OCI) automatizzata da Terraform fornisce un'infrastruttura sicura per l'esecuzione dell'applicazione Oracle APEX a monte dell'Oracle Autonomous Database condiviso esposto dall'endpoint privato.
Il diagramma riportato di seguito mostra questa architettura di riferimento.

Descrizione dell'immagine apex-app-adb.png
L'architettura dispone dei seguenti componenti:
- Tenancy
Una tenancy è una partizione sicura e isolata impostata da Oracle all'interno di Oracle Cloud quando ci si iscrive a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le tue risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di società o organizzazione. In genere, un'azienda avrà una singola tenancy e rifletterà la struttura organizzativa all'interno di tale tenancy. In genere una singola tenancy è associata a una singola sottoscrizione e una singola sottoscrizione ha una sola tenancy.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene 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).
- Compartimento
I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy di Oracle Cloud Infrastructure. Utilizzare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote d'uso. Per controllare l'accesso alle risorse in un determinato compartimento, puoi definire i criteri che specificano chi può accedere alle risorse e quali azioni possono eseguire.
- domini di disponibilità
I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area geografica. Le risorse fisiche presenti in ogni dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, garantendo quindi la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, è improbabile che l'errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile definita dal software che si imposta in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono un controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi suddividere una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare la dimensione di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing offre la distribuzione automatica del traffico da un singolo punto di ingresso a più server nel backend.
- Gruppo di sicurezza di rete (NSG)
Gli NSG fungono da firewall virtuali per le risorse cloud. Grazie al modello di sicurezza zero-trust di Oracle Cloud Infrastructure, tutto il traffico viene rifiutato e puoi controllare il traffico di rete all'interno di una VCN. Un gruppo NSG è composto da un set di regole di sicurezza in entrata e in uscita che si applicano solo a un set specificato di VNIC in una singola VCN.
- 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.
- Gateway del servizio
Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, ad esempio Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia su fabric di rete Oracle e non passa mai su Internet.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Autonomous database
I database autonomi Oracle Cloud Infrastructure sono ambienti di database completamente gestiti e preconfigurati che è possibile utilizzare per l'elaborazione delle transazioni e i carichi di lavoro di data warehousing. Non è necessario configurare o gestire hardware o installare software. Oracle Cloud Infrastructure gestisce la creazione del database, nonché il backup, l'applicazione di patch, l'aggiornamento e il tuning del database.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing è un servizio di database a gestione autonoma, protezione automatica e correzione, ottimizzato per i carichi di lavoro di elaborazione delle transazioni.
- Servizio bastion
Oracle Cloud Infrastructure Bastion fornisce accesso sicuro limitato e limitato nel tempo alle risorse che non dispongono di endpoint pubblici e che richiedono controlli rigorosi dell'accesso alle risorse, quali Bare Metal e Virtual Machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualsiasi altra risorsa che consenta l'accesso SSH (Secure Shell Protocol). Con il servizio Bastion di Oracle Cloud Infrastructure, puoi abilitare l'accesso agli host privati senza distribuire e gestire un host jump. Inoltre, si ottiene un livello di sicurezza migliore grazie alle autorizzazioni basate sull'identità e a una sessione SSH centralizzata, controllata e con limiti di tempo. Il bastion di Oracle Cloud Infrastructure elimina la necessità di un IP pubblico per l'accesso ai bastion, eliminando la problematica e la potenziale superficie di attacco quando si fornisce l'accesso remoto.
Suggerimenti
- VCN
Una VCN viene distribuita dalla soluzione terraform, ma questa soluzione è modulare ed è possibile utilizzare una VCN esistente.
Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) in cui si desidera impostare connessioni private.
Dopo aver creato una VCN, puoi modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Quando si progettano le subnet, considerare i requisiti di flusso di traffico e sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
- Gruppi di sicurezza di rete (NSG)
È possibile utilizzare i gruppi di sicurezza di rete per definire un set di regole di entrata e uscita valide per VNIC specifiche. Consigliamo di usare i gruppi di rete NSG piuttosto che le liste di sicurezza perché i gruppi di rete consentono di separare l'architettura della subnet della VCN dai requisiti di sicurezza della tua applicazione.
- Cloud Guard
Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette personalizzate di rilevatore e rispondente. Queste ricette consentono di specificare il tipo di violazioni della sicurezza che generano un'avvertenza e le azioni che possono essere eseguite su di esse. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti che hanno visibilità impostata su public.
Applicare Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre il carico amministrativo dovuto alla gestione di più configurazioni.
È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.
- Larghezza di banda del load balancer
Durante la creazione del load balancer, puoi selezionare una forma predefinita che fornisce una larghezza di banda fissa oppure specificare una forma (flessibile) personalizzata in cui impostare un intervallo di larghezza di banda e lasciare che il servizio scali automaticamente la larghezza di banda in base ai pattern di traffico. Grazie a entrambi i metodi, puoi modificare la forma in qualsiasi momento dopo aver creato il load balancer.
Considerazioni
Considerare i seguenti punti quando si distribuisce questa architettura di riferimento:
- Prestazioni
La soluzione Terraform viene fornita in pochi minuti e l'applicazione Oracle APEX è attiva e in esecuzione su un nuovo database autonomo.
- Sicurezza
L'istanza di computazione e l'istanza autonoma del database devono trovarsi in una subnet privata e protetti con i gruppi di sicurezza di rete.
- Disponibilità
Per pianificare l'alta disponibilità delle istanze di computazione, considerare le principali strategie di progettazione da tenere in considerazione:
- Elimina i singoli punti di errore sfruttando correttamente i tre domini di errore di un dominio di disponibilità o distribuendo le istanze in più domini di disponibilità.
- Usa indirizzi IP a virgola mobile.
- Assicurati che la tua struttura protegga sia la disponibilità dei dati che l'integrità delle tue istanze di computazione.