共用方式為


使用 Azure 虛擬機器和 OCI 資料庫的 Oracle 應用程式結構

適用於:✔️ Linux VM

Microsoft和 Oracle 共同運作,讓客戶能夠在雲端中部署 Oracle 應用程式,例如 Oracle E-Business Suite、JD Edwards EnterpriseOne 和 PeopleSoft。 透過Microsoft Azure 與 Oracle 雲端基礎結構(OCI)之間的專用網互連, Oracle 應用程式可以在 Azure 上部署其後端資料庫或 OCI。 Oracle 應用程式可與 Microsoft Entra ID 整合,讓您設定單一登入,以便使用者使用其 Microsoft Entra 認證登入 Oracle 應用程式。

OCI 針對 Oracle 應用程式提供多個 Oracle Database 選項,如 DBaa、Exadata 雲端服務、Oracle RAC 與基礎結構即服務 (IaaS)。 自發資料庫目前不是 Oracle 應用程式的支援後端。

在 Azure 中部署 Oracle 應用程式有多個選項,包含以高可用性和安全的方式。 若選擇完全在 Azure 上執行 Oracle 應用程式,Azure 亦提供 Oracle 資料庫 VM 映像

下列章節概述 Microsoft 和 Oracle 針對在跨雲端設定或完全在 Azure 上部署 Oracle E-Business Suite、JD Edwards EnterpriseOne 和 PeopleSoft 的結構建議。 Microsoft和 Oracle 測試這些應用程式,並確認效能符合 Oracle 針對這些應用程式所設定的標準。

架構考量

Oracle 應用程式由多個服務組成,可裝載於 Azure 中相同或多個虛擬機器,亦可選擇裝載於 OCI 中。

應用程式執行個體可設定為私人或公用端點。 Microsoft 和 Oracle 建議在個別子網路中,使用公用 IP 位址設定堡壘主機 VM,以管理應用程式。 然後,僅將私人 IP 位址指派給其他機器,包含資料庫層。

設定跨雲端結構的應用程式時,需要進行規畫以確保 Azure 虛擬網路中的 IP 位址空間,沒有在 OCI 虛擬雲端網路中與私人 IP 位址重疊。

若要取得更多安全性,在子網路層級設定網路安全性群組,以確保只允許特定連接埠和 IP 位址上的流量。 例如,中介層的機器應該只接收虛擬網路內的流量。 外部流量不可直接觸達中介層的機器。

若要達到高可用性,可在相同可用性設定組或不同可用性區域中,設定不同伺服器的備援執行個體。 可用性區域可讓您達成 99.99% 執行時間 SLA,而可用性設定組可讓您在區域中達成 99.95% 執行時間 SLA。 本文所示的樣本結構跨兩個可用性區域部署。

使用跨雲端互連部署應用程式時,您可以繼續使用現有的 ExpressRoute 線路,將 Azure 環境連線到內部部署網路。 不過,您需要使用與連線至內部部署網路不同的個別 ExpressRoute 電路,以互連至 OCI。

E-Business Suite

Oracle E-Business Suite (EBS) 是一套應用程式,包含供應鏈管理 (SCM) 和客戶關係管理 (CRM)。 若要充分使用 OCI 受控資料庫組合,可使用 Microsoft Azure 和 OCI 間的跨雲端互連部署 EBS。 在此設定中,展示和應用程式層在 Azure 和 OCI 的資料庫層中執行,如下列架構圖 (圖 1) 所示。

E-Business Suite 跨雲端架構

圖 1:E-Business Suite跨雲端結構

在此架構中,Azure 中的虛擬網路會使用跨雲端互連,連線至 OCI 中的虛擬雲端網路。 應用程式層在 Azure 中設定,而資料庫在 OCI 中設定。 建議將每個元件部署到具有網路安全組的自有子網,只允許來自特定埠上特定子網的流量。

此架構可以完全調整為在 Azure 上部署,並在區域中的兩個可用性區域中,使用 Oracle Data Guard 設定的高可用性 Oracle 資料庫。 下圖 (圖 2) 為此架構模式的範例:

僅限 E-Business Suite Azure 的架構

圖 2:僅限 Azure 的 E-Business Suite 結構

下列章節說明高層級的不同元件。

堡壘主機層

堡壘主機為可選用的元件,其可作為跳板伺服器使用,以存取應用程式和資料庫執行個體。 堡壘主機 VM 可使用指派的公用 IP 位址,儘管建議透過內部部署網路設定 ExpressRoute 連線或站對站 VPN,以確保安全存取。 此外,僅有 SSH (Linux 伺服器連接埠 22) 或 RDP (Windows 伺服器連接埠 3389) 可針對傳入流量開啟。 若要取得高可用性,在兩個可用性區域或一個可用性設定組中部署堡壘主機。

您亦可啟用轉接至 VM 的 SSH 代理程式,讓您從堡壘主機轉接認證,存取虛擬網路中的其他 VM。 或使用 SSH 通道存取其他執行個體。

以下是代理程式轉接的範例:

ssh -A -t user@BASTION_SERVER_IP ssh -A root@TARGET_SERVER_IP`

此命令會連線至堡壘主機,並立即再次執行 ssh,所以您可以取得目標執行個體的終端。 若叢集設定不同,可能需要指定使用者,此使用者不同於目標執行個體的根。 -A 引數轉接代理程式連線,以便系統自動使用本機電腦的私密金鑰。 請注意,代理程式轉接為鏈結,因此第二個 ssh 命令也包含 -A,如此一來,從目標執行個體起始的任何後續 SSH 連線也使用本機私密金鑰。

應用程式 (中介) 層

應用程式層會隔離在其子網路中。 針對容錯和簡單的修補檔管理,設定多個虛擬機器。 您可以使用 Azure NetApp Files 和 Ultra SSD 所提供的共用記憶體來支援這些 VM。 此設定不需停機,即可更輕鬆地部署修補檔。 應用層中的機器應該由公用負載平衡器前端,因此即使該層中的一部計算機因為錯誤而離線,仍會處理對EBS應用層的要求。

負載平衡器

Azure 負載平衡器可讓您跨工作負載的多個執行個體散發流量,以確保高可用性。 在此情況下,系統會設定公用負載平衡器,因為使用者可透過網頁存取 EBS 應用程式。 負載平衡器會散發負載至中介層的兩個機器。 若要取得更多的安全性,僅允許使用者從公司網路使用站對站 VPN 或 ExpressRoute 與網路安全性群組,存取系統的流量。

資料庫層

此層會裝載 Oracle 資料庫,並分隔至其子網路。 建議新增網路安全組,只允許從應用層到 Oracle 特定資料庫埠 1521 上的資料庫層流量。

Microsoft 和 Oracle 建議高可用性設定。 使用 Oracle 資料成立條件在兩個可用性區域設定兩個 Oracle 資料庫,或使用 OCI 中的 Oracle Database Exadata 雲端服務,在 Azure 中取得高可用性。 當您使用 Oracle Database Exadata 雲端服務時,您的資料庫會部署在兩個子網中。 您也可以使用 Oracle Data Guard,在兩個可用性網域的 OCI 中設定 Oracle Database。

身分識別層

識別層包含 EBS Asserter VM。 EBS Asserter 可讓您同步來自 Oracle 身分識別雲端服務 (IDCS) 和 Microsoft Entra ID 的身分識別。 需要 EBS Asserter,是因為 EBS 不支援單一登入通訊協定,如 SAML 2.0 或 OpenID Connect。 EBS Asserter 使用 OpenID Connect 權杖 (由 IDCS 產生)、進行驗證,然後為 EBS 使用者建立工作階段。

雖然此架構顯示 IDCS 整合,亦可使用 Oracle 網際網路目錄或 Oracle 統一目錄的 Oracle 存取管理員來啟用 Microsoft Entra ID 統一存取和單一登入。 如需詳細資訊,請參閱使用 IDCS 整合部署 Oracle EBS使用 OAM 整合部署 Oracle EBS 白皮書。

針對高可用性,建議在多個可用性區域中部署 EBS Asserter 的備援伺服器,並在其前面有負載平衡器。

設定基礎結構後,可遵循 Oracle 提供的安裝指南安裝 E-Business Suite。

JD Edwards EnterpriseOne

Oracle 的 JD Edwards EnterpriseOne 是全方位企業資源規劃軟體的整合式應用程式套件。 其為多層式應用程式,可使用 Oracle 或 SQL Server 資料庫後端進行設定。 本節討論如何在 OCI 或 Azure 中使用 Oracle 資料庫後端部署 JD Edwards EnterpriseOne 的細節。

在下列建議的結構 (圖 3) 中,管理、展示和中介層部署至位於 Azure 的虛擬網路。 資料庫部署至位於 OCI 的虛擬雲端網路。

如同 E-Business Suite,您可以基於安全管理目的,設定選用的堡壘主機層。 將堡壘 VM 主機作為跳板伺服器使用,以存取應用程式和資料庫執行個體。

JD Edwards EnterpriseOne 跨雲端架構

圖 3:JD Edwards EnterpriseOne 跨雲端結構

在此架構中,Azure 中的虛擬網路會使用跨雲端互連,連線至 OCI 中的虛擬雲端網路。 應用程式層在 Azure 中設定,而資料庫在 OCI 中設定。 建議將每個元件部署到具有網路安全組的自有子網,只允許來自特定埠上特定子網的流量。

此架構可以完全調整為在 Azure 上部署,並在區域中的兩個可用性區域中,使用 Oracle Data Guard 設定的高可用性 Oracle 資料庫。 下圖 (圖 4) 為此架構模式的範例:

JD Edwards EnterpriseOne 僅限 Azure 架構

圖 4:僅限 Azure 的 D Edwards EnterpriseOne 結構

下列章節說明高層級的不同元件。

堡壘主機層

堡壘主機為可選用的元件,其可作為跳板伺服器使用,以存取應用程式和資料庫執行個體。 堡壘主機 VM 可使用指派的公用 IP 位址,儘管建議透過內部部署網路設定 ExpressRoute 連線或站對站 VPN,以確保安全存取。 此外,僅有 SSH (Linux 伺服器連接埠 22) 或 RDP (Windows 伺服器連接埠 3389) 可針對傳入流量開啟。 若要取得高可用性,在兩個可用性區域或一個可用性設定組中部署堡壘主機。

您亦可啟用轉接至 VM 的 SSH 代理程式,讓您從堡壘主機轉接認證,存取虛擬網路中的其他 VM。 或使用 SSH 通道存取其他執行個體。

以下是代理程式轉接的範例:

ssh -A -t user@BASTION_SERVER_IP ssh -A root@TARGET_SERVER_IP`

此命令會連線至堡壘主機,並立即再次執行 ssh,所以您可以取得目標執行個體的終端。 若叢集設定不同,可能需要指定使用者,此使用者不同於目標執行個體的根。 -A 引數轉接代理程式連線,以便系統自動使用本機電腦的私密金鑰。 請注意,代理程式轉接為鏈結,因此第二個 ssh 命令也包含 -A,如此一來,從目標執行個體起始的任何後續 SSH 連線也使用本機私密金鑰。

管理層

如名所示,此層用於管理工作。 您可以為管理層分出個別子網路。 此層的服務和伺服器主要用於應用程式的安裝和管理。 因此,伺服器的單一執行個體就足夠使用。 應用程式的高可用性不需備援執行個體。

此層的元件如下:

  • 佈建伺服器 - 此伺服器用於應用程式不同元件的端對端部署。 其透過連接埠 22,與不同層級的執行個體進行通訊,包含資料層中的執行個體。 其裝載適用於 JD Edwards EnterpriseOne 的伺服器管理員主控台。
  • 部署伺服器 - 此伺服器主要為安裝 JD Edwards EnterpriseOne 所需。 安裝流程中,此伺服器會作為所需檔案和安裝套件的中央存放庫。 此軟體會散發或部署至其他伺服器和此伺服器中的用戶端。
  • 開發用戶端 - 此伺服器包含在網路瀏覽器與原生應用程式中執行的元件。

展示層

此層級包含多個元件,如應用程式介面服務 (AIS)、應用程式開發架構 (ADF) 和 JAVA 應用程式伺服器 (JAS)。 此層中的伺服器會與負載平衡器前端的仲介層中的伺服器通訊,該伺服器會根據接收流量的埠號碼和 URL,將流量路由傳送至必要伺服器。 建議為每個伺服器類型部署多個執行個體,已達成高可用性。

以下是此層中的元件:

  • 應用程式介面服務 (AIS) - ASI 伺服器提供 JD Edwards EnterpriseOne 行動企業應用程式和 JD Edwards EnterpriseOne 間的通訊介面。
  • JAVA 應用程式伺服器 (JAS) - JAS 接收來自負載平衡器的要求,並將其傳遞至中介層以執行複雜工作。 JAS 具有執行簡單商務邏輯的能力。
  • BI 發行者伺服器 (BIP) - 此伺服器會依 JD Edwards EnterpriseOne 應用程式收集的資料呈現報告。 您可以根據不同範本,設定和控制報告如何呈現資料。
  • 商務服務伺服器 (BSS) - BBS 可與其他 Oracle 應用程式進行資訊交換與互通性。
  • 即時活動伺服器 (RTE) - RTE 伺服器可讓您設定通知 JDE EnterpriseOne 系統中發生的交易至外部系統。 其使用訂閱者模型,並允許協力廠商系統訂閱事件。 若要負載平衡至兩個 RTE 伺服器的要求,請確定此伺服器位於叢集中。
  • 應用程式開發架構 (ADF) 伺服器 - ADF 伺服器用於執行 Oracle ADF 開發的 JD Edwards EnterpriseOne 應用程式。 此伺服器會部署在具有ADF運行時間的Oracle WebLogic 伺服器上。

中介層

中介層包含邏輯伺服器和批次伺服器。 在此情況下,這兩個伺服器安裝在同一虛擬機器上。 針對生產案例,建議在個別伺服器上部署邏輯伺服器和批處理伺服器。 多部伺服器部署在跨兩個可用性區域的中介層中,以達到高可用性。 應該建立 Azure 負載平衡器,且這些伺服器放置於後端集區,以確保兩個伺服器正在使用和處理要求。

中介層的伺服器僅接收來自展示層伺服器和公開負載平衡器的要求。 網路安全性群組規則必須設定,以拒絕從展示層子網路和負載平衡器以外任何位址的流量。 NSG 規則亦可出於管理用途進行設定,以允許從堡壘主機透過連接埠 22 的流量。 您可以使用公用負載平衡器,在中介層中的 VM 之間負載平衡要求。

下列兩個元件位於中介層:

  • 邏輯伺服器 - 包含商務邏輯或商務函式。
  • 批次伺服器 - 用於批次處理

資料庫層

資料庫層包含應用程式的資料庫執行個體。 資料庫可以是 Oracle Database、Oracle RAC 或 Oracle Exadata 資料庫系統。

若選擇使用 Oracle Database,資料庫執行個體可能透過 Oracle Database 映像部署至 Azure,該映像可於 Azure Marketplace 中取得。 或者,您可以使用 Azure 和 OCI 間互連,以在 OCI 的 PaaS 模型中部署 Oracle Database。

針對 Oracle RAC,您可以在 Paas 模型中使用 OCI。 建議使用雙節點 RAC 系統。 雖然可以在 IaaS 模型中的 Azure CloudSimple 上部署 Oracle RAC,但 Oracle 不支援此設定。 請參閱符合授權雲端環境的 Oracle 程式

最後,針對 Exadata 系統,使用 OCI 互連並在 OCI 中部署 Exadata 系統。 上述架構圖顯示跨兩個子網路在 OCI 中部署 Exadata 系統。

在生產案例中,跨兩個可用性區域 (若在 Azure 中部署) 或兩個可用性網域 (若在 OCI 中部署),部署資料庫的多個執行個體。 使用 Oracle 使用中資料成立條件,以同步主要和待命資料庫。

資料庫層僅接收來自中介層的要求。 建議部署網路安全性群組 (若在 OCI 部署資料庫則為安全性清單),以便基於系統管理原因,接收來自中介層連接埠 1521 和堡壘主機層連接埠 22 的要求。

針對部署在 OCI 的資料庫,必須使用動態路由網路閘道 (DRG) 設定個別虛擬雲端網路,該網路閘道連線至 FastConnect 電路。

身分識別層

Microsoft 與 Oracle 的合作關係可讓您跨 Azure、OCI、您的 Oracle 應用程設定統一的身分識別。 若使用 JD Edwards EnterpriseOne 或 PeopleSoft 應用程式套件,則需要 Oracle HTTP 伺服器 (OHS) 的執行個體,才能設定 Microsoft Entra ID 與 Oracle IDCS 之間的單一登入。

OHS 會做為應用層的反向 Proxy,這表示對一般應用程式提出的所有要求都會通過。 Oracle Access Manager WebGate 是 OHS 的 Web 伺服器外掛程式,可攔截傳送至一般應用程式的每個要求。 如果要存取的資源受到保護 (需要已驗證的工作階段),WebGate 就會透過使用者的瀏覽器,以身分識別雲端服務起始 OIDC 驗證流程。 如需 OpenID Connect WebGate 所支援流程的詳細資訊,請參閱 Oracle Access Manager 文件

在此設定中,已 (透過 Oracle 身分識別雲端服務) 登入 Microsoft Entra ID 的使用者可以瀏覽至 JD Edwards EnterpriseOne 或 PeopleSoft 應用程式,而不需要再次登入。 部署此解決方案的客戶享有單一登入的優點,包括同一組認證、改良的登入體驗、改良的安全性、降低的技術支援中心成本。

若要深入了解如何使用 Microsoft Entra ID 為 JD Edwards EnterpriseOne 或 PeopleSoft 設定單一登入,請參閱相關的 Oracle 白皮書 (英文)。

PeopleSoft

Oracle 的 PeopleSoft 應用程式套件包含人力資源和財務管理的軟體。 應用程式套件為多層式應用程式,包含人力資源管理系統 (HRMS)、客戶關係管理 (CRM)、財務和供應鏈管理 (FSCM) 與企業效能管理 (EPM)。

建議讓軟體套件的每一層部署在其自己的子網中。 Oracle Database 或 Microsoft SQL Server 是應用程式所需的後端資料庫。 本節詳細討論使用 Oracle Database 後端部署 PeopleSoft。

下圖顯示在跨雲端架構中部署 PeopleSoft 應用程式套件的正式架構(圖 5)。

PeopleSoft 跨雲端架構

圖 5:PeopleSoft 跨雲端結構

在此樣本架構中,Azure 中的虛擬網路會使用跨雲端互連,連線至 OCI 中的虛擬雲端網路。 應用程式層在 Azure 中設定,而資料庫在 OCI 中設定。 建議將每個元件部署到具有網路安全組的自有子網,只允許來自特定埠上特定子網的流量。

該結構還可以使用高可用性 Oracle 資料庫,調整為完全在 Azure 上部署,該資料庫使用位於同一區域中,兩個可用性區域中的 Oracle 資料成立條件進行設定。 下圖 (圖 6) 為此結構模式的範例:

PeopleSoft 僅限 Azure 架構

圖 6:僅限 Azure 的 PeopleSoft 結構

下列章節說明高層級的不同元件。

堡壘主機層

堡壘主機為可選用的元件,其可作為跳板伺服器使用,以存取應用程式和資料庫執行個體。 堡壘主機 VM 可使用指派的公用 IP 位址,儘管建議透過內部部署網路設定 ExpressRoute 連線或站對站 VPN,以確保安全存取。 此外,僅有 SSH (Linux 伺服器連接埠 22) 或 RDP (Windows 伺服器連接埠 3389) 可針對傳入流量開啟。 若要取得高可用性,在兩個可用性區域或一個可用性設定組中部署堡壘主機。

您亦可啟用轉接至 VM 的 SSH 代理程式,讓您從堡壘主機轉接認證,存取虛擬網路中的其他 VM。 或使用 SSH 通道存取其他執行個體。

以下是代理程式轉接的範例:

ssh -A -t user@BASTION_SERVER_IP ssh -A root@TARGET_SERVER_IP`

此命令會連線至堡壘主機,並立即再次執行 ssh,所以您可以取得目標執行個體的終端。 若叢集設定不同,可能需要指定使用者,此使用者不同於目標執行個體的根。 -A 引數轉接代理程式連線,以便系統自動使用本機電腦的私密金鑰。 請注意,代理程式轉接為鏈結,因此第二個 ssh 命令也包含 -A,如此一來,從目標執行個體起始的任何後續 SSH 連線也使用本機私密金鑰。

應用程式層

應用程式層包含 PeopleSoft 應用程式伺服器、PeopleSoft 網頁伺服器、彈性搜尋和 PeopleSoft 流程排程器的執行個體。 Azure 負載平衡器會設定使用者的要求,該使用者路由至應用程式層適當伺服器。

若要達成高可用性,考慮跨不同可用性區域,在應用程式層中設定每個伺服器的備用執行個體。 Azure 負載平衡器可設定有多個後端集區,以將每個要求導入正確的伺服器。

PeopleTools 用戶端

PeopleTools 用戶端可用來執行系統管理活動,例如開發、移轉和升級。 由於不需 PeopleTools 用戶端來達成應用程式的高可用性,因此不需要 PeopleTools 用戶端的備援伺服器。

資料庫層

資料庫層包含應用程式的資料庫執行個體。 資料庫可以是 Oracle Database、Oracle RAC 或 Oracle Exadata 資料庫系統。

若選擇使用 Oracle Database,資料庫執行個體可能透過 Oracle Database 映像部署至 Azure,該映像可於 Azure Marketplace 中取得。 或者,您可以使用 Azure 和 OCI 間互連,以在 OCI 的 PaaS 模型中部署 Oracle Database。

針對 Oracle RAC,您可以在 Paas 模型中使用 OCI。 建議使用雙節點 RAC 系統。 雖然可以在 IaaS 模型中的 Azure CloudSimple 上部署 Oracle RAC,但 Oracle 不支援此設定。 請參閱符合授權雲端環境的 Oracle 程式

最後,針對 Exadata 系統,使用 OCI 互連並在 OCI 中部署 Exadata 系統。 上述架構圖顯示跨兩個子網路在 OCI 中部署 Exadata 系統。

在生產案例中,跨兩個可用性區域 (若在 Azure 中部署) 或兩個可用性網域 (若在 OCI 中部署),部署資料庫的多個執行個體。 使用 Oracle 使用中資料成立條件,以同步主要和待命資料庫。

資料庫層僅接收來自中介層的要求。 建議部署網路安全性群組 (若在 OCI 部署資料庫則為安全性清單),以便基於系統管理原因,接收來自中介層連接埠 1521 和堡壘主機層連接埠 22 的要求。

針對部署在 OCI 的資料庫,必須使用動態路由網路閘道 (DRG) 設定個別虛擬雲端網路,該網路閘道連線至 FastConnect 電路。

身分識別層

Microsoft 與 Oracle 的合作關係可讓您跨 Azure、OCI、您的 Oracle 應用程設定統一的身分識別。 若使用 JD Edwards EnterpriseOne 或 PeopleSoft 應用程式套件,則需要 Oracle HTTP 伺服器 (OHS) 的執行個體,才能設定 Microsoft Entra ID 與 Oracle IDCS 之間的單一登入。

OHS 會做為應用層的反向 Proxy,這表示對一般應用程式提出的所有要求都會通過。 Oracle Access Manager WebGate 是 OHS 的 Web 伺服器外掛程式,可攔截傳送至一般應用程式的每個要求。 如果要存取的資源受到保護 (需要已驗證的工作階段),WebGate 就會透過使用者的瀏覽器,以身分識別雲端服務起始 OIDC 驗證流程。 如需 OpenID Connect WebGate 所支援流程的詳細資訊,請參閱 Oracle Access Manager 文件

在此設定中,已 (透過 Oracle 身分識別雲端服務) 登入 Microsoft Entra ID 的使用者可以瀏覽至 JD Edwards EnterpriseOne 或 PeopleSoft 應用程式,而不需要再次登入。 部署此解決方案的客戶享有單一登入的優點,包括同一組認證、改良的登入體驗、改良的安全性、降低的技術支援中心成本。

若要深入了解如何使用 Microsoft Entra ID 為 JD Edwards EnterpriseOne 或 PeopleSoft 設定單一登入,請參閱相關的 Oracle 白皮書 (英文)。

下一步

使用 Terraform 指令碼在 Azure 安裝 Oracle 應用程式,並使用 OCI 建立跨雲端連線能力。

如需 OCI 的詳細資訊和技術白皮書,請參閱 Oracle Cloud 文件。