Vorbereiten der Web-Tier auf OCI
Stellen Sie Ihre sekundäre Site auf Oracle Cloud Infrastructure (OCI) bereit, und konfigurieren Sie sie so, dass sie mit Ihrer primären On-Premise-Site konsistent ist.
Hinweis:
Sie finden den Terraform-Code zum Erstellen der in diesem Abschnitt beschriebenen Ressourcen (OCI Load Balancer, SSL-Zertifikat, Backend-Sets und -Backends, Routing-Policys, Listener und Regelsets) unter Code herunterladen.
(Optional) Oracle HTTP Server-Hosts vorbereiten
Hinweis:
Das Erstellen und Konfigurieren von Oracle HTTP Server ist optional. Sie können die Web-Tier auf OCI nur mit dem OCI Load Balancer konfigurieren (ohne Oracle HTTP Server zu verwenden).
Oracle HTTP Server-Hosts bereitstellen
Jeder in OCI ausgeführte Oracle HTTP Server muss zusätzlich zum Lizenz- und Supportvertrag einen gültigen Lizenz- und Supportvertrag haben, der für den On-Premises ausgeführten Oracle HTTP Server verwendet wird. Mit Oracle WebLogic Server für OCI-Images können Sie Compute-Instanzen für Oracle HTTP Server in Oracle Cloud erstellen. Die mit diesen Images erstellten Compute-Instanzen umfassen die Berechtigung zur Ausführung von Oracle HTTP Server und werden pro OCPU/Stunde für die Berechtigung zur Ausführung der WebLogic-Software in Rechnung gestellt, wenn sie sich im Ausführungsstatus befinden. Wenn Sie die Compute-Instanzen mit Oracle WebLogic Server for OCI erstellen, können Sie die Compute-Instanzkonsole oder den Marketplace verwenden. Diese Images sind für die Betriebssysteme Oracle Linux 7.9 und Oracle Linux 8.5 verfügbar.
In diesem Beispiel werden zwei Compute-Instanzen in einer einzelnen Availability-Domain innerhalb des Compartments verwendet, wie in der Tabelle dargestellt.
Name | Compartment | Availability-Domain | Bild | Form | VCN | Subnetz |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM-Image (Oracle Linux 7.9) | VM.Standard2.2 | Hydrvcn | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM-Image (Oracle Linux 7.9) | VM.Standard2.2 | Hydrvcn | webTierSubnet |
Führen Sie die folgenden Schritte aus, um die Compute-Instanzen mit der Compute-Instanzkonsole bereitzustellen:
Betriebssystembenutzer und -gruppen vorbereiten
In den sekundären Compute-Instanzen sind derselbe Benutzer und die gleiche Gruppe erforderlich, die auch von der primären On-Premise-Software von Oracle verwendet werden.
Oracle WebLogic Server for Oracle Cloud Infrastructure-Images haben bereits einen Benutzer und eine Gruppe "oracle". Diese Werte (Benutzername, Gruppenname, uid
und gid
) stimmen jedoch möglicherweise nicht mit den Werten in der primären Instanz überein. Sie müssen die sekundären Hosts so konfigurieren, dass sie mit den Werten des primären Benutzers "oracle" und der primären Gruppe übereinstimmen. Die folgenden Beispiele zeigen, wie die sekundären Hosts in dieser Tier so konfiguriert werden, dass sie mit den Werten des primären Benutzers oracle und der primären Gruppe übereinstimmen.
Betriebssystemanforderungen vorbereiten
runinstaller
auf den sekundären Hosts auszuführen. Da die Oracle WebLogic Server for Oracle Cloud Infrastructure-Images für die WebLogic-Software vorbereitet sind, müssen Sie keine Packages für WebLogic manuell hinzufügen. Diese Oracle HTTP Server-Hosts führen jedoch das Oracle HTTP Server-Produkt aus. Stellen Sie sicher, dass die sekundären Hosts die Anforderungen für Oracle HTTP Server erfüllen.Hostnamen-Aliasnamen für Oracle HTTP Server vorbereiten
Dies kann auf 2 Arten implementiert werden:
- Fügen Sie die Hostnamen als Aliasnamen zu den
/etc/hosts
-Dateien der Oracle WebLogic Server for OCI-Compute-Instanzen hinzu. - Verwenden Sie eine private DNS-Ansicht im sekundären OCI-VCN.
/etc/hosts
-Dateien verwenden
/etc/hosts
-Dateien der sekundären Hosts hinzugefügt, wobei auf die IP-Adressen der sekundären Hosts verwiesen wird. Dieser Modus ist in allen Szenarios gültig, wenn der DNS-Server in der primären On-Premise und auf den sekundären Oracle Cloud Infrastructure-(OCI-)Sites identisch ist und wenn separate DNS-Server in der primären und sekundären Site verwendet werden. Die Einträge in der Datei /etc/hosts
haben Vorrang vor der DNS-Auflösung, da dies die standardmäßig in der Anweisung "hosts" der Datei /etc/nsswitch.conf
definierte Priorität ist.
Bei dieser Methode müssen Sie die Einträge jedoch allen Oracle HTTP Server-Hosts manuell hinzufügen:
Domain Name System (DNS) verwenden
/etc/hosts
-Dateien aller Hosts hinzuzufügen.
Fügen Sie die Einträge für die virtuellen Oracle HTTP Server-Hostnamen zur privaten Ansicht hinzu, die in OCI erstellt wurde, indem Sie die Mid-Tier auf OCI vorbereiten:
Erforderliche Ports in den Firewalls des OCI-Hosts öffnen
ssh
, dhcp
). Sie müssen die von Oracle HTTP Server verwendeten Ports öffnen.
oracle
-Benutzerumgebungsvariablen für Oracle HTTP Server erstellen
oracle
auf den Oracle HTTP Server-Hosts vorhanden sind. Beispiel: ORACLE_HOME
, JDK_HOME
, PATH
, WEB_DOMAIN_HOME
und andere.
Oracle HTTP Server-Produkt und -Konfiguration aus der primären Datenbank replizieren
rsync
verwenden, um die Binärdateien und die Oracle HTTP Server-Konfiguration aus den primären Oracle HTTP Server-Knoten zu kopieren.
Alternativ können Sie die Oracle HTTP Server-Software herunterladen, von Null in den OCI Oracle HTTP Server-Compute-Instanzen installieren und konfigurieren. Dieser Ansatz liegt außerhalb des Anwendungsbereichs dieses Dokuments. Sie müssen diesen Ansatz jedoch verwenden, wenn die Oracle HTTP Server-OCI-Compute-Instanzen ein anderes Betriebssystem als die primären Oracle HTTP Server-Hosts verwenden.
Oracle HTTP Server-Binärdateien und -Konfigurationsdateien befinden sich normalerweise im privaten Speicher. In OCI können Sie standardmäßig das Block-Volume der Compute-Instanz verwenden. Alternativ können Sie ein neues Block-Volume für jedes Oracle HTTP Server-Compute erstellen (wie unter OCI-Block-Volumes vorbereiten beschrieben) und jedes Volume in den Oracle HTTP Server-Compute-Instanzen mounten (wie unter OCI-Block-Volumes mounten beschrieben).
In diesem Beispiel wird das Standardblock-Volume der Oracle HTTP Server-Compute-Instanzen verwendet, ohne zusätzliche Block-Volumes zu erstellen.
Die Oracle HTTP Server-Konfiguration und -Binärdateien ändern nicht häufig Überstunden. Nach dieser anfänglichen Replikation können Sie dieselbe Replikation während des Lebenszyklus wiederholen. Alternativ können Sie die Konfiguration von Oracle HTTP Server in der Primär- und Sekundärdatenbank manuell verwalten, indem Sie die Oracle HTTP Server-Konfigurationsänderungen in beiden Sites implementieren.
OCI Load Balancer vorbereiten
Erstellen und konfigurieren Sie den Oracle Cloud Infrastructure-Load Balancer in der Cloud.
Hinweis:
Sie finden den Terraform-Code zum Erstellen der in diesem Abschnitt beschriebenen Ressourcen (OCI Load Balancer, SSL-Zertifikat, Backend-Sets und -Backends, Routing-Policys, Listener und Regelsets) unter Code herunterladen.
OCI-Load Balancer bereitstellen
Um mit der primären On-Premise-Site konsistent zu sein, stellen Sie einen Load Balancer auf Ihrer sekundären Site in Oracle Cloud Infrastructure (OCI) als Einstiegspunkt für das System bereit.
Zertifikate hochladen
Laden Sie die Zertifikate hoch, die vom primären Load Balancer verwendet werden.
Backend-Sets erstellen
Ein Backend-Set ist eine logische Entity, die eine Liste mit Backend-Servern enthält, auf denen dieselben Anwendungen ausgeführt werden. Wenn Sie ein Backend-Set definieren, müssen Sie eine Load Balancing Policy und einen Health-Check-Test angeben. Anschließend können Sie die Liste der Backend-Server hinzufügen.
Die Konfiguration der Backend-Sets hängt davon ab, ob Sie Oracle HTTP Server vor den WebLogic Server-Hosts verwenden.
Wenn Sie Oracle HTTP Server verwenden, sendet der Oracle Cloud Infrastructure-(OCI-)Load Balancer die Anforderungen an die HTTPS-Server. Erstellen Sie ein Backend-Set für jeden Port, der von den HTTPS-Servern bereitgestellt wird. Beispiel: Erstellen Sie ein Backend-Set für den Oracle HTTP Server-Listener, der Zugriff auf die Anwendungen ermöglicht, und ein weiteres Backend-Set für den Oracle HTTP Server-Listener, das Zugriff auf jede Oracle WebLogic Server-Administrationskonsole bietet.
Wenn Sie Oracle HTTP Server nicht verwenden, sendet der OCI Load Balancer die Anforderungen direkt an die WebLogic-Server. Erstellen Sie ein Backend-Set für jedes Oracle WebLogic Server-Cluster und ein weiteres Backend-Set für den Admin-Server.
- Melden Sie sich bei der OCI-Konsole an.
- Wählen Sie die richtige Region und das richtige Compartment aus.
- Klicken Sie im Navigationsmenü auf Networking, Load Balancer.
- Klicken Sie auf den Load Balancer, dem Sie ein Backend hinzufügen möchten.
- Klicken Sie im Menü Ressourcen auf Backend-Sets und dann auf Backend-Set erstellen.
- Geben Sie im Dialogfeld "Backend-Set erstellen" Folgendes ein:
- Klicken Sie auf Erstellen.
Wenn Sie über zusätzliche WebLogic Server-Cluster verfügen, erstellen Sie ein Backend-Set für jedes Cluster auf ähnliche Weise.
Im Folgenden finden Sie ein Beispiel für die Backend-Sets, wenn Sie Oracle HTTPS Server mit Oracle WebLogic Server verwenden.
Komponente | Backend-Setname | Verkehrsverteilungs-Policy | Sessionpersistenz | Cookiename (Beispiel) | Attribut: sicher | Health Check |
---|---|---|---|---|---|---|
Admin-Server | OHS_Admin_backendset |
Gewichtetes Round-Robin | Load-Balancer-Cookiepersistenz aktivieren | X-Oracle-LBR-ADMIN-Backendset |
Deaktiviert | TCP oder HTTP |
WebLogic Cluster | OHS_HTTP_backendset |
Gewichtetes Round-Robin | Load-Balancer-Cookiepersistenz aktivieren | X-Oracle-LBR-OHS-HTTP-Backendset |
Aktiviert | TCP oder HTTP |
Im Folgenden finden Sie ein Beispiel für die Backend-Sets, wenn Sie Oracle HTTP Server nicht verwenden.
Komponente | Backend-Setname | Verkehrsverteilungs-Policy | Sessionpersistenz | Cookiename (Beispiel) | Attribut: sicher | Health Check |
---|---|---|---|---|---|---|
Admin-Server | Admin_backendset |
Gewichtetes Round-Robin | Load-Balancer-Cookiepersistenz aktivieren | X-Oracle-LBR-ADMIN-Backendset |
Deaktiviert | TCP oder HTTP |
WebLogic Cluster 1 | WLS_Cluster1_backendset |
Gewichtetes Round-Robin | Load-Balancer-Cookiepersistenz aktivieren | X-Oracle-LBR-WLSCluster1-Backendset |
Aktiviert | TCP oder HTTP |
WebLogic Cluster 2 | WLS_Cluster2_backendset |
Gewichtetes Round-Robin | Load-Balancer-Cookiepersistenz aktivieren | X-Oracle-LBR-WLSCluster2-Backendset |
Aktiviert | TCP oder HTTP |
Wenn Sie über zusätzliche WebLogic-Cluster verfügen, erstellen Sie auf ähnliche Weise ein Backend-Set für jedes Cluster.
Backends für jedes Backend-Set definieren
Definieren Sie die Backends für jedes Backend-Set im Oracle Cloud Infrastructure-(OCI-)Load Balancer.
Wenn Sie Oracle HTTP Server verwenden, fügen Sie die Oracle HTTP Server-Knoten und die entsprechenden Ports als Backends in jedem Backend-Set hinzu.
Wenn Sie Oracle HTTP Server nicht verwenden, fügen Sie die Oracle WebLogic Server-Knoten und die entsprechenden Ports als Backends in jedem Backend-Set hinzu.
- Wählen Sie in der Konsole ein Backend-Set aus. Klicken Sie auf Backends und dann auf Backends hinzufügen.
- Geben Sie die IP-Adresse und den Port für den Server ein, der das Backend ist.
Backend-Setname | Backends |
---|---|
OHS_Admin_backendset |
Compute-Instanzen:
|
OHS_HTTP_backendset |
Compute-Instanzen:
|
Die Tabelle zeigt die Backend-Sets, die im Beispiel dieses Dokuments erstellt werden, wenn Oracle HTTP Server NICHT verwendet wird:
Backend-Setname | Backends |
---|---|
Admin_backendset |
IP-Adressen:
|
WLSCluster1_backendset |
Compute-Instanzen:
|
WLSCluster2_backendset |
Compute-Instanzen:
|
Routing-Policys definieren und Regeln konfigurieren
Mit den Routing-Policys werden die eingehenden Anforderungen an das korrekte Backend-Set verteilt. Beispiel: Eine Anforderung an /console
wird an das Admin-Backend-Set gesendet, und eine Anforderung an /app1
wird an das Backend-Set des Clusters gesendet, in dem app1
ausgeführt wird.
Wenn Sie Oracle HTTP Server verwenden, definieren Sie normalerweise die Routen (wie /app1
, /app2
, /console
usw.) in der Oracle HTTP Server-Konfiguration. In diesem Fall müssen Sie die Routing-Policys und -Regeln nicht im Oracle Cloud Infrastructure-(OCI-)Load Balancer definieren.
Wenn Sie Oracle HTTP Server nicht verwenden, müssen Sie die Routing-Policys und -regeln im OCI Load Balancer definieren, um die Anforderungen an das entsprechende Backend-Set zu verteilen.
Komponente | Routing-Policy-Name | Regel | Bedingungen: Wenn ein Abgleichspfad beginnt mit | Aktion: An Backend-Set weiterleiten |
---|---|---|---|---|
Administrationsserverkonsolen | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Anwendung 1 | Application_Rules |
WLSCluster1_routerule |
|
WLSCluster1_backendset |
Anwendung 2 | Application_Rules |
WLSCluster2_routerule |
|
WLSCluster2_backendset |
Sie können so viele Routing-Policys, Regeln und Bedingungen erstellen, wie Sie für Ihre Umgebung benötigen.
Listener erstellen
Erstellen Sie die Listener für jede Kombination aus Frontend-Name und Port, mit der auf das System zugegriffen wird. Sie müssen dieselben Hostnamen (virtuelle Frontend-Namen) und Ports verwenden, die vom primären Load Balancer verwendet werden.
- Fügen Sie den virtuellen Frontend-Hostnamen als Hostnamen im Oracle Cloud Infrastructure Load Balancer hinzu.
- Erstellen Sie die Listener.
Die folgende Tabelle enthält eine Zusammenfassung der Listener, die im Beispiel dieses Dokuments erstellt wurden, sowie zugehörige Protokolle, Ports, Backend-Sets, Routing-Policys, Hostnamen und SSL-Verwendung. Dies ist ein Referenzbeispiel. Wenn Ihr System zusätzliche Frontend-Hostnamen, Ports oder Protokolle im primären Oracle WebLogic Server-System verwendet, müssen Sie die entsprechenden Listener und Hostnamen entsprechend Ihren Anforderungen erstellen. Beispiel: Wenn Sie über ein alternatives Frontend auf die Oracle WebLogic Server-Konsole und die Oracle Enterprise Manager-Konsole zugreifen.
Listener | Protokoll | Port | Backend-Set | Routing-Policy | HostName | SSL verwenden |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
wlsfrontend.example.com | Nein |
HTTPS_listener |
HTTPS | 443 |
|
App_Rules |
wlsfrontend.example.com | Ja |
HTTP_listener |
HTTP | 80 | N/V* | NICHT ZUTREFFEND | wlsfrontend.example.com | Nein |
* Die HTTP_listener
in diesem Beispiel wird nur zum Umleiten von Anforderungen an die HTTPS_listener
(HTTPS) verwendet. Das ihr zugewiesene Backend wird nicht verwendet. Da jedoch eine Angabe obligatorisch ist, müssen Sie eine angeben, für die kein SSL aktiviert ist (verwenden Sie ein leeres Standard-Backend-Set).
Regelset für SSL-Header erstellen
Erstellen Sie ein Regelset für SSL-Header im Oracle Cloud Infrastructure-(OCI-)Load Balancer, und verknüpfen Sie es mit dem HTTPS-Listener.
Regelset zur Umleitung des HTTP-Protokolls zu HTTPS erstellen
Erstellen Sie eine Umleitungsregel, und verknüpfen Sie sie mit HTTP_listener, um Port 80 zu Port 443 umzuleiten. Bei der EDG-Topologie müssen alle Anforderungen, die Port 80 (HTTP) im Load Balancer erreichen, an Port 443 (HTTPS) umgeleitet werden.
Virtuellen Frontend-Namen und IP zu WLS-Compute-Instanzen hinzufügen
In einer Disaster-Recovery-Topologie müssen die Clients mit einem Frontend-FQDN (üblicherweise als virtueller Frontend-Name oder Vanity-URL bezeichnet) auf das System zugreifen, der für das Data Center nicht relevant ist. Dieser virtuelle Frontend-Name muss in die Load Balancer-IP-Adresse der aktuellen aktiven (primären) Site aufgelöst werden.
Das Primärsystem sollte bereits einen virtuellen Frontend-Namen verwenden, der von dem DNS mit der IP des primären Load Balancers aufgelöst wird. Die Oracle WebLogic Server-Hosts jeder Site müssen jedoch immer den Frontend-Namen mit dem lokalen Load Balancer auflösen, unabhängig von der clientseitigen Auflösung mit DNS. Dazu wird der virtuelle Frontend-Name der /etc/hosts
-Datei mit der entsprechenden IP-Adresse auf jeder Site hinzugefügt. Dazu können Sie auch verschiedene DNS-Server auf jeder Site verwenden. In diesem Fall würde der lokale DNS-Server den Frontend-Namen mit der entsprechenden Load-Balancer-IP an jedem Standort auflösen.
/etc/hosts
-Dateien verwenden
/etc/hosts
der primären und sekundären Oracle WebLogic Server-Hosts darf bei einem Switchover oder Failover nicht geändert werden. Die Oracle WebLogic Server-Hosts lösen den virtuellen Frontend-Namen immer mit der zugehörigen Frontend-IP auf. Die DNS-Aktualisierung, die während der Switchover- und Failover-Prozeduren erforderlich ist, wird in den DNS- oder Hostdateien ausgeführt, die von den Oracle WebLogic Server-Clients verwendet werden.
Domain Name System (DNS) verwenden
Wenn Sie diese Lösung verwenden, können Sie den Frontend-Namen (der auf die IP des sekundären Load Balancers verweist) zu dem DNS-Service hinzufügen, der von den sekundären Middle Tiers verwendet wird. In der Primärdatenbank wird erwartet, dass der Frontend-Name bereits aufgelöst ist, der auf die IP des primären Load Balancers verweist.
In der Primärdatenbank wird erwartet, dass der Frontend-Name bereits aufgelöst ist, der auf die IP des primären Load Balancers verweist.