Implementa Oracle REST Data Services con alta disponibilità su Oracle Cloud Infrastructure
Implementa Oracle REST Data Services (ORDS) con alta disponibilità su Oracle Cloud Infrastructure (OCI) e REST per abilitare il database ed esporre i vantaggi dell'architettura e delle funzionalità dei microservizi.
ORDS collega HTTPS e il database Oracle. In qualità di applicazione Java di livello intermedio, offre un'interfaccia API REST di gestione del database, SQL Developer Web, un gateway PL/SQL, SODA per REST e la possibilità di pubblicare servizi Web RESTful per l'interazione con i dati e le stored procedure nel database Oracle.
ORDS offre inoltre una maggiore flessibilità supportando distribuzioni che utilizzano Oracle WebLogic Server o Apache Tomcat o che si trovano in modalità standalone. ORDS semplifica ulteriormente il processo di distribuzione perché non è richiesta alcuna Oracle home poiché un driver JDBC incorporato fornisce la connettività.
Questa architettura di riferimento descrive come distribuire ORDS su più istanze di calcolo VM, creando un livello intermedio ad alta disponibilità per le istanze di database Oracle.
Architettura
Questa architettura ti mostra come distribuire Oracle REST Data Services con alta disponibilità su OCI.
L'architettura inizia con una rete cloud virtuale (VCN, Virtual Cloud Network) all'interno di un'unica area. Sebbene questa VCN possa estendersi su più domini di disponibilità (AD), per questa architettura di riferimento utilizza un singolo dominio di disponibilità. Tale dominio di disponibilità contiene più aree di errore all'interno di un dominio di disponibilità che hanno raggruppato hardware e infrastruttura. Le VM di computazione con ORDS vengono distribuite in più domini di errore per garantire l'alta disponibilità.
Nella VCN, più subnet contengono componenti dell'architettura specifici. Inizia con un gateway Internet che consente solo il traffico su una porta specificata verso i load balancer sul front end di questa VCN in una subnet pubblica. I load balancer dispongono inoltre di un IP rivolto al pubblico che potrà essere utilizzato in seguito per applicare i nomi di dominio personalizzati, se necessario. Il load balancer parlerà con la subnet contenente i livelli medi di computazione ORDS. La comunicazione è protetta da liste di sicurezza a livello di subnet e da gruppi di sicurezza di rete (NSG). Puoi applicare questi gruppi NSG a un set di VNIC nei load balancer di calcolo e di carico per fornire regole di sicurezza granulari per la comunicazione tra queste risorse.
Infine, utilizzando di nuovo liste di sicurezza e gruppi NSG, i livelli medi ORDS possono accedere a un database Oracle in una subnet privata. Alle risorse che utilizzano subnet private non vengono forniti IP rivolti al pubblico. In questo modo, è possibile utilizzare i gruppi NSG per un livello di comunicazione sicuro tra le subnet pubbliche e private. L'istanza del database Oracle in questa subnet privata può essere un'istanza DB VM, un database autonomo o un database Exadata Cloud Service.
Il seguente diagramma illustra questa architettura di riferimento.
Descrizione dell'immagine ha-ords-oci3.png
- Area
Un'area geografica OCI è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).
- Domini di disponibilità
I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. È pertanto improbabile che un errore in un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area. Le risorse in 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 tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore. Le risorse in questa architettura vengono distribuite in più domini di errore.
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile definita dal software impostata in un'area geografica OCI. Come le tradizionali reti di data center, le reti 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 segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
In questa architettura di riferimento, le istanze di computazione con ORDS vengono collegate a una subnet pubblica insieme al load balancer, mentre i database possono utilizzare una subnet privata o pubblica. Le best practice per la sicurezza del database posizionano le istanze di database nelle subnet private quando possibile.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un unico punto di accesso a più server nel back-end. L'IP pubblico di questo load balancer fungerà anche da posizione in cui possiamo registrare i nomi di dominio personalizzati, se necessario.
- Gateway API
Oracle Cloud Infrastructure API Gateway ti consente di pubblicare le API con endpoint privati accessibili dall'interno della tua rete e che puoi esporre alla rete Internet pubblica, se necessario. Gli endpoint supportano la convalida delle API, la trasformazione delle richieste e delle risposte, il CORS, l'autenticazione e l'autorizzazione e la limitazione delle richieste.
- Istanze di computazione/host ORDS
Oracle Cloud Infrastructure Compute ti consente di eseguire il provisioning e gestire gli host di computazione. Puoi avviare istanze di computazione con forme che soddisfano i requisiti delle risorse (CPU, memoria, larghezza di banda della rete e storage). Dopo aver creato un'istanza di computazione, puoi accedervi in tutta sicurezza, riavviarla, collegare e scollegare i volumi e arrestarla quando non ne hai bisogno. I server Web in questa architettura vengono eseguiti sulle virtual machine di calcolo utilizzando un'architettura CPU x86 o ARM
- Istanze di database
Il servizio di database offre soluzioni cloud autonome e co-gestite di Oracle Database. Gli Autonomous Database sono ambienti preconfigurati e completamente gestiti che sono adatti per l'elaborazione delle transazioni o per i carichi di lavoro del data warehouse. Le soluzioni in gestione condivisa sono sistemi DB Bare Metal, Virtual Machine ed Exadata che puoi personalizzare con le risorse e le impostazioni che soddisfano le tue esigenze.
Questa architettura di riferimento può essere utilizzata per database autonomi o istanze di database gestiti in modo congiunto.
- Gruppi di sicurezza di rete (NSG)
I gruppi NSG fungono da firewall virtuali per le istanze di computazione. Con il modello di sicurezza zero-trust di OCI, tutto il traffico viene negato e puoi 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 che si applicano solo a 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.
- Tabelle di instradamento
Le tabelle di instradamento virtuali contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere attraverso i gateway.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Liste di sicurezza
La lista di sicurezza è un set di regole di entrata e di uscita che specificano i tipi di traffico consentito in entrata e in uscita per tutte le VNIC/istanze in una subnet. Gli elenchi di sicurezza vengono applicati a livello di subnet, mentre i gruppi NSG vengono applicati a livello di VNIC. Entrambi agiscono efficacemente come firewall per una VNIC. Con il modello di sicurezza zero-trust di OCI, tutto il traffico verso una VNIC viene negato. Sia SL che NSG devono consentire il traffico in modo esplicito, affinché il traffico sia consentito alla VNIC.
- Zero-Trust Packet Routing (ZPR)
Oltre a SL e NSG, OCI ha un costrutto di sicurezza di rete chiamato Zero-Trust Packet Routing. ZPR è una rete sicura basata su intenti che agisce al livello 4 e può essere implementata in un linguaggio di policy leggibile dall'uomo. Assegnando gli attributi di sicurezza ("tag" per ZPR) alle risorse, è possibile creare controlli di accesso granulari per garantire che solo le entità autorizzate possano comunicare con i componenti riservati, ad esempio database e server applicazioni. Questo approccio non solo riduce il rischio di accesso non autorizzato, ma semplifica anche la gestione dei criteri man mano che l'applicazione si evolve. ZPR opera insieme a NSG e SL esistenti, fornendo una postura di sicurezza più completa che si adatta ai cambiamenti nella tua architettura di rete. Qui puoi assegnare attributi di sicurezza (tag ZPR speciali) ai nodi di ogni subnet, in modo tale che sia consentito solo il traffico richiesto (direzione del flusso, protocollo e porte), indipendentemente da come l'architettura di rete cambi o cambi in futuro.
Suggerimenti
- VCN
Quando crei una 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. Utilizzare i blocchi CIDR 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, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato una VCN, puoi modificarne, aggiungerne e rimuoverne i blocchi CIDR.
Quando si progettano le subnet, considerare il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
Utilizzare le subnet regionali.
Valutare la possibilità di distribuire firewall per ogni confine di rete.
- Bilanciamento del carico
OCI offre un bilanciamento del carico flessibile. Puoi creare load balancer con limiti superiori e inferiori in modo che possano ridimensionarsi in base al numero di richieste in arrivo. I limiti possono essere compresi tra 10mbps e 8000mbps. Per le istanze in cui è necessario il bilanciamento del carico multi-AD o multi-regione, utilizza DNS Cloud Service con funzionalità di indirizzamento per la gestione del traffico.
- Sicurezza
Utilizza Oracle Cloud Guard per monitorare e mantenere in modo proattivo la sicurezza delle tue risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse alla ricerca di punti deboli nella sicurezza e per monitorare operatori e utenti per attività rischiose. Quando viene rilevata qualsiasi attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette del rispondente che è possibile definire.
Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.
- Istanze di database
Per le applicazioni di produzione, l'istanza del database Oracle deve rispettare il modello di distribuzione MAA (Maximum Availability Architecture) di Oracle in OCI. Seguendo queste linee guida, il database non solo è altamente disponibile, ma è anche protetto da interruzioni e disastri nel caso in cui si verifichino. Queste architetture traggono vantaggio anche dai database di reporting che utilizzano l'istanza DR.
L'architettura MAA è integrata direttamente nei servizi Oracle Cloud Infrastructure Database, sia in modalità cogestita che autonoma. Data Guard, GoldenGate, RAC e backup automatici sono immediatamente disponibili e devono essere utilizzati per l'ambiente di produzione, se applicabile.
Quando si utilizza RAC con Oracle Cluster Registry (OCR)Oracle Database, assicurarsi che le informazioni di connessione al database utilizzate da ORDS puntino al listener SCAN e non a un singolo nodo.
- Istanze di computazione/ORDS
Quando si ridimensionano i livelli medi di computazione, fare riferimento al grafico seguente per i suggerimenti:
Dimensioni architettura di riferimento (macchine virtuali)
Forma Numero massimo di OCPU Memoria minima Memoria massima VM.Standard3.Flex 32 1 GB o valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore 64 GB per OCPU, fino a 512 GB in totale VM.Standard.E2.1.Micro 1 1 GB 1 GB VM.Standard.E4.Flex 64 1 GB o valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore 64 GB per OCPU, fino a 1024 GB in totale VM.Standard.E5.Flex 94 1 GB o valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore 64 GB per OCPU, fino a 1049 GB in totale VM.Standard.A1.Flex 76 (OCPU è 1 core di un processore Alta) 1 GB o valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore 64 GB per OCPU, fino a 472 GB in totale VM.Standard.A2. Flexfield 78 (OCPU è 2 core di un processore Ampere One) 1 GB o valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore 64 GB per OCPU, fino a 946 GB in totale Per trovare la lista delle forme disponibili nel compartimento, puoi anche eseguire l'operazione
List Shapes
tramite l'SDK CLI o l'SDK. Per ulteriori informazioni, consulta la documentazione dell'APIList Shapes
e "Forme di calcolo", accessibili da "Scopri di più".Per scoprire i costi di computazione mensili previsti su OCI, puoi utilizzare Cost Estimator. Puoi trovare informazioni dettagliate sulla fatturazione nella pagina "Fatturazione e gestione dei costi". È possibile accedere sia alla stima dei costi che alla "fatturazione e gestione dei costi" da "Scopri di più", di seguito.
Dimensioni architettura di riferimento (Bare Metal)
Forma di computazione CPU/ memoria Larghezza di banda massima della rete BM. Standard3.64 64 OCPU/1024 GB 2 x 50 GBPS BM.Standard.E4.128 128 OCPU/2048 GB 2 x 50 GBPS BM. Standard. E5.192 192 OCPU/ 2304 GB 1 da 100 GBPS BM.Standard.A1.160 160 OCPU/1024 GB 2 x 50 GBPS
Considerazioni
Quando si distribuisce questa architettura di riferimento, tenere presente quanto riportato di seguito.
- Prestazioni
Le istanze di computazione, load balancer e Database Cloud possono essere scalate per gestire un aumento del carico. Con il livello di computazione/ORDS, è possibile creare e aggiungere rapidamente istanze aggiuntive alla configurazione del load balancer. Per il livello Database, Autonomous Database può essere impostato per ridimensionare automaticamente la CPU/memoria quando si verifica un aumento del carico. Per le istanze in gestione condivisa, il servizio basato su VM può ridimensionare il numero di CPU utilizzate nella VM. Nel caso dei servizi cloud Exadata, la piattaforma X8M non può solo ridimensionare la CPU, ma è possibile aggiungere nodi al cluster RAC per aggiungere ulteriore potenza di calcolo.
- Sicurezza
Assicurarsi di utilizzare regole molto granulari nella subnet e nelle regole di entrata/uscita del gruppo NSG. Desideri solo il traffico sulle porte previste verso IP specifici delle istanze nelle tue subnet. Se è necessario l'accesso a un livello di computazione o database, utilizzare Bastion as a Service per l'accesso. Ciò garantisce che solo gli utenti autorizzati possano accedere a queste istanze e solo alle istanze specifiche a cui sono autorizzati ad accedere. L'utilizzo di Bastion as a Service è un metodo molto più sicuro rispetto all'esposizione delle porte SSH alla rete Internet pubblica.
- Disponibilità
Segui la guida a Oracle Maximum Availability Architecture (MAA) per le distribuzioni di database. Per ORDS, si consigliano più livelli medi con un load balancer. Anche in questo caso, come promemoria, quando si utilizza RAC con Oracle Database, assicurarsi che le informazioni di connessione al database utilizzate da ORDS puntino al listener SCAN e non a un singolo nodo.
- Costo
L'uso del ridimensionamento automatico e in generale del ridimensionamento per ogni livello di computazione e database ti aiuterà a controllare i costi consentendoti di pagare solo ciò che viene utilizzato senza CPU, memoria o istanze in eccesso o sprecate. I costi possono essere controllati anche utilizzando un load balancer flessibile.
Distribuire
Con un solo clic, puoi estrarre il codice di questa architettura in Oracle Cloud Infrastructure Resource Manager, creare lo stack e distribuirlo.
- Fare clic su
.
Se non si è già connessi, immettere la tenancy e le credenziali utente.
- 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 job e rivedere il piano.
Per apportare eventuali modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Eseguire quindi di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
Visualizza altro
Scopri di più sulla distribuzione di Oracle REST Data Services con alta disponibilità su Oracle Cloud Infrastructure con queste risorse aggiuntive:
.
conferme
- Autori: Gagan S. Kohli
- Collaboratori: Eric Peterson, Mayur Raleraskar, Robert Wunderlich, Sherwood Zern
Log delle modifiche
Questo log elenca le modifiche significative:
22 marzo 2025 |
|