在 OCI 上準備 Web 層
在 Oracle Cloud Infrastructure (OCI) 上佈建並設定次要網站,使其與您的主要內部部署網站一致。
備註:
您可以在下載程式碼中找到 Terraform 程式碼,以建立本節 (OCI Load Balancer、SSL 憑證、後端集和後端、路由原則、監聽器以及規則集) 中所述的資源。
(選擇性) 準備 Oracle HTTP Server 主機
備註:
您可以選擇是否建立及設定 Oracle HTTP Server 。您只能使用 OCI 負載平衡器在 OCI 上設定 Web 層 (無須使用 Oracle HTTP Server)。
佈建 Oracle HTTP Server 主機
除了用於涵蓋內部部署執行之 Oracle HTTP Server 的授權和支援合約外,在 OCI 中執行的每個 Oracle HTTP Server 都必須有有效的授權和支援合約。您可以使用 適用於 OCI 的 Oracle WebLogic Server 映像檔,為 Oracle Cloud 上的 Oracle HTTP Server 建立運算執行處理。使用這些映像檔建立的運算執行處理包括執行 Oracle HTTP Server 的權益,並且會依每一 OCPU/ 小時計費,以便在執行中狀態時執行 WebLogic 軟體。使用 Oracle WebLogic Server for OCI 建立運算執行處理時,您可以使用運算執行處理主控台或市集。這些映像檔適用於 Oracle Linux 7.9 和 Oracle Linux 8.5 作業系統。
此範例使用區間內單一可用性網域中的兩個運算執行處理,如表格所示。
名稱 | 區間 | 可用性網域 | 影像 | 形狀 | VCN | 子網路 |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 映像檔 (Oracle Linux 7。9) | VM.Standard2.2 | 公司簡介 | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 映像檔 (Oracle Linux 7。9) | VM.Standard2.2 | 公司簡介 | webTierSubnet |
執行下列動作以使用運算執行處理主控台佈建運算執行處理:
準備作業系統使用者與群組
次要運算執行處理中必須要有與主要企業內部部署 Oracle 軟體相同的使用者和群組。
Oracle WebLogic Server for Oracle Cloud Infrastructure 映像檔已經有一個 oracle 使用者和群組。不過,這些值 (使用者名稱、群組名稱、uid
以及 gid
) 可能與您主要執行處理中的值不相符,因此您需要設定次要主機以符合主要 oracle 使用者和群組的值。下列範例顯示如何設定此層中的次要主機,以符合主要 oracle 使用者和群組的值。
準備作業系統需求
runinstaller
。因為 Oracle WebLogic Server for Oracle Cloud Infrastructure 映像檔已針對 WebLogic 軟體準備,所以您不需要手動新增 WebLogic 的套裝軟體。不過,這些 Oracle HTTP Server 主機將會執行 Oracle HTTP Server 產品。確定次要主機符合 Oracle HTTP Server 的需求。準備 Oracle HTTP Server 的主機名稱別名
有兩種方式可以實行此動作:
- 將主機名稱新增為 Oracle WebLogic Server for OCI 運算執行處理的
/etc/hosts
檔案別名。 - 在次要 OCI VCN 中使用專用 DNS 檢視。
使用 /etc/hosts
檔案
/etc/hosts
檔案,指向次要主機的 IP 位址。 當主要企業內部部署和次要 Oracle Cloud Infrastructure (OCI) 網站中的 DNS 伺服器都相同時,以及主要和次要網站中使用分離的 DNS 伺服器時,此模式在所有情況下都有效。/etc/hosts
檔案中的項目優先順序高於 DNS 解析,因為這是在 /etc/nsswitch.conf
檔案的指令「主機」中立即定義的優先順序。
不過,此方法需要手動將項目新增至所有 Oracle HTTP Server 主機:
使用網域名稱系統 (DNS)
/etc/hosts
檔案中。
將 Oracle HTTP Server 虛擬主機名稱的項目新增至 OCI 中建立的「專用檢視」,步驟為「在 OCI 上準備中間層」:
開啟 OCI 主機防火牆中的必要連接埠
ssh
、dhcp
除外)。您必須開啟 Oracle HTTP Server 所使用的連接埠。
建立 Oracle HTTP Server 的 oracle
使用者環境變數
oracle
使用者設定檔中,通常具有 Oracle HTTP Server 相關環境變數。例如,ORACLE_HOME
、JDK_HOME
、PATH
、WEB_DOMAIN_HOME
等。
從主要複製 Oracle HTTP Server 產品與組態
rsync
從主要 Oracle HTTP Server 節點複製二進位檔案和 Oracle HTTP Server 組態。
或者,您也可以下載 Oracle HTTP Server 軟體,從 OCI Oracle HTTP Server 運算執行處理中的零安裝並設定軟體。此方法超出了本文件的範圍。不過,當 Oracle HTTP Server OCI 運算執行處理的作業系統與主要 Oracle HTTP Server 主機不同時,您必須使用此方法。
Oracle HTTP Server 二進位檔案和組態檔通常位於專用儲存體中。在 OCI 中,您可以預設使用運算執行處理的區塊磁碟區。或者,您可以為每個 Oracle HTTP Server 運算建立新的區塊磁碟區 (如準備 OCI 區塊磁碟區中所述),然後在 Oracle HTTP Server 運算執行處理中掛載每個區塊磁碟區 (如掛載 OCI 區塊磁碟區中所述)。
此範例使用 Oracle HTTP Server 運算執行處理的預設區塊磁碟區,而不會建立任何額外的區塊磁碟區。
Oracle HTTP Server 組態和二進位檔案不會經常變更加班時間。完成此初始複製後,您可以在生命週期中重複相同的複製。或者,您也可以在兩個網站實行 Oracle HTTP Server 組態變更,手動維護主要和次要的 Oracle HTTP Server 組態。
準備 OCI 負載平衡器
在雲端上建立並設定 Oracle Cloud Infrastructure 負載平衡器。
備註:
您可以在下載程式碼中找到 Terraform 程式碼,以建立本節 (OCI Load Balancer、SSL 憑證、後端集和後端、路由原則、監聽器以及規則集) 中所述的資源。
佈建 OCI 負載平衡器
若要與主要內部部署網站一致,請在 Oracle Cloud Infrastructure (OCI) 上的次要網站上佈建負載平衡器作為系統的進入點。
建立後端集
後端集是一個邏輯實體,其中包含執行相同應用程式的後端伺服器清單。定義後端集時,必須指定負載平衡原則和狀況檢查測試。然後即可新增後端伺服器清單。
後端集的組態取決於您是否在 WebLogic Server 主機之前使用 Oracle HTTP Server 。
如果您使用 Oracle HTTP Server ,則 Oracle Cloud Infrastructure (OCI) 負載平衡器會將要求傳送至 HTTPS 伺服器。為 HTTPS 伺服器公開的每個連接埠建立後端集。例如:為 Oracle HTTP Server 監聽器建立一個後端集,供存取應用程式,並為 Oracle HTTP Server 監聽器建立另一個後端集,供存取每個 Oracle WebLogic Server 管理主控台。
如果您未使用 Oracle HTTP Server ,則 OCI 負載平衡器會直接將要求傳送至 WebLogic 伺服器。為每個 Oracle WebLogic Server 叢集和「管理伺服器」的另一個後端集建立後端集。
- 登入 OCI 主控台。
- 選取適當的區域和區間。
- 在導覽功能表中,依序按一下網路和負載平衡器。
- 按一下要新增後端的負載平衡器。
- 按一下「資源」功能表下的後端集,然後按一下建立後端集。
- 在「建立後端集」對話方塊中輸入下列資訊:
- 按一下建立。
如果您有其他 WebLogic 伺服器叢集,請以類似的方式為每個叢集建立後端集。
以下是您搭配 Oracle WebLogic Server 使用 Oracle HTTPS Server 時,後端集的範例。
元件 | 後端集名稱 | 流量分配原則 | 階段作業持續性 | Cookie 名稱 (範例) | 屬性:安全 | 狀況檢查 |
---|---|---|---|---|---|---|
管理伺服器 | OHS_Admin_backendset |
加權循環 | 啟用負載平衡器 Cookie 持續性 | X-Oracle-LBR-ADMIN-Backendset |
取消勾選 | TCP 或 HTTP |
WebLogic 叢集 | OHS_HTTP_backendset |
加權循環 | 啟用負載平衡器 Cookie 持續性 | X-Oracle-LBR-OHS-HTTP-Backendset |
已勾選 | TCP 或 HTTP |
下列是未使用 Oracle HTTP Server 時,後端集的範例。
元件 | 後端集名稱 | 流量分配原則 | 階段作業持續性 | Cookie 名稱 (範例) | 屬性:安全 | 狀況檢查 |
---|---|---|---|---|---|---|
管理伺服器 | Admin_backendset |
加權循環 | 啟用負載平衡器 Cookie 持續性 | X-Oracle-LBR-ADMIN-Backendset |
取消勾選 | TCP 或 HTTP |
WebLogic 叢集 1 | WLS_Cluster1_backendset |
加權循環 | 啟用負載平衡器 Cookie 持續性 | X-Oracle-LBR-WLSCluster1-Backendset |
已勾選 | TCP 或 HTTP |
WebLogic 叢集 2 | WLS_Cluster2_backendset |
加權循環 | 啟用負載平衡器 Cookie 持續性 | X-Oracle-LBR-WLSCluster2-Backendset |
已勾選 | TCP 或 HTTP |
如果您有其他 WebLogic 叢集,請以類似的方式為每個叢集建立後端集。
定義每個後端集的後端
在 Oracle Cloud Infrastructure (OCI) 負載平衡器中定義每個後端集的後端。
如果您使用 Oracle HTTP Server ,請新增 Oracle HTTP Server 節點和適當的連接埠作為每個後端集中的後端。
如果您未使用 Oracle HTTP Server ,請新增 Oracle WebLogic Server 節點和適當的連接埠作為每個後端集中的後端。
- 在主控台中,選取後端集。按一下後端,然後按一下新增後端。
- 輸入後端的伺服器 IP 位址和連接埠。
後端集名稱 | 後端 |
---|---|
OHS_Admin_backendset |
運算執行處理:
|
OHS_HTTP_backendset |
運算執行處理:
|
此表格顯示「不」使用 Oracle HTTP Server 時,在此文件範例中所建立的後端集:
後端集名稱 | 後端 |
---|---|
Admin_backendset |
IP 位址:
|
WLSCluster1_backendset |
運算執行處理:
|
WLSCluster2_backendset |
運算執行處理:
|
定義路由原則並設定規則
路由原則主要用於將內送要求分配至正確的後端集。例如,對 /console
的要求會分配至「管理」後端集,而對 /app1
的要求會分配至執行 app1
之叢集的後端集。
如果您使用 Oracle HTTP Server ,則通常會在 Oracle HTTP Server 組態中定義路由 (例如 /app1
、/app2
、/console
等)。在此情況下,您不需要在 Oracle Cloud Infrastructure (OCI) 負載平衡器中定義路由原則和規則。
如果您未使用 Oracle HTTP Server ,則必須在 OCI Load Balancer 中定義路由原則和規則,將要求分配給適當的後端集。
元件 | 路由原則名稱 | 規則 | 條件:如果任何比對路徑開頭為 | 動作:路由至後端集 |
---|---|---|---|---|
管理伺服器主控台 | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
應用程式 1 | Application_Rules |
WLSCluster1_routerule |
|
WLSCluster1_backendset |
應用程式 2 | Application_Rules |
WLSCluster2_routerule |
|
WLSCluster2_backendset |
您可以視需要為環境建立不限數目的路由原則、規則及條件。
建立監聽器
為用來存取系統的每個前端名稱和連接埠組合建立監聽器。您必須使用主要負載平衡器使用的相同主機名稱 (虛擬前端名稱) 和連接埠。
- 將虛擬前端主機名稱新增為 Oracle Cloud Infrastructure 負載平衡器中的主機名稱。
- 建立監聽器。
下表為本文件範例中所建立的監聽器摘要,以及其關聯的協定、連接埠、後端集、路由原則、主機名稱以及 SSL 使用狀況。這就像參照範例一樣。如果您的系統在主要 Oracle WebLogic Server 系統中使用其他前端主機名稱、連接埠或通訊協定,則您必須根據需求建立對應的監聽器和主機名稱。例如,如果您使用替代的前端來存取 Oracle WebLogic Server 主控台和 Oracle Enterprise Manager 主控台。
監聽器 | 協定 | 連接埠 | 後端集 | 路由原則 | HostName | 使用 SSL |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
wlsfrontend.example.com | 不是 |
HTTPS_listener |
HTTPS | 443 |
|
App_Rules |
wlsfrontend.example.com | 是 |
HTTP_listener |
HTTP | 80 | 不適用 * | 不適用 | wlsfrontend.example.com | 不是 |
* 此範例中的 HTTP_listener
僅用於將要求重新導向至 HTTPS_listener
(HTTPS)。將不會使用指定給它的後端。但是,由於必須提供,因此必須提供未核取 SSL 的方法 (使用預設的空白後端集)。
建立 SSL 表頭的規則集
在 Oracle Cloud Infrastructure (OCI) 負載平衡器中為 SSL 標頭建立規則集,然後將其與 HTTPS 監聽器建立關聯。
建立將 HTTP 協定重導至 HTTPS 的規則集
建立重新導向規則並將其與 HTTP_listener 關聯,以將連接埠 80 重新導向至連接埠 443。對於 EDG 拓樸,必須將負載平衡器中達到連接埠 80 (HTTP) 的所有要求重新導向至連接埠 443 (HTTPS)。
將虛擬前端名稱和 IP 新增至 WLS 運算執行處理
在災害復原拓樸中,用戶端必須使用與資料中心無關的前端 FQDN (通常稱為虛擬前端名稱或虛名 URL) 存取系統。此虛擬前端名稱應解析為目前使用中 (主要) 網站的負載平衡器 IP 位址。
主要系統應該已經使用 DNS 以主要負載平衡器 IP 解析的前端虛擬名稱。不過,每個網站的 Oracle WebLogic Server 主機應一律以其本機負載平衡器來解析前端名稱,無論使用 DNS 進行從屬端解析為何。因此,虛擬前端名稱會新增至其 /etc/hosts
檔案,每個網站都有適當的 IP 位址。您也可以在每個網站上使用不同 DNS 伺服器以達到此目的。在此情況下,本機 DNS 伺服器會以每個網站的適當負載平衡器 IP 解析前端名稱。