使用 Azure Arc,將內部部署和多雲端環境中 SQL Server 執行個體的管理進行最佳化

Azure
Azure Arc
Azure Kubernetes Service (AKS)
Azure Resource Manager
Azure SQL 受控執行個體

此參考架構說明如何使用 Azure Arc 來管理、維護和監視內部部署和多重雲端環境中的 SQL Server 實例。

架構

Diagram illustrating different scenarios that leverage Azure Arc to optimize administration of SQL Server instances residing on-premises or hosted by third-party cloud providers. The first group of scenarios consists of SQL Server instances running on physical servers or virtual machines. The second group of scenarios comprises on-premises, third-party cloud hosted Kubernetes clusters, or Azure Kubernetes Service clusters running on Azure Stack HCI, with Azure Arc data controller serving as an intermediary management layer. All of these scenarios offer integration with a range of Azure services, such as Azure Monitor and Log Analytics, Azure Policy, Microsoft Defender for Cloud, and Microsoft Sentinel.

下載此架構的 Visio 檔案

元件

此架構包含下列元件和功能:

  • SQL Server。 此資料平臺可讓您選擇各種開發語言、資料類型、內部部署或雲端環境,以及作業系統。
  • Azure Arc 。此雲端式服務會將以 Azure Resource Manager 為基礎的管理模型延伸至非 Azure 資源,包括虛擬機器(VM)、Kubernetes 叢集和容器化資料庫。
  • 已啟用 Azure Arc 的伺服器 。 此混合式服務可讓您管理裝載于 Azure 外部、公司網路或其他雲端提供者上的 Windows 和 Linux 機器。 這類似于您管理原生 Azure VM 的方式。
  • 已啟用 Azure Arc 的 SQL Server 。 已啟用 Azure Arc 的這部分伺服器會將 Azure 服務延伸至 SQL Server 實例,這些實例裝載于客戶資料中心、邊緣或多重雲端環境中 Azure 外部的 SQL Server 實例。
  • Kubernetes 這是可攜式、可延伸的開放原始碼平臺,用於管理和協調容器化工作負載。
  • Azure Kubernetes Service 。 這是一項服務,可讓您輕鬆地在 Azure 中部署受控 Kubernetes 叢集。
  • Azure Stack HCI (20H2) 。 這是超融合式基礎結構 (HCI) 叢集解決方案,可裝載混合式內部部署環境中的虛擬化 Windows 和 Linux 作業系統 (OS) 工作負載及其儲存體。 叢集包含兩到 16 個實體節點。
  • Azure Stack HCI 上的 Azure Kubernetes Service。 這是 AKS 的實作,可自動在 Azure Stack HCI 上大規模執行容器化應用程式。
  • 已啟用 Azure Arc 的 Kubernetes 。 此混合式服務可讓您簡化 Azure 內部或外部 Kubernetes 叢集的部署和管理。
  • 已啟用 Azure Arc 的資料服務 。 此混合式服務可讓您使用 Kubernetes 和您選擇的基礎結構,在內部部署、邊緣和公用雲端中執行 Azure 資料服務。
  • Azure SQL 受控執行個體。 這個智慧型、可擴充的雲端資料庫服務結合了最廣泛的 SQL Server 資料庫引擎相容性,以及完全受控且常青平臺即服務的所有優點。
  • 已啟用 Azure Arc SQL 受管理執行個體 。 您可以在您選擇的基礎結構上建立此 Azure SQL 資料服務,以裝載已啟用 Azure Arc 的資料服務。
  • Azure Resource Manager。 Azure Resource Manager 是 Azure 的部署與管理服務。 其提供一個管理層,讓您能夠在 Azure 帳戶中建立、更新及刪除資源。 您可以使用存取控制、鎖定和標籤等管理功能,在部署後保護您的資源並加以組織。
  • Azure 監視器。 此雲端式服務藉由提供完整的解決方案,從 Azure 和非 Azure 位置收集、分析及處理遙測,將應用程式和服務的可用性和效能最大化。
  • Log Analytics。 這是Azure 入口網站中用來撰寫記錄查詢及以互動方式分析其結果的主要工具。
  • Microsoft Sentinel 。 這是可調整、雲端原生、安全性資訊事件管理 (SIEM) 和安全性協調流程自動化回應 (SOAR) 解決方案。
  • 適用於雲端的 Microsoft Defender 。 此整合的基礎結構安全性管理系統可強化資料中心的安全性狀態,並在混合式工作負載之間提供進階威脅防護。
  • Azure 備份。 Azure 備份服務提供簡單、安全且符合成本效益的解決方案來備份您的資料,並從 Microsoft Azure 雲端進行復原。

案例詳細資料

此架構的典型用法包括:

  • 使用 Azure 監視器評估已啟用 Azure Arc 的 SQL Server 組態、可用性、效能和合規性。
  • 使用 適用於雲端的 Microsoft Defender 和 Microsoft Sentinel 偵測並補救以已啟用 Azure Arc 的 SQL Server 為目標的安全性威脅。
  • 在內部部署和多重雲端環境中,在已啟用 Azure Arc 的 Kubernetes 上自動部署和管理已啟用 Azure Arc 的SQL 受管理執行個體。
  • 在 Azure Stack HCI 上的 Azure Kubernetes Service (AKS) 上自動化已啟用 Azure Arc 的部署和管理SQL 受管理執行個體。

建議

下列建議適用于大部分案例。 除非您有覆寫建議的特定需求,否則請遵循這些建議。

使用 Azure 服務評估、監視及優化已啟用 Azure Arc 之 SQL Server 實例的效能、可用性、合規性和安全性

如果沒有一致、統一的作業和管理模型,管理 SQL Server 的個別實例可能會導致顯著的額外負荷成本。 若沒有一組適當的工具,您需要進階技能和持續努力,以識別和維護高效能、復原且安全的 SQL Server 組態。 隨著商務技術環境的發展和日益複雜,在內部部署資料中心、多個公用和私人雲端以及邊緣的不同硬體上執行多個 SQL Server 實例時,解決這些挑戰特別重要。

您可以使用已啟用 Azure Arc 的 SQL Server 實例,這些實例裝載于位於 Azure 外部的實體和虛擬機器上,這些實例是在本機安裝連線電腦代理程式的情況下執行 Windows 或 Linux 作業系統。 當您向 Azure 註冊 SQL Server 實例時,代理程式會自動安裝。 Azure Arc 會使用代理程式來建立非 Azure 資源與 Azure 之間的邏輯連線。 建立此連線之後,非 Azure 資源會自動成為混合式 Azure 資源,其本身的身分識別和 Azure Resource Manager 資源識別碼。 Azure Resource Manager 作為管理介面,可讓您建立、修改及刪除 Azure 資源。 啟用非 Azure 資源後,您可以使用 Azure Resource Manager 來協助實作其他 Azure 服務,以增強 SQL Server 實例的管理性。

注意

安裝 Azure 連線電腦代理程式也是已啟用 Azure Arc 的伺服器實作的一部分。 實際上,在已啟用 Azure Arc 的伺服器上實作已啟用 Azure Arc 的 SQL Server 時,不需要安裝它。

滿足已啟用 Azure Arc 之 SQL Server 的所有 必要條件 之後,包括 Log Analytics 代理程式的安裝,您會自動選擇使用下列 Azure 功能:

  • 已啟用 Azure Arc 的隨選 SQL 評定 SQL Server。 評量依賴 Log Analytics 代理程式來收集相關資料,並將其上傳至您指定的 Log Analytics 工作區。 透過上傳至工作區的記錄,SQL Server 評定 Log Analytics 解決方案會管理資料分析,並可讓您直接在Azure 入口網站 中檢閱其 結果。 每當適用時,解決方案也會提供有關潛在改進的建議。 分析的結果分為四個類別:評定品質、安全性與合規性、可用性和持續性,以及效能和延展性。 Log Analytics 代理程式會定期掃描更新,並自動將其上傳至 Log Analytics 工作區,以確保您正在檢閱的結果是最新的。

注意

Log Analytics 代理程式通常稱為 Microsoft Monitoring Agent (MMA)。

  • 已啟用 Azure Arc 的 SQL Server 進階資料安全性。 這項功能可協助您偵測並補救已啟用 Azure Arc 的 SQL Server 實例的安全性異常和威脅。 如同隨選 SQL 評定,若要啟用已啟用 Azure Arc 的 SQL Server,您必須在裝載 SQL Server 實例的伺服器上安裝 Log Analytics 代理程式。 您也必須啟用適用於雲端的 Microsoft Defender的適用於雲端的 Microsoft Defender功能,以自動定義資料收集的範圍並加以分析。 您可以在 適用於雲端的 Microsoft Defender 中檢閱此分析的結果,並在上線 Microsoft Sentinel 之後 ,使用它直接在Azure 入口網站中進一步調查安全性警示。

在內部部署和多重雲端環境中自動部署和管理已啟用 Azure Arc 的SQL 受管理執行個體

已啟用 Azure Arc SQL 受管理執行個體會成為在已啟用 Azure Arc 的資料服務上執行的容器化部署。 若要裝載您的部署,您可以使用下列選項:

  • 已啟用 Azure Arc 的 Kubernetes 叢集上已啟用 Azure Arc 的資料服務。 已啟用 Azure Arc 的 Kubernetes 支援在虛擬或實體伺服器上裝載于雲端或內部部署環境中的各種 Kubernetes 散發套件。
  • Azure Arc 在裝載于內部部署實體 Azure Stack HCI 叢集的 AKS 叢集上啟用資料服務。

這兩個選項都支援對等的 SQL Server 相關功能,因為這些功能依賴已啟用 Azure Arc 的資料服務層。 不過,使用 Azure Stack HCI 時,您應該實作 AKS,因為這可簡化 Kubernetes 基礎結構及其工作負載的實作和管理。

已啟用 Azure Arc 的 azure Arc SQL 受管理執行個體提供 與最新 SQL Server 資料庫引擎的近 100% 相容性 。 這有助於透過最少的應用程式和資料庫變更,將移轉至已啟用 Azure Arc 的資料服務。

已啟用 Azure Arc 的 azure Arc SQL 受管理執行個體依賴 Azure Arc 資料控制器來建立和維護與 Azure Resource Manager 控制平面的邏輯連線。 資料控制器會成為在本機 Kubernetes 或 AKS 叢集中執行的 Pod 群組。 Pod 會協調SQL 受管理執行個體管理和作業工作,例如布建和取消布建、自動容錯移轉、更新、調整、備份和還原,以及監視。

規劃已啟用 Azure Arc 的資料服務時,您必須決定資料控制者是否會在直接連線或間接連線連線模式 運作。 您的決策對於管理功能和傳送至 Azure 的資料量具有重要影響。 如果已啟用 Azure Arc 的資料服務直接連線到 Azure,您可以使用標準 Azure Resource Manager 型介面和工具來管理它們,包括Azure 入口網站、Azure 命令列介面 (Azure CLI) 或 Azure Resource Manager 範本。 如果已啟用 Azure Arc 的資料服務間接連線到 Azure,則 Azure Resource Manager 會提供其唯讀清查。 同樣地,如果您想要提供已啟用 Azure Arc 的資料服務,以支援 Microsoft Entra ID、Azure 角色型存取控制 (Azure RBAC),或將它們與這類 Azure 服務整合,例如適用於雲端的 Microsoft Defender、Azure 監視器或Azure 備份,則需要直接連線模式。

警告

間接連線連線模式需要最少的資料量才能傳遞到 Azure,以便每月至少一次清查和計費。

雖然間接連線模式提供精簡的功能,但它可讓您容納一系列無法使用直接連線模式的案例。 例如,這適用于因為商務或法規需求或擔心外部攻擊或資料外流而封鎖直接外部連線的內部部署資料中心。 它也支援邊緣月臺位置,但網際網路的連線有限或沒有直接連線。

已啟用 Azure Arc 的一組常見功能SQL 受管理執行個體包括:

  • 支援自動更新。 Microsoft 經常透過 Microsoft Container Registry (MCR) 提供已啟用 Azure Arc 的資料服務的更新。 這包括維護修補程式和新功能,並提供與 Azure 受控資料服務類似的體驗。 不過,您可以控制部署排程和步調。
  • 彈性規模。 容器架構原本就支援彈性規模,但有取決於基礎結構容量的限制。 這項功能可容納具有變動性需求的高載案例,包括即時擷取和查詢資料,且具有次秒回應時間。
  • 自助式布建。 使用以 Kubernetes 為基礎的協調流程,您可以使用圖形化介面或 Azure CLI 工具,以秒為單位布建資料庫。
  • 彈性的監視和管理。 啟用 Azure Arc SQL 受管理執行個體後,您可以從 Kubernetes API 收集及分析記錄和遙測,並使用 Kibana 和 Grafana 儀表板實 本機監視。 您也可以使用數個標準 SQL Server 管理工具,包括 Azure Data Studio 和 Azure CLI,以及 Helm 和 kubectl 等 Kubernetes 管理工具,布建和管理 SQL 受管理執行個體已啟用 Azure Arc 的 Azure Arc。

此外,由於已啟用 Azure Arc SQL 受管理執行個體在已啟用 Azure Arc 的 Kubernetes 或 Azure Stack HCI 上的 AKS 上執行,因此您也可以使用其管理、安全性和合規性功能,包括:

  • 針對 Kubernetes 使用 Azure 原則,以及對應原則合規性的集中式報告,以支援強制執行執行時間原則。 例如,這可讓您在 Kubernetes 叢集中強制執行 HTTPS 輸入,或確保容器只接聽允許的埠。
  • 支援使用 GitOps 部署 Kubernetes 和 AKS 組態。 GitOps 是自動化部署位於 Git 存放庫中之程式碼的做法。 在此案例中,程式碼描述 Kubernetes 或 AKS 組態的預期狀態。 您可以選擇使用 Azure 原則 來強制執行特定 GitOps 型設定,這也會提供對應原則合規性的集中式報告。

警告

確認您想要在生產環境中使用的 Azure Arc 功能可供使用。

考量

Microsoft Azure Well-Architected Framework 是一組參考架構中遵循的指導原則。 下列考慮會包含在這些原則的內容中。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素 概觀。

  • Azure Arc 可協助將內部部署管理和監視系統的需求降到最低甚至消除,這可降低作業複雜度和成本,特別是在大型、多樣化和分散式環境中。 這有助於抵消與 Azure Arc 相關服務相關的額外成本。 例如,已啟用 Azure Arc 的 SQL Server 實例進階資料安全性需要適用於雲端的 Microsoft Defender的 [適用於雲端的 Microsoft Defender] 功能,這具有 定價含 意。
  • 使用已啟用 Azure Arc 的 Azure Arc 來容器化 SQL Server 環境,SQL 受管理執行個體有助於增加工作負載密度和行動性。 這有助於更有效率的硬體使用率,這往往將投資報酬率最大化,並將營運成本降到最低,有助於加速資料中心整合計畫。

卓越營運

卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 營運卓越支柱 概觀。

  • 若要執行個別已啟用 Azure Arc 的 SQL Server 實例註冊,您可以以互動方式執行 直接從Azure 入口網站 取得的腳本。 針對大規模的部署,您可以 利用 Microsoft Entra 服務主體,以自動方式 執行相同的腳本。

  • 若要使用 Azure 監視器對已啟用 Azure Arc 之 SQL Server 實例的組態和健全狀況執行隨選評定,您必須將 Log Analytics 代理程式部署到裝載該 SQL Server 實例的伺服器。 您可以使用Azure 原則為 已啟用 Azure Arc 的伺服器 啟用適用於 VM 的 Azure 監視器,以大規模自動化此部署。

  • 隨選 SQL 評定和進階資料安全性適用于未啟用 Azure Arc 的 SQL Server 實例。 不過,Azure Arc 可簡化其布建和設定。 例如,您可以使用 VM 擴充功能, 將 Log Analytics 代理程式 部署至裝載 SQL Server 實例的伺服器自動化。

  • 已啟用 Azure Arc 的 azure Arc SQL 受管理執行個體與最新穩定版本的 SQL Server 共用程式碼基底,以提供對相同管理性功能 的支援

效能效益

效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率要素概觀

  • 已啟用 Azure Arc 的 azure Arc SQL 受管理執行個體會與最新穩定版本的 SQL Server 共用程式碼基底,以支援相同的高延展性和效能功能

  • 規劃部署已啟用 Azure Arc SQL 受管理執行個體時,您應該識別執行 Azure Arc 資料控制器 和預定 SQL 受控實例 伺服器群組所需的計算、記憶體和儲存體數量。 不過請注意,您可以藉由新增額外的計算節點或儲存體,彈性地擴充基礎 Kubernetes 或 AKS 叢集的容量。

  • Kubernetes 或 AKS 透過基礎虛擬化堆疊和硬體提供抽象層。 儲存體類別會針對儲存體實作這類抽象概念。 布建 Pod 時,您必須決定要用於其磁片區的儲存體類別。 從效能的觀點來看,您的決策很重要,因為不正確的選擇可能會導致次佳的效能。 規劃部署已啟用 Azure Arc SQL 受管理執行個體時,您應該考慮一系列影響資料控制器和資料庫實例之儲存體 組態 kubernetes-storage-class-factors 的因素

可靠性

可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性要素 概觀。

  • 啟用 Azure Arc SQL 受管理執行個體,規劃儲存體也十分重要,從資料復原的觀點來看。 如果發生硬體故障,不正確的選擇可能會造成總數據遺失的風險。 若要避免這類風險,您應該考慮影響資料控制器和資料庫實例之儲存體組 態 kubernetes-storage-class-factors 一系列因素。

  • 啟用 Azure Arc SQL 受管理執行個體後,您就可以在單一或多個 Pod 模式中部署個別資料庫。 例如,開發人員或一般用途定價層會實作單一 Pod 模式,而高可用性業務關鍵定價層則實作多個 Pod 模式。 高可用性的 Azure SQL 受控實例會使用 AlwaysOn 可用性群組,以同步或非同步方式將資料從某個實例複寫到另一個實例。

  • 已啟用 Azure Arc 的 azure Arc SQL 受管理執行個體與最新穩定版本的 SQL Server 共用程式碼基底,為大部分的 高可用性功能 提供支援。

  • 啟用 Azure Arc SQL 受管理執行個體提供自動本機備份,不論連線模式為何。 在直接連線模式中,您也可以選擇為異地、長期備份保留套用Azure 備份。

安全性

安全性可提供針對蓄意攻擊和濫用寶貴資料和系統的保證。 如需詳細資訊,請參閱 安全性要素 概觀。

  • 已啟用 Azure Arc SQL 受管理執行個體與最新穩定版本的 SQL Server 共用程式碼基底,並提供相同安全性功能 的支援。

  • 啟用 Azure Arc SQL 受管理執行個體,在直接連線模式中,您應該提供資料控制者直接存取 MCR,以利自動升級和修補。 或者,您可以選擇從 MCR 匯入容器映射,並在資料控制者可存取的本機私人容器登錄中提供它們。

  • Azure 連線機器代理程式會使用傳輸層安全性 (TLS) 通訊協定,透過 TCP 埠 443 向 Azure Arc 進行輸出通訊。

  • 在直接連線模式中啟用 Azure Arc SQL 受管理執行個體後,就不需要在內部部署資料中心周邊開啟任何輸入埠。 資料控制器使用傳輸層安全性 (TLS) 通訊協定,透過 TCP 埠 443 以安全的方式起始輸出連線。

警告

若要增強傳輸至 Azure 的資料安全性,您應該 將裝載 SQL Server 實例的伺服器設定為使用傳輸層安全性 (TLS) 1.2

下一步