在 Oracle Database@Azure 上導入 Oracle Exadata Database Service 的跨區域災難復原
設計應用程式時,必須建立健全的災害復原機制,以便在發生停機時回復作業,以確保業務連續性。
多年來,客戶信任 Oracle Exadata Database Service 使用 Oracle Maximum Availability Architecture (MAA) 在內部部署和 Oracle Cloud Infrastructure (OCI) 上運作關鍵任務應用程式。Oracle Database@Azure 上的 Oracle Exadata Database Service 在 OCI 上提供 Exadata 的功能性和價格同位檢查,可以跨多個 Microsoft Azure 可用性區域 (AZ) 和區域進行部署,以確保高可用性和災害復原。
架構
This architecture shows a high-availability, containerized Azure Kubernetes Service (AKS) application with Oracle Exadata Database Service on Oracle Database@Azure in a cross-region, disaster recovery topology.
高可用性、容器化的 Azure Kubernetes Service (AKS) 應用程式部署於兩個 Azure 區域:主要區域和待命區域。容器映像檔儲存在 Azure 容器登錄中,並且在主要和待命區域之間複製。使用者可透過公用負載平衡器從外部存取應用程式。
為了提供資料保護,Oracle Database 是在主要區域的 Exadata 虛擬機器 (VM) 叢集中執行,並且 Oracle Data Guard 或 Oracle Active Data Guard 會將資料複製到待命區域中 Exadata VM 叢集上執行的待命資料庫。
資料庫通透資料加密 (TDE) 金鑰儲存在 Oracle Cloud Infrastructure Vault 中,並在 Azure 和 OCI 區域之間複製。主要和待命區域的自動備份都在 OCI 中。客戶可以使用 Oracle Cloud Infrastructure Object Storage 或 Oracle Database Autonomous Recovery Service 作為偏好的儲存解決方案。
Oracle Database@Azure 網路上的 Oracle Exadata Database Service 使用由 Oracle 管理的動態路由閘道 (DRG) 連線至 Exadata 用戶端子網路。另外還需要 DRG 才能在不同區域的 VCN 之間建立對等連線。由於 OCI 中每個 VCN 只允許有一個 DRG,因此需要第二個具有自己的 DRG 的 VCN,才能連接每個區域中的主要和待命 VCN。在本範例中:
- 主要 Exadata VM 叢集部署在 VCN 主要 VCN 從屬端子網路 (10.5.0.0/24) 中。
- 傳輸網路的 Hub VCN 主要 VCN 為 10.15.0.0/29。
- 待命 Exadata VM 叢集部署在 VCN 待命 VCN 從屬端子網路 (10.6.0.0/24) 中。
- 傳輸網路的 Hub VCN 待命 VCN 為 10.16.0.0/29。
Hub VCN 不需要任何子網路才能啟用傳輸路由,因此這些 VCN 可以使用非常小的網路。在為主要和待命資料庫建立 Oracle Database@Azure 上的 Oracle Exadata Database Service VM 叢集之後,會建立 OCI 子項網站上的 VCN。
下列圖表說明架構:
Microsoft Azure 提供下列元件:
- Microsoft Azure 區域
Azure 區域是一個地理區域,其中一或多個實體 Azure 資料中心,稱為可用性區域。區域與其他區域無關,且遠距離可加以區分 (跨國家,甚至是大陸)。
Azure 和 OCI 區域都是本地化的地理區域。若為 Oracle Database@Azure,Azure 區域會連線至 OCI 區域,Azure 中的可用性區域 (AZ) 會連線至 OCI 中的可用性網域 (AD)。選取 Azure 和 OCI 區域組以將距離和延遲降到最低。
- Microsoft Azure 可用性區域
可用性區域是設計為具有高可用性和容錯能力的區域內實體獨立的資料中心。可用性區域接近時已足以與其他可用性區域建立低延遲連線。
- Microsoft Azure 虛擬 Netwok
Microsoft Azure Virtual Network (VNet) 是 Azure 中專用網路的基礎建置區塊。VNet 可啟用許多類型的 Azure 資源,例如 Azure 虛擬機器 (VM),以安全的方式相互通訊、網際網路和內部部署網路。
- Microsoft Azure 委派子網路
子網路委派可讓您將受管理的服務 (特別是平台即服務 (PaaS) 服務) 直接插入您的虛擬網路中。委派子網路可以是虛擬網路內外部管理服務的本位目錄,即使是外部 PaaS 服務,外部服務也可以作為虛擬網路資源。
- Microsoft Azure VNIC
Azure 資料中心中的服務具有實體網路介面卡 (NIC)。虛擬機器執行處理會使用與實體 NIC 關聯的虛擬 NIC (VNIC) 進行通訊。每個執行處理都有一個主要 VNIC,此 VNIC 會在啟動時自動建立並連附,可在執行處理使用期間使用。
- Microsoft Azure 路由表
虛擬路由表包含規則,可將流量從子網路遞送至 VNet 以外的目的地,通常透過閘道。路由表與 VNet 中的子網路關聯。
- Azure 虛擬網路閘道
Azure Virtual Network Gateway 服務會在 Azure 虛擬網路與內部部署網路之間建立安全、跨企業內部部署的連線。它可讓您建立跨資料中心和 Azure 的混合網路。
Oracle Cloud Infrastructure 提供下列元件:
- 地區
Oracle Cloud Infrastructure 區域是一個本地化地理區域,其中包含一或多個代管可用性網域的資料中心。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。
- 可用性網域
可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,提供容錯能力。可用性網域不共用基礎架構 (例如電源或冷卻系統) 或內部可用性網域網路。因此,一個可用性網域發生故障不應影響區域中的其他可用性網域。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路一樣,VCN 也可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後加以變更。您可以將 VCN 分割成子網路,子網路可以限定為區域或可用性網域。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用或專用。
- 路由表
虛擬路由表包含規則,可將流量從子網路路由至 VCN 外部的目的地,通常透過閘道。
- 安全清單
您可以為每個子網路建立安全規則,以指定允許進出子網路的來源、目的地和流量類型。
- 動態路由閘道 (DRG)
DRG 是一個虛擬路由器,可在 VCN 與區域外部網路之間 (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、內部部署網路或其他雲端提供者中的網路) 提供相同區域 VCN 之間的專用網路流量路徑。
- 服務閘道
服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。從 VCN 到 Oracle 服務的流量會透過 Oracle 網路結構傳送,不會周遊網際網路。
- 本地對等互連
本機對等互連可讓您對一個 VCN 與同一個區域中的另一個 VCN 對等互連。對等互連表示 VCN 使用私有 IP 位址進行通訊,而無需流量會周遊網際網路或透過內部部署網路進行路由。
- 網路安全群組 (NSG)
NSG 是雲端資源的虛擬防火牆。透過 Oracle Cloud Infrastructure 的零信任安全模型,您可以控制 VCN 中的網路流量。NSG 由一組傳入和傳出安全規則組成,僅適用於單一 VCN 中一組指定的 VNIC。
- 物件儲存
OCI Object Storage 可讓您存取任何內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及影像和影片等豐富內容。您可以直接從網際網路或雲端平台內安全地儲存資料。您可以擴展儲存體,而不會發生任何效能或服務可靠性的降低問題。
針對您需要快速、立即和經常存取的「熱」儲存,使用標準儲存。針對長時間保留且極少或極少存取的「冷」儲存,使用封存儲存。
- 資料保全
Oracle Data Guard 和 Oracle Active Data Guard 提供一組全方位服務,可建立、維護、管理及監控一或多個待命資料庫,讓生產環境 Oracle 資料庫維持可用狀態,無須中斷。Oracle Data Guard 會使用記憶體內複製,將這些待命資料庫當作生產資料庫的複本來維護。如果生產資料庫因計畫性或非計畫性停機而無法使用,Oracle Data Guard 可以將任何待命資料庫切換至生產環境角色,將停機時間降到最低。Oracle Active Data Guard 提供額外功能,可將讀取幾乎工作負載卸載至待命資料庫,同時提供進階資料保護功能。
- Oracle Database 自治式復原服務
Oracle Database Autonomous Recovery Service 是保護 Oracle 資料庫的 Oracle Cloud 服務。OCI 資料庫的備份自動化和增強型資料保護功能可讓您將所有備份處理和儲存需求卸載至 Oracle Database Autonomous Recovery Service ,以降低備份基礎架構成本和手動管理負荷。
- Exadata 資料庫服務
Oracle Exadata 是一個企業資料庫平台,以高效能、可用性和安全性執行 Oracle Database 的各種規模和重要性工作負載。Exadata 的橫向擴展設計採用獨特的最佳化功能,讓交易處理、分析、機器學習和混合工作負載的執行速度更快且更有效率。在企業資料中心的 Exadata 平台、Oracle Cloud Infrastructure (OCI) 和多雲端環境中整合各種 Oracle Database 工作負載,有助於組織提高營運效率、降低 IT 管理並降低成本。
讓您能夠在雲端中運用 Exadata 的強大功能。Oracle Exadata Database Service 在公有雲中針對特定用途建立的最佳化 Oracle Exadata 基礎架構,提供經實證的 Oracle Database 功能。針對所有 Oracle Database 工作負載,內建雲端自動化、彈性資源擴展、安全性和快速效能,可協助您簡化管理並降低成本。
- Oracle Database@Azure,基礎架構即服務
Oracle Database@Azure 是在 Oracle Cloud Infrastructure (OCI) 上執行的 Oracle Database 服務 (Oracle Exadata Database Service on Dedicated Infrastructure 和 Oracle Autonomous Database Serverless),部署在 Microsoft Azure 資料中心。此服務提供 OCI 的功能和價格同等性。在 Azure Marketplace 購買此服務。
Oracle Database@Azure 將 Oracle Exadata Database Service 、Oracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard 技術整合至 Azure 平台。使用者可以在 Azure 主控台和 Azure 自動化工具管理服務。此服務部署在 Azure Virtual Network (VNet) 中,並與 Azure 識別和存取管理系統整合。Azure 原生提供 OCI 和 Oracle Database 一般指標和稽核日誌。此服務需要使用者擁有 Azure 訂閱和 OCI 租用戶。
Autonomous Database 建置在 Oracle Exadata 基礎架構上,具備自我管理、自我保護及自我修復等功能,有助於免除手動資料庫管理和人為錯誤。Autonomous Database 可使用您選擇的大型語言模型 (LLM) 和部署位置,使用內建 AI 功能,開發具備任何資料的可擴充 AI 應用程式。
Oracle Exadata Database Service 和 Oracle Autonomous Database Serverless 皆透過原生 Azure 入口網站輕鬆佈建,能夠存取更廣泛的 Azure 生態系統。
建議
- 在主要和待命區域部署所需的 Exadata 基礎架構。對於每個 Exadata 執行處理,請在 Microsoft Azure 虛擬網路 (VNet) 的委派子網路中部署 Exadata VM 叢集。然後就可以在叢集上建立 Oracle Real Application Clusters (RAC) 資料庫。在相同的 VNet 中,在個別的子網路中部署 Azure Kubernetes Service (AKS)。設定 Oracle Data Guard 以將資料從一個 Oracle Database 複製到另一個跨區域。
- 在 Oracle Database@Azure 子項網站中建立 Exadata VM 叢集時,每個叢集都會在自己的 Oracle Cloud Infrastructure 虛擬雲端網路 (VCN) 內建立。Oracle Data Guard 要求資料庫必須相互通訊才能傳送重做資料。必須對等互連 VCN 才能啟用此通訊。
注意事項
在 Oracle Database@Azure 上為 Oracle Exadata Database Service 執行跨區域災害復原時,請考慮下列事項:
- 若要準備災難情況,必須採用全方位的方法來考量不同的業務需求和可用性架構,並且涵蓋可行的高可用性 (HA)、災難復原 (DR) 計畫中的那些考量。此處所述的案例提供使用簡單但有效的容錯移轉,在 Oracle Cloud Infrastructure (OCI) 和 Microsoft Azure 環境中進行災害復原組態,以協助選取最適合您應用程式部署的方法。
- 使用 OCI 管理的網路,在 Oracle Database@Azure 上佈建於 Exadata VM 叢集之資料庫的各個區域使用 Oracle Data Guard 。
- Oracle Cloud Infrastructure 是首款 10 TB/ 每月免費,可實現更佳效能、按延遲和輸送量測量,並降低成本的首選網路。
部署
若要設定上述架構圖中顯示區域之間的網路通訊,請完成下列高階步驟。
主要區域
- 在 Oracle Cloud Infrastructure (OCI) 主要區域中建立虛擬雲端網路 (VCN)、 HUB VCN 主要。
- 分別在 VCN 主要和 HUB VCN 主要部署兩個本機對等互連閘道 (LPG)、 Primary-LPG 和 HUB-Primary-LPG 。
- 在 HUB VCN 主要和 VCN 主要的 LPG 之間建立對等 LPG 連線。
- 在 Hub VCN 主要 VCN 中建立動態路由閘道 (DRG),主要 -DRG 。
- 在 HUB VCN 主要 VCN 中,建立路由表 primary_hub_transit_drg ,然後指定 VCN 主要從屬端子網路的目的地、 LPG 的目標類型,以及目標 HUB-Primary-LPG 。舉例而言:
10.5.0.0/24 target type: LPG, Target: Hub-Primary-LPG
- 在 HUB VCN 主要 VCN 中,建立第二個路由表 primary_hub_transit_lpg ,然後指定 VCN 待命從屬端子網路的目的地、目標類型 DRG ,以及目標 Primary-DRG 。舉例而言:
10.6.0.0/24 target type: DRG, Target: Primary-DRG
- 從 Hub VCN 主要 VCN,將 Hub VCN 主要連附至 DRG。編輯 DRG VCN 連附項,在進階選項底下編輯 VCN 路由表頁籤,將其與 primary_hub_transit_drg 路由表關聯。此組態允許傳輸路由。
- 從 Hub VCN 主要 VCN,將 primary_hub_transit_lpg 路由表與 Hub-Primary-LPG 閘道建立關聯。
- 在 Hub VCN 主要預設路由表中,為 VCN 主要從屬端子網路 IP 位址範圍新增路由規則,以使用 LPG。為 VCN 待命從屬端子網路 IP 位址範圍新增另一個路由規則,以使用 DRG。舉例而言:
10.5.0.0/24 LPG Hub-Primary-LPG 10.6.0.0/24 DRG Primary-DRG
- 從主要 DRG 中,選取 DRG 路由表、用於 RPC、VC 及 IPSec 附件的自動產生 DRG 路由表。將靜態路由新增至 VCN 主要子網路從屬端 IP 位址範圍,該範圍使用下一個躍點連附項類型為 VCN 的 VCN 和下一個躍點連附項名稱為主要中心連附項的 Hub VCN 主要 VCN。舉例而言:
10.5.0.0/24 VCN Primary Hub attachment
- 使用 Primary-DRG 遠端對等互連連線附件功能表,建立遠端對等互連連線 RPC 。
- 在 VCN 主要從屬端子網路中,更新網路安全群組 (NSG) 以建立允許輸入 TCP 連接埠 1521 的安全規則。您可以選擇新增 SSH 連接埠 22,以直接透過 SSH 存取資料庫伺服器。
附註:
如需更精確的組態,請停用 RPC、VC 及 IPSec 附件的自動產生 DRG 路由表的匯入路由分配。若為針對 VCN 連附項自動產生的 DRG 路由表,請建立並指定新的匯入路由分配,包括僅包含必要的 RPC 連附項。
待命區域
- 在 OCI 待命區域中建立 VCN HUB VCN 待命。
- 分別在 VCN 待命和 HUB VCN 待命 VCN 中部署兩個 LPG 待命 LPG 和 HUB-Standby-LPG 。
- 在 VCN 待命和 HUB VCN 待命的 LPG 之間建立對等 LPG 連線。
- 在 Hub VCN Standby VCN 中建立 DRG 待命 DRG 。
- 在 HUB VCN Standby VCN 中,建立一個路由表 standby_hub_transit_drg ,並指定 VCN 待命 從屬端子網路的目的地、目標類型 LPG 以及目標 HUB-Standby-LPG 。舉例而言:
10.6.0.0/24 target type: LPG, Target: Hub-Standby-LPG
- 在 HUB VCN 待命 VCN 中,建立第二個路由表 standby_hub_transit_lpg 並指定 VCN 主要從屬端子網路、目標類型 DRG 以及目標 Standby-DRG 的目的地。舉例而言:
10.5.0.0/24 target type: DRG, Target: Standby-DRG
- 從 HUB VCN 待命 VCN,將 HUB VCN 待命 VCN 連附至 DRG。編輯 DRG VCN 連附項及在進階選項底下,編輯 VCN 路由表以將其與 standby_hub_transit_drg 路由表關聯。此組態允許傳輸路由。
- 從 HUB VCN 待命 VCN,在 HUB VCN 待命預設路由表中,為 VCN 待命從屬端子網路 IP 位址範圍新增路由規則,以使用 LPG,為 VCN 主要從屬端子網路 IP 位址範圍新增路由規則,以使用 DRG。舉例而言:
10.6.0.0/24 LPG Hub-Standby-LPG 10.5.0.0/24 DRG Standby-DRG
- 將路由表 standby_hub_transit_lpg 與 Hub-Standby-LPG 閘道建立關聯。
- 從待命 DRG 中,選取 DRG 路由表 RPC、VC 及 IPSec 附件的自動產生 Drg 路由表。將靜態路由新增至 VCN 待命子網路從屬端 IP 位址範圍,該範圍使用下一個躍點連附類型為 VCN 的 Hub VCN 待命 VCN,以及下一個躍點連附項名稱待命中心連附項。舉例而言:
10.6.0.0/24 VCN Standby Hub attachment
- 使用 Standby-DRG 遠端對等互連連線連附項功能表來建立遠端對等互連連線 RPC 。
- 選取遠端對等互連連線,選取建立連線,然後提供主要 DRG OCID。對等互連狀態會變成對等互連狀態。兩個區域都已連線。
- 在 VCN 待命從屬端子網路中,更新 NSG 以建立安全規則以允許輸入 TCP 連接埠 1521。您可以選擇新增 SSH 連接埠 22,以直接透過 SSH 存取資料庫伺服器。
資料保全關聯
- 若要為 Oracle Database 啟用 Oracle Data Guard 或 Oracle Active Data Guard,請在 Oracle Database 詳細資訊頁面上按一下「資料保全關聯」,然後按一下啟用資料保全。
- 在「啟用資料保全」頁面上:
- 選取待命區域。
- 選取對應至 Azure AZ 的待命可用性網域。
- 選取待命 Exadata 基礎架構。
- 選取想要的待命 VM 叢集。
- 選擇 Oracle Data Guard 或 Oracle Active Data Guard。MAA 建議 Oracle Active Data Guard 自動區塊修復資料損毀,以及卸載報告的能力。
- 若為跨區域 Oracle Data Guard 關聯,則只支援最大效能保護模式。
- 選取現有的資料庫本位目錄或建立一個資料庫本位目錄。建議在待命資料庫本位目錄使用主要資料庫的相同資料庫軟體映像檔,讓兩者都提供相同的修正程式。
- 輸入 SYS 使用者的密碼,並啟用 Oracle Data Guard 。
啟用 Oracle Data Guard 之後,待命資料庫就會列在「資料保全關聯」段落中。
- (選擇性) 在個別的 VM 上安裝 Data Guard Observer (最好是在個別的位置或應用程式網路中),啟用自動容錯移轉 (快速啟動容錯移轉) 以縮短失敗時的復原時間。