啟用從 Oracle Cloud ERP 到 Microsoft Azure SQL 資料庫的多雲端整合
Oracle Integration Cloud Service 是一項完全託管的服務,支援多雲端整合架構。
- 無程式碼方式與 Oracle Integration Cloud Service (Oracle Integration) 的原生轉接器,適用於 Oracle Cloud ERP 和 Microsoft Azure SQL Database
- 使用 Oracle Cloud Infrastructure Streaming (OCI Streaming) Service (Oracle 管理的 Kafka Service) 與 Oracle Cloud Infrastructure (OCI) Service (Oracle Integration 中的這個 Oracle Cloud Infrastructure (OCI) 服務所具有的原生轉接器,可將 Oracle Cloud ERP 與 Microsoft Azure SQL 資料庫分離。
-
使用 Oracle Integration 連線代理程式 (即多重雲端整合架構的關鍵啟用程式) 對 Microsoft Azure SQL 資料庫的專用連線。
架構
This reference architecture shows how to enable a multicloud, event-driven and no-code integration solution to receive real-time feeds from Oracle Cloud ERP and send those to a private Microsoft Azure SQL Database, leveraging a component Oracle Integration provides called the connectivity agent, to facilitate on-premises/multicloud integrations.
您可以在下列各節詳述的任何一種模式中使用 Oracle Integration 連線代理程式,在專用 Azure 網路上設定 Oracle Integration 與 Microsoft Azure SQL Database 之間的連線。
從 Oracle Cloud ERP 到 Microsoft Azure SQL Database - 公用網際網路和 Oracle Integration 連線代理程式部署在 Azure 專用網路樣式中的多雲端事件導向饋送
此案例使用 Oracle Integration 連線代理程式與專用 Azure SQL 資料庫進行通訊。
- Oracle Integration 連線代理程式安裝在 VNet 內專用子網路中的 Azure VM 上。Azure 專用連結可連線至專用 Azure SQL 資料庫。專用連結可讓您透過專用端點連線至 Azure SQL 資料庫。
- 在此情況下,代管 Oracle Integration 連線代理程式的 Azure VM 可透過專用端點連線至專用 Azure SQL 資料庫 (停用對 Azure SQL Server 的公用存取),該端點也會在相同的 Azure 虛擬網路 (VNet) 上設定。
- Oracle Integration 連線代理程式會透過單邊上的 Azure NAT 閘道 (與 VNet 內的專用子網路關聯),透過公用網際網路與 Oracle Integration 進行通訊,並透過 Azure 專用端點 (專用連結) 在另一端與專用 Azure SQL 資料庫進行通訊。
- 當 Oracle Integration 內的整合流程使用 Microsoft Azure SQL 資料庫轉接器對其執行動作時 (例如,將 Oracle Cloud ERP 業務事件資料載入 Azure SQL 表格),連線代理程式會起始與 Oracle Integration 的安全連線、擷取要求,然後對專用 Azure SQL 資料庫執行動作。
- 當您使用連線代理程式時,不需要開啟防火牆來存取 Azure 專用網路上的 Azure SQL 資料庫。此外,Azure 專用網路與 Oracle Integration 之間的所有訊息都會經過加密 (SSL)。
下圖說明此參照架構。
oci-multicloud-int-public-internet-oracle.zip
從 Oracle Cloud ERP 到 Microsoft Azure SQL Database 的多雲端事件導向饋送 - Oracle Interconnect for Azure 和部署在 Azure 專用網路樣式中的 Oracle Integration 連線代理程式
- Oracle Integration 連線代理程式安裝在 VNet 內專用子網路上的 Azure VM 上。Azure 專用連結可透過專用端點連線至專用 Azure SQL 資料庫。
- 在此情況下,代管 Oracle Integration 連線代理程式的 Azure VM 可透過專用端點連線至專用 Azure SQL 資料庫 (Azure SQL Server 的公用存取已停用 ),該端點也會在相同的 Azure 虛擬網路 (VNet) 上設定。
- The Oracle Integration Connectivity Agent communicates with Oracle Integration over a secure, private intercloud connection between Azure network and OCI VCN that bypasses the public internet (Oracle Interconnect for Azure).
- In this case, the connectivity agent can access Oracle Integration through an Azure Virtual Network Gateway (associated with the private subnet within the VNet), which in turn connects to an OCI VCN via Oracle Interconnect for Azure (ExpressRoute on the Azure side, and FastConnect on the Oracle Cloud side), and with the private Azure SQL Database through an Azure Private Endpoint (Private Link).
- 當 Oracle Integration 內的整合流程使用 Microsoft Azure SQL 資料庫轉接器對其執行動作時 (例如,將 Oracle Cloud ERP 業務事件資料載入 Azure SQL 表格),連線代理程式會起始與 Oracle Integration 的安全連線、擷取要求,然後對專用 Azure SQL 資料庫執行動作。
- 此外,必須設定 OCI 服務閘道,才能將流量從 VCN 遞送至 Oracle Integration 。此外,您必須在 OCI VCN 上直接透過閘道進行傳輸路由 (OCI VCN 上的路由表必須針對 OCI DRG 連附項和 OCI 服務閘道設定)。這樣一來,流量會透過 VCN 傳輸至 VCN 以外的目的地,例如 Oracle Integration (使用 OCI 服務閘道時,會確保能夠存取 Oracle Cloud Services,例如 Oracle Integration)。
下圖說明此參照架構。
oci-multicloud-interconnect-azure-oracle.zip
從 Oracle Cloud ERP 到 Microsoft Azure SQL Database - Oracle Interconnect for Azure 和部署在 OCI VCN 樣式中的 Oracle Integration 連線代理程式,提供多雲端事件導向饋送
- Oracle Integration 連線代理程式安裝在 OCI VCN 內專用子網路上的 OCI VM 上。此外,必須設定 OCI 服務閘道,才能將流量從 VCN 遞送至 Oracle Integration 。在 Azure 端,Azure 專用連結會連線至專用 Azure SQL 資料庫。專用連結可讓您透過專用端點連線至 Azure SQL 資料庫。
- 在此情況下,在 OCI VCN 內代管 Oracle Integration 連線代理程式的 OCI VM 可透過在 Azure 虛擬網路 (VNet) 上設定的專用端點連線至專用 Azure SQL 資料庫 ( 停用對 Azure SQL Server 的公用存取 )。
- Oracle Integration 連線代理程式 (部署在 OCI VCN 中) 會透過 OCI 服務閘道與 Oracle Integration 進行私密通訊 (使用 OCI 服務閘道時,會確保對 Oracle Cloud Services 的專用存取,例如 Oracle Integration)。
- 另一方面,Oracle Integration 連線代理程式會透過安全、Azure 網路與 OCI VCN 之間的專用網際雲連線 (略過公用網際網路的 Oracle Interconnect for Azure),與專用 Azure SQL 資料庫進行通訊。在此情況下,連線代理程式可以透過 OCI 動態路由閘道 (DRG) 存取專用 Azure SQL 資料庫,然後透過 Oracle Interconnect for Azure (Azure Side 上的 ExpressRoute) 連線至 Azure VNet,然後 Oracle Cloud Side 上的 FastConnect) 會抵達 Azure 虛擬網路閘道 (與 Azure VNet 相關聯),最後透過 Azure VNet 內設定的 Azure 專用端點 (專用連結),連線至專用 Azure SQL 資料庫。
- 當 Oracle Integration 內的整合流程使用 Microsoft Azure SQL 資料庫轉接器對其執行動作時 (例如,將 Oracle Cloud ERP 業務事件資料載入 Azure SQL 表格),連線代理程式會起始與 Oracle Integration 的安全連線、擷取要求,然後對專用 Azure SQL 資料庫執行動作。
下圖說明此參照架構。
oci-multicloud-interconnect-agent-oracle.zip
對於上述各節描述的所有三個樣式:
Oracle Integration 用於:
產生器整合流程
- 透過 Oracle ERP Cloud 原生轉接器 (範例、採購單事件、供應商建立的事件、核准的應付帳款商業發票、完成的日記帳批次過帳等) 從 Oracle Cloud ERP 接收即時資料。
- 強化 Oracle Cloud ERP 事件有效負載,使用 Oracle ERP Cloud 原生轉接器擷取其他事件詳細資訊,例如取得供應商建立事件頂端的額外供應商詳細資訊 - (選擇性,僅適用於少數業務事件)。
- 透過 OCI Streaming 原生轉接器將 Oracle Cloud ERP 業務事件資料發布至 OCI Streaming Private Kafka 串流 / 主題 (例如 PurchaseOrderTopic、SupplierTopic、AccountPayablesTopic 等等) (Oracle Integration 連線使用部署在專用子網路之 OCI VM 中的連線代理程式,此連線可存取 OCI Streaming Private Endpoint 所屬的專用子網路。此連線代理程式會透過 OCI 服務閘道對 Oracle Integration 發出要求,以確保透過內部網路遞送對 Oracle Integration 的存取。
消費者整合流程
- 透過 OCI Streaming 原生轉接器使用來自 OCI Streaming Private Kafka 串流 / 主題 (例如 PurchaseOrderTopic、SupplierTopic、AccountPayablesTopic 等等) 的 Oracle Cloud ERP 業務事件資料。
- 透過 Microsoft Azure SQL 資料庫原生轉接器將 Oracle Cloud ERP 業務事件資料載入專用 Azure SQL 資料庫。
OCI Streaming 與 Oracle Integration 搭配使用可用來:
- 從 Azure SQL Database 解耦 Oracle Cloud ERP ,在下游應用程式 / 系統下降時,將對解決方案的影響降到最低 (此時為 Azure SQL 資料庫)。
- 確保以有效錯誤處理將訊息傳遞至 Azure SQL 資料庫 (如果 Azure SQL Database 已停止運作,您可以使用 OCI Streaming 中的重試 Kafka 主題和死信函 Kafka 主題,重試失敗的訊息,嘗試使用 Oracle Integration 中的重試排定整合來使用失敗的訊息,並嘗試將它們載入 Azure SQL 資料庫)。
- 使用 OCI Streaming 轉接器功能平行處理 Oracle Cloud ERP 業務事件資料,以使用與相同主題關聯之特定分割區的訊息。
- 計量傳送到 Azure SQL 資料庫的要求,因為 OCI Streaming 轉接器允許使用來自特定分割區 / 主題的一或多個記錄,以及控制您從分割區 / 主題使用訊息的頻率。
架構具有下列元件:
Oracle Cloud Infrastructure 元件
- Oracle Cloud ERP
Oracle Cloud ERP 應用程式會顯示 Web 服務、API、業務物件及發布事件。Oracle Integration 內含的 Oracle ERP Cloud 轉接器可讓您連線至 Oracle Cloud ERP 內不同的模組,例如財務、採購、應付帳款、總帳等,而無須瞭解整合的相關特定詳細資訊。Oracle Cloud ERP 業務事件只能透過 Oracle ERP Cloud 轉接器使用。
- Oracle 整合
Oracle Integration 是一項完全託管的服務,可讓您整合應用系統、將流程自動化、深入瞭解業務流程,以及建立視覺化應用系統。
- 連線代理程式
您可以在專用或企業內部部署網路中的應用系統與 Oracle Integration 之間使用連線代理程式建立混合式整合和交換訊息。
- 串流處理
Oracle Cloud Infrastructure Streaming 提供完全託管、可擴展且持久的儲存解決方案,可讓您擷取連續的大量資料串流,以即時使用及處理。您可以使用「串流處理」來擷取大量資料 (例如應用程式日誌、作業遙測、Web 點擊串流資料),或是其他在發布 / 訂閱訊息傳遞模型中以持續且順序方式產生及處理資料的使用案例。
- 區域
Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。
- 可用性網域
可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或冷卻系統或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。
- 網路安全群組 (NSG)
網路安全群組 (NSG) 會成為您雲端資源的虛擬防火牆。有了 Oracle Cloud Infrastructure 的零信任安全模型,系統便會拒絕所有流量,而您可以控制 VCN 內的網路流量。NSG 由一組傳入和傳出安全規則組成,僅適用於單一 VCN 中一組指定的 VNIC。
- 服務閘道
服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。VCN 到 Oracle 服務的流量會透過 Oracle 網路光纖通道,而一律不會周遊網際網路。
- 動態路由閘道 (DRG)
DRG 是一個虛擬路由器,可為 VCN 與區域外部網路之間的 VCN (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、企業內部部署網路或其他雲端提供者中的網路) 之間的專用網路流量提供路徑。
- 路由表
虛擬路由表包含規則,可將流量從子網路遞送至 VCN 外部的目的地,通常透過閘道。
- FastConnect
Oracle Cloud Infrastructure FastConnect 提供一個簡單的方式,在您的資料中心與 Oracle Cloud Infrastructure 之間建立專屬的專用連線。FastConnect 提供與網際網路型連線比較的高頻寬選項,以及更可靠的網路體驗。
- OCI 與 Azure 相互連線
Oracle Cloud 和 Microsoft Azure Interconnect 是 Oracle 首款多雲產品。它在世界各地的特定 Azure 和 Oracle Cloud Infrastructure (OCI) 資料中心之間提供直接網路連線。它可讓 Azure 管理員和開發人員將應用程式連線至在 OCI 中執行的應用系統和服務,而無需建立專屬連結,或在公用網際網路傳送應用程式流量。
Microsoft Azure 元件
- Azure SQL 資料庫
Azure SQL Database 是一個完全受管理的資料庫引擎 (平台即服務),可處理大多數資料庫管理功能,例如升級、打補丁、備份和監控,無需使用者參與。Oracle Integration 內含的 Microsoft SQL Server 轉接器可讓您透過使用 Oracle Integration 連線代理程式,將 Azure 網路防火牆後方的 Microsoft Azure SQL Server 資料庫與 Oracle Integration 整合。使用 Microsoft SQL Server 轉接器輪詢 Oracle Integration 中要處理的新記錄和更新的記錄。
- 虛擬網路 (VNet) 和子網路
VNet 是您在 Azure 中定義的虛擬網路。一個 VNet 可以有多個非重疊的 CIDR 區塊子網路,您可以在建立 VNet 之後新增這些子網路。您可以將 VNet 區隔成子網路,此子網路可設定區域或可用性區域範圍。每個子網路都是由不與 VNet 中其他子網路重疊的連續位址範圍所組成。使用 VNet 以邏輯方式隔離網路層次的 Azure 資源。
- 專用連結 (專用端點)
專用連結可讓您透過專用端點連線至 Azure 中的各種 PaaS 服務 (例如 Azure SQL 資料庫)。專用端點是特定 VNet 和子網路中的專用 IP 位址。
- 虛擬網路閘道
虛擬網路閘道可允許 Azure VNet 與 Azure 外部網路 (透過公用網際網路或使用 ExpressRoute) 之間的流量 (視您指定的閘道類型而定)。
- 路由表
在 Azure 外部的 Azure 子網路、VNets 和網路之間遞送表格直接流量。
- ExpressRoute
Azure ExpressRoute 可讓您設定 VNet 與其他網路之間的專用連線,例如您的內部部署網路或另一個雲端提供者中的網路。ExpressRoute 是較可靠且更快速的替代一般網際網路連線,因為透過 ExpressRoute 的流量不會經由公用網際網路。
建議
從 Oracle Cloud ERP 到 Microsoft Azure SQL Database (透過 Oracle Integration 和 OCI Streaming) 啟用多雲端、事件導向整合解決方案時,請使用下列建議作為起點。您的需求可能與此處所述的架構不同。
- 連線
OCI 和 Azure 內的所有連線都應該透過專用網路建立,亦即:
- 連線至 OCI Streaming 的連線代理程式必須安裝在專用子網路內的 OCI VM 中。
- 您建立的 OCI Streaming Kafka 串流 / 主題應該與部署專用端點的串流集區關聯 (與 OCI VCN 中的專用子網路關聯)。
- 連線至 Azure SQL 資料庫的連線代理程式應安裝在 VNet 專用子網路內的 Azure VM 中。
- 代管「連線代理程式」(部署於 VNet 中的專用子網路) 與 Azure SQL 資料庫的 Azure VM 之間連線,應該透過 Azure 專用連結 (專用端點) 進行連線。
您可以從設定部署在 Azure 專用網路樣式中的公用網際網路和連線代理程式開始,這只需要在 Azure VM 中安裝連線代理程式,並在 Azure 中設定適當的安全設定,即可保證從連線代理程式存取 Oracle Integration 執行處理 (這是透過公用網際網路的 SSL 通訊)。
為了保證此整合架構的端對端專用連線,您可以考慮設定 Azure and Connectivity Agent 在 Azure Private Network 模式中部署的 Oracle Interconnect 或 Oracle Interconnect for 部署在 OCI VCN 模式中的 Azure 和 Connectivity Agent,可使用 Azure 的 Oracle Interconnect,因此 Oracle Integration 與具有 Azure SQL 資料庫專用存取之連線代理程式之間的所有整合交易,都會透過它遞送。
- 限制存取 Oracle Integration 執行處理
設定 Oracle Integration 允許清單 (之前稱為白名單),以限制可存取 Oracle Integration 執行處理的網路。只有來自特定 IP 位址、無類別網域間路由 (CIDR) 區塊的使用者 / 系統,以及您指定的虛擬雲端網路,才能存取 Oracle Integration 執行處理。
在此整合架構中,Oracle Integration 允許清單可限制對 Oracle Integration 執行處理的存取,僅允許 Oracle Cloud ERP 執行個體起始的要求以及與代管連線代理程式之 VM 關聯的 VCN OCID。
- 在高可用性環境中使用連線代理程式
您可以在高可用性環境中使用「連線代理程式」搭配 Oracle Integration 。在不同的主機上安裝連線代理程式兩次。連線代理程式可以水平擴展,藉此為代理程式群組執行多個代理程式的所有優點。這可提升效能並延長容錯移轉的優點。
在此整合架構中,您可以:- 兩個不同 OCI VM 上安裝的兩個連線代理程式 (用於存取 OCI 服務的代理程式)、每個部署在不同容錯域 (位於可用性網域內) 上的 OCI VM,或不同的可用性網域 (雲端區域內)。
- 兩個不同的 Azure VM 上安裝的連線代理程式 (針對存取 Azure Services 的代理程式),每個 Azure VM 部署在不同的 Azure 可用性區域 (在 Azure 區域內) 上。
- VCN (也適用於 Azure VNet)
建立 VCN 時,請根據您計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和每個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。
選取未與要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。
您可以在建立 VCN 之後,變更、新增及移除其 CIDR 區塊。
設計子網路時,請考慮您的流量與安全需求。將特定層或角色內的所有資源連附至相同的子網路,以作為安全界限。
使用區域子網路。
- 網路安全群組 (NSG)
您可以使用 NSG 定義一組套用至特定 VNIC 的輸入和輸出規則。我們建議您使用 NSG 而非安全清單,因為 NSG 可讓您將 VCN 的子網路架構與應用程式的安全需求分開。
在這個整合架構中,NSG 是用來定義 OCI Streaming 與專用端點、代管連線代理程式的 OCI VM 等的輸入和輸出規則。
注意事項
部署此參照架構時,請考量以下各點。
- 擴展性
建立 OCI 串流處理串流 / 主題時,管理員需指定其計畫使用的串流數目。每個「業務網域」可以建立串流 (例如,InvoiceStream、PurchaseOrderStream 等等)。管理員也可以指定其計畫在每個串流 / 主題使用的分割區。分割區可讓您跨多個節點分割訊息以分散串流 / 主題,讓多個用戶以平行方式從串流 / 主題讀取 (在此情況下,您可以在 Oracle Integration 中有多個相同用戶整合流程的複製,而每個複製項目都是使用 OCI Streaming 轉接器作為觸發程式,從不同串流 / 主題分割區進行讀取)。
建立 Oracle Integration 執行處理時,管理員會指定其計畫用於每個執行處理的訊息套件數目。
- 資源限制
請考量您租用戶的最佳做法、依服務區分的限制及區間配額。
- 安全
使用 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 原則控制可存取您的雲端資源 (例如 Oracle Integration 、OCI Streaming 執行處理、OCI Compute 執行處理等等) 的人員,以及可執行的作業。若要保護資料庫密碼或任何其他加密密碼,請考慮使用 OCI 保存庫服務。
- 使用狀態
請依據您的部署需求和區域,考慮使用高可用性選項。這些選項包括將資源分散到區域中的多個可用性網域,以及將資源分散到可用性網域內的容錯域。
容錯域可針對部署在單一可用性網域內的工作負載,提供最佳的抗逆力。若要在應用程式層中使用高可用性,請在不同的容錯域部署應用程式伺服器,然後使用負載平衡器將用戶端流量分配給應用程式伺服器。
- 效能與成本
OCI 提供適用於廣泛應用系統和使用案例的運算資源配置。請小心選擇運算執行處理的資源配置。選取提供最低成本負載最佳效能的資源配置。如果您需要更多效能、記憶體或網路頻寬,可以變更為較大的資源配置。
探索更多
深入瞭解如何透過 Oracle Integration 建立多雲端專用網路連線。
檢閱下列額外資源:
- 影片:以低程式碼整合建置多雲端、事件導向的 PO 饋送解決方案
- Oracle ERP Cloud 配接器功能
- 使用 Oracle Cloud Infrastructure Streaming Service 轉接器與 Oracle Integration
- Microsoft SQL Server 轉接器功能
- 使用 Oracle Integration 建立混合式整合
- 瞭解如何將 Oracle Cloud 與 Microsoft Azure 互相連線
- 連線代理程式
- 限制 Oracle Integration 的存取
- 保護串流
- Oracle Cloud Infrastructure 的最佳做法架構
- Oracle Cloud Infrastructure 文件
- Oracle Cloud 費用預估工具


