編輯

共用方式為


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

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

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

架構

圖表說明利用 Azure Arc 將位於內部部署或由第三方雲端提供者所裝載之 SQL Server 實例的管理優化的不同案例。第一組案例是由在實體伺服器或虛擬機上執行的 SQL Server 實例所組成。第二組案例包括內部部署、第三方雲端裝載的 Kubernetes 叢集,或 Azure 本機上執行的 Azure Kubernetes Service 叢集,以及 Azure Arc 數據控制器作為中繼管理層。所有這些案例都提供與各種 Azure 服務的整合,例如 Azure 監視器和 Log Analytics、Azure 原則、適用於雲端的 Defender Microsoft,以及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 本機上的 Azure Kubernetes Service (AKS)。 這是 AKS 的實作,可自動在 Azure 本機上大規模執行容器化應用程式。
  • 已啟用 Azure Arc 的 Kubernetes。 此混合式服務可讓您簡化 Azure 內部或外部 Kubernetes 叢集的部署和管理。
  • 已啟用 Azure Arc 的數據服務。 此混合式服務可讓您使用 Kubernetes 和您選擇的基礎結構,在內部部署、邊緣和公用雲端中執行 Azure 資料服務。
  • Azure SQL 受控執行個體。 這個智慧型手機、可擴充的雲端資料庫服務結合了最廣泛的 SQL Server 資料庫引擎相容性,以及完全受控且常青平臺即服務的所有優點。
  • 已啟用 Azure Arc SQL 受管理執行個體。 您可以在您選擇的基礎結構上建立此 Azure SQL 數據服務,以裝載已啟用 Azure Arc 的數據服務。
  • 已啟用 Azure Arc 的 VMware vSphere 是一項 Azure Arc 服務,可協助您簡化跨 VMware vSphere 和 Azure 分散的混合式 IT 資產管理。
  • 已啟用 Azure Arc 的 System Center Virtual Machine Manager (SCVMM) 是一項 Azure Arc 服務,可協助您簡化跨 SCVMM 受控環境和 Azure 散發的混合式 IT 資產管理。
  • 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 本機上自動化 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 Connected Machine Agent 也是啟用 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監視代理程式 (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 本機實例的 AKS 叢集上啟用數據服務。

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

已啟用 Azure Arc 的 SQL 受管理執行個體 提供與最新 SQL Server 資料庫引擎的近 100% 相容性。 這有助於透過最少的應用程式和資料庫變更,將移轉至已啟用 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 命令行介面 (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 Local 上的 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-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 的 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

下一步