Preparare il livello Web su OCI
Esegui il provisioning e la configurazione del sito secondario su Oracle Cloud Infrastructure (OCI) in modo che sia coerente con il sito principale in locale.
Nota:
Puoi trovare il codice Terraform per creare le risorse descritte in questa sezione (il load balancer OCI, il certificato SSL, i set e i backend backend backend, i criteri di instradamento, i listener e i set di regole) in Scarica codice.
(Facoltativo) Preparare gli host Oracle HTTP Server
Nota:
La creazione e la configurazione di Oracle HTTP Server è facoltativa. È possibile configurare il livello Web su OCI utilizzando solo il load balancer OCI (senza utilizzare Oracle HTTP Server).
Eseguire il provisioning degli host Oracle HTTP Server
Ogni Oracle HTTP Server in esecuzione in OCI deve disporre di un contratto di licenza e supporto valido oltre al contratto di licenza e supporto utilizzato per coprire l'Oracle HTTP Server in esecuzione on premise. È possibile utilizzare le immagini di Oracle WebLogic Server per OCI per creare istanze di computazione per Oracle HTTP Server su Oracle Cloud. Le istanze di computazione create con queste immagini includono l'abilitazione per l'esecuzione di Oracle HTTP Server e vengono fatturate in base all'OCPU/ora per l'abilitazione all'esecuzione del software WebLogic quando sono in esecuzione. Quando si creano le istanze di computazione con Oracle WebLogic Server per OCI, è possibile utilizzare la console delle istanze di computazione o il Marketplace. Queste immagini sono disponibili per i sistemi operativi Oracle Linux 7.9 e Oracle Linux 8.5.
Questo esempio utilizza due istanze di computazione in un singolo dominio di disponibilità all'interno del compartimento, come mostrato nella tabella.
Nome | Compartimento | Dominio di disponibilità | Immagine | Forma | VCN | Sottorete |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Immagine UCM di Oracle WebLogic Enterprise Edition (Oracle Linux 7.9) | VM.Standard2.2 | idrvcn | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Immagine UCM di Oracle WebLogic Enterprise Edition (Oracle Linux 7.9) | VM.Standard2.2 | idrvcn | webTierSubnet |
Per eseguire il provisioning delle istanze di computazione mediante la console delle istanze di computazione, effettuare le operazioni riportate di seguito.
Preparare gli utenti e i gruppi del sistema operativo
Nelle istanze di computazione secondarie sono necessari gli stessi utenti e gruppi utilizzati dal software Oracle on premise primario.
Le immagini Oracle WebLogic Server for Oracle Cloud Infrastructure dispongono già di un utente e di un gruppo oracle. Tuttavia, questi valori (nome utente, nome gruppo, uid
e gid
) potrebbero non corrispondere ai valori presenti nell'istanza primaria e sarà necessario configurare gli host secondari in modo che corrispondano ai valori dell'utente e del gruppo oracle primario. Gli esempi riportati di seguito mostrano come configurare gli host secondari in questo livello in modo che corrispondano ai valori dell'utente e del gruppo oracle primario.
Preparare i requisiti del sistema operativo
runinstaller
negli host secondari. Poiché le immagini Oracle WebLogic Server for Oracle Cloud Infrastructure sono preparate per il software WebLogic, non è necessario aggiungere manualmente i package per WebLogic. Tuttavia, questi host Oracle HTTP Server eseguiranno il prodotto Oracle HTTP Server. Accertarsi che gli host secondari soddisfino i requisiti per Oracle HTTP Server.Preparazione degli alias dei nomi host per Oracle HTTP Server
Ciò può essere implementato in 2 modi:
- Aggiungere i nomi host come alias ai file
/etc/hosts
delle istanze di computazione Oracle WebLogic Server for OCI. - Utilizza una vista DNS privata nella VCN OCI secondaria.
Usa file /etc/hosts
/etc/hosts
degli host secondari, indicando gli indirizzi IP degli host secondari. Questa modalità è valida in tutti gli scenari quando il server DNS è lo stesso nei siti principali in locale e in quelli secondari di Oracle Cloud Infrastructure (OCI) e anche quando vengono utilizzati server DNS separati nei siti primari e secondari. Le voci nel file /etc/hosts
hanno la precedenza sulla risoluzione DNS, poiché questa è la precedenza definita out-of-the-box nella direttiva "hosts" del file /etc/nsswitch.conf
.
Tuttavia, questo metodo richiede l'aggiunta manuale delle voci a tutti gli host di Oracle HTTP Server:
Usa DNS (Domain Name System)
/etc/hosts
di tutti gli host.
Aggiungere le voci per i nomi host virtuali di Oracle HTTP Server alla vista privata creata in OCI nel passo Preparare il livello intermedio in OCI:
Aprire le porte necessarie nei firewall dell'host OCI
ssh
, dhcp
). È necessario aprire le porte utilizzate da Oracle HTTP Server.
Creare le variabili di ambiente utente oracle
per Oracle HTTP Server
oracle
negli host Oracle HTTP Server. Ad esempio, ORACLE_HOME
, JDK_HOME
, PATH
, WEB_DOMAIN_HOME
e altri.
Replicare il prodotto e la configurazione di Oracle HTTP Server dal database primario
rsync
per copiare i file binari e la configurazione di Oracle HTTP Server dai nodi Oracle HTTP Server principali.
In alternativa, è possibile scaricare il software Oracle HTTP Server, installarlo e configurarlo da zero nelle istanze di computazione Oracle HTTP Server OCI. Questo approccio non rientra nell'ambito di applicazione del presente documento. Tuttavia, è necessario utilizzare questo approccio quando le istanze di computazione OCI di Oracle HTTP Server hanno un sistema operativo diverso rispetto agli host Oracle HTTP Server primari.
I file binari e i file di configurazione di Oracle HTTP Server in genere risiedono nella memoria privata. In OCI, puoi utilizzare il volume a blocchi di cui dispone l'istanza di computazione per impostazione predefinita. In alternativa, puoi creare un nuovo volume a blocchi per ogni computazione Oracle HTTP Server (come descritto in Preparare i volumi a blocchi OCI) ed eseguire il MOUNT di ciascun volume nelle istanze di computazione Oracle HTTP Server (come descritto in Eseguire il MOUNT dei volumi a blocchi OCI).
Questo esempio utilizza il volume a blocchi predefinito delle istanze di computazione Oracle HTTP Server senza creare ulteriori volumi a blocchi.
La configurazione di Oracle HTTP Server e i file binari non cambiano di frequente nel tempo. Dopo questa replica iniziale, è possibile ripetere la stessa replica durante il ciclo di vita. In alternativa, è possibile gestire manualmente la configurazione di Oracle HTTP Server nel database primario e secondario implementando le modifiche di configurazione di Oracle HTTP Server in entrambi i siti.
Prepara load balancer OCI
Crea e configura il load balancer di Oracle Cloud Infrastructure sul cloud.
Nota:
Puoi trovare il codice Terraform per creare le risorse descritte in questa sezione (il load balancer OCI, il certificato SSL, i set e i backend backend backend, i criteri di instradamento, i listener e i set di regole) in Scarica codice.
Esegue il provisioning del load balancer OCI
Per garantire la coerenza con il sito primario in locale, eseguire il provisioning di un load balancer nel sito secondario in Oracle Cloud Infrastructure (OCI) come punto di accesso al sistema.
Creare i set backend
Per set backend si intende un'entità logica contenente un elenco di server backend che eseguono le stesse applicazioni. Quando si definisce un set backend, è necessario specificare un criterio di bilanciamento del carico e un test di controllo dello stato. Successivamente, puoi aggiungere l'elenco dei server backend.
La configurazione dei set backend dipende dal fatto che si stia utilizzando Oracle HTTP Server o meno davanti agli host WebLogic Server.
Se si utilizza Oracle HTTP Server, il load balancer di Oracle Cloud Infrastructure (OCI) invia le richieste ai server HTTPS. Creare un set backend per ogni porta esposta dai server HTTPS. Ad esempio, creare un set backend per il listener di Oracle HTTP Server che fornisce l'accesso alle applicazioni e un altro set backend per il listener di Oracle HTTP Server che fornisce l'accesso a ogni console di amministrazione di Oracle WebLogic Server.
Se non si utilizza Oracle HTTP Server, il load balancer OCI invia direttamente le richieste ai server WebLogic. Creare un set backend per ogni cluster di Oracle WebLogic Server e un altro set backend per il server di amministrazione.
- Eseguire il login alla console OCI.
- Selezionare l'area e il compartimento appropriati.
- Nel menu di navigazione fare clic su Networking, quindi su Load balancer.
- Fare clic sul load balancer al quale si desidera aggiungere un backend.
- Fare clic su Set backend nel menu Risorse, quindi fare clic su Crea set backend.
- Immettere quanto riportato di seguito nella finestra di dialogo Crea set backend.
- Fare clic su Crea.
Se si dispone di cluster WebLogic Server aggiuntivi, creare un set backend per ogni cluster in modo simile.
Di seguito è riportato un esempio dei set backend quando si utilizza Oracle HTTPS Server con Oracle WebLogic Server.
Componente | Nome set backend | Criteri di distribuzione del traffico | Persistenza sessione | Nome cookie (esempio) | Attributo: sicuro | Controllo stato |
---|---|---|---|---|---|---|
Server di amministrazione | OHS_Admin_backendset |
Instradamento sequenziale ponderato | Abilita persistenza cookie del load balancer | X-Oracle-LBR-ADMIN-Backendset |
Deselezione | TCP o HTTP |
WebLogic Cluster | OHS_HTTP_backendset |
Instradamento sequenziale ponderato | Abilita persistenza cookie del load balancer | X-Oracle-LBR-OHS-HTTP-Backendset |
Selezionata | TCP o HTTP |
Di seguito viene riportato un esempio dei set backend quando non si utilizza Oracle HTTP Server.
Componente | Nome set backend | Criteri di distribuzione del traffico | Persistenza sessione | Nome cookie (esempio) | Attributo: sicuro | Controllo stato |
---|---|---|---|---|---|---|
Server di amministrazione | Admin_backendset |
Instradamento sequenziale ponderato | Abilita persistenza cookie del load balancer | X-Oracle-LBR-ADMIN-Backendset |
Deselezione | TCP o HTTP |
Cluster WebLogic 1 | WLS_Cluster1_backendset |
Instradamento sequenziale ponderato | Abilita persistenza cookie del load balancer | X-Oracle-LBR-WLSCluster1-Backendset |
Selezionata | TCP o HTTP |
Cluster WebLogic 2 | WLS_Cluster2_backendset |
Instradamento sequenziale ponderato | Abilita persistenza cookie del load balancer | X-Oracle-LBR-WLSCluster2-Backendset |
Selezionata | TCP o HTTP |
Se si dispone di cluster WebLogic aggiuntivi, creare un set backend per ogni cluster in modo simile.
Definire i backend per ogni set backend
Definire i backend per ogni set backend nel load balancer di Oracle Cloud Infrastructure (OCI).
Se si utilizza Oracle HTTP Server, aggiungere i nodi Oracle HTTP Server e le porte appropriate come backend in ciascun set backend.
Se non si utilizza Oracle HTTP Server, aggiungere i nodi Oracle WebLogic Server e le porte appropriate come backend in ciascun set backend.
- Nella console selezionare un set backend. Fare clic su Backend, quindi su Aggiungi backend.
- Immettere l'indirizzo IP e la porta per il server backend.
Nome set backend | Backend |
---|---|
OHS_Admin_backendset |
Istanze di computazione:
|
OHS_HTTP_backendset |
Istanze di computazione:
|
La tabella mostra i set backend creati nell'esempio di questo documento quando NON si utilizza Oracle HTTP Server:
Nome set backend | Backend |
---|---|
Admin_backendset |
Indirizzi IP:
|
WLSCluster1_backendset |
Istanze di computazione:
|
WLSCluster2_backendset |
Istanze di computazione:
|
Definire i criteri di instradamento e configurare le regole
I criteri di instradamento vengono utilizzati per inviare le richieste in entrata al set backend corretto. Ad esempio, una richiesta a /console
viene inviata al set backend di amministrazione e una richiesta a /app1
viene inviata al set backend del cluster in cui è in esecuzione app1
.
Se si utilizza Oracle HTTP Server, gli instradamenti (ad esempio /app1
, /app2
, /console
e così via) vengono definiti in genere nella configurazione di Oracle HTTP Server. In questo caso, non è necessario definire i criteri e le regole di instradamento nel load balancer di Oracle Cloud Infrastructure (OCI).
Se non si utilizza Oracle HTTP Server, è necessario definire i criteri e le regole di instradamento nel load balancer OCI per inviare le richieste al set backend appropriato.
Componente | Nome criterio di instradamento | Regola | Condizioni: se un percorso di corrispondenza qualsiasi inizia con | Azione: percorso del set backend |
---|---|---|---|---|
Console server di amministrazione | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Applicazione 1 | Application_Rules |
WLSCluster1_routerule |
|
WLSCluster1_backendset |
Applicazione 2 | Application_Rules |
WLSCluster2_routerule |
|
WLSCluster2_backendset |
È possibile creare il numero desiderato di criteri di instradamento, regole e condizioni per l'ambiente in uso.
Creare i listener
Creare i listener per ogni combinazione di nome front-end e porta utilizzata per accedere al sistema. Devi utilizzare gli stessi nomi host (nomi frontend virtuali) e le stesse porte utilizzate dal load balancer primario.
- Aggiungere il nome host front-end virtuale come nome host nel load balancer di Oracle Cloud Infrastructure.
- Creare i listener.
La tabella riportata di seguito contiene un riepilogo dei listener creati nell'esempio di questo documento e dei relativi protocolli, porte, set backend, criteri di instradamento, nome host e uso SSL associati. Questo è solo un esempio di riferimento. Se il sistema utilizza altri nomi host front-end, porte o protocolli nel sistema Oracle WebLogic Server primario, è necessario creare i listener e i nomi host corrispondenti in base alle proprie esigenze. Ad esempio, se si utilizza un frontend alternativo per accedere alla console di Oracle WebLogic Server e alla console di Oracle Enterprise Manager.
Listener | Protocollo | Porta | Set backend | Criteri di instradamento | HostName | Usa SSL |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
wlsfrontend.example.com | No |
HTTPS_listener |
HTTPS | 443 |
|
App_Rules |
wlsfrontend.example.com | Sì |
HTTP_listener |
HTTP | 80 | N/D* | N/D | wlsfrontend.example.com | No |
* Il valore HTTP_listener
in questo esempio viene utilizzato solo per il reindirizzamento delle richieste a HTTPS_listener
(HTTPS). Il backend a esso assegnato non verrà utilizzato. Tuttavia, poiché è obbligatorio fornirne uno, è necessario fornirne uno senza SSL selezionato (utilizzare un set backend vuoto predefinito).
Crea il set di regole per le intestazioni SSL
Creare un set di regole per le intestazioni SSL nel load balancer di Oracle Cloud Infrastructure (OCI) e associarlo al listener HTTPS.
Creare il set di regole per reindirizzare il protocollo HTTP a HTTPS
Creare una regola di reindirizzamento e associarla a HTTP_listener per reindirizzare la porta 80 alla porta 443. Per la topologia EDG, tutte le richieste che raggiungono la porta 80 (HTTP) nel load balancer devono essere reindirizzate alla porta 443 (HTTPS).
Aggiungere il nome e l'IP del frontend virtuale alle istanze di computazione WLS
In una topologia di recupero da errori irreversibili, i client devono accedere al sistema utilizzando un FQDN frontend (di solito denominato nome front-end virtuale o URL di reindirizzamento univoco) indipendente dal centro dati. Questo nome di frontend virtuale deve restituire l'indirizzo IP del load balancer del sito (primario) attivo corrente.
Il sistema primario deve già utilizzare un nome virtuale frontend risolto dal DNS con l'IP del load balancer primario. Tuttavia, gli host Oracle WebLogic Server di ciascun sito devono sempre risolvere il nome front-end con il load balancer locale, indipendentemente dalla risoluzione lato client con DNS. A tale scopo, il nome del front-end virtuale viene aggiunto al file /etc/hosts
con l'indirizzo IP appropriato in ogni sito. È inoltre possibile ottenere questo risultato utilizzando diversi server DNS in ogni sito. In questo caso, il server DNS locale risolverà il nome frontend con l'IP del load balancer appropriato in ogni sito.
Usa file /etc/hosts
/etc/hosts
degli host Oracle WebLogic Server primari e secondari non deve essere modificato quando è presente uno switchover o un failover. Gli host Oracle WebLogic Server risolveranno sempre il nome front-end virtuale con il relativo IP front-end. L'aggiornamento DNS necessario durante le procedure di switchover e failover viene eseguito nei file DNS o host utilizzati dai client Oracle WebLogic Server.
Usa DNS (Domain Name System)
Se stai seguendo questo approccio, puoi aggiungere il nome frontend (che punta all'IP del load balancer secondario) al servizio DNS utilizzato dai livelli medi secondari. Nel database primario, il nome frontend è già stato risolto e punta all'IP del load balancer primario.
Nel database primario, è previsto che il nome front-end sia già stato risolto puntando all'IP del load balancer primario.