使用 Azure Arc 將內部部署和多雲端環境中的SQL Server實例管理優化

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

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

架構

圖表說明利用 Azure Arc 來優化位於內部部署或由協力廠商雲端提供者裝載之SQL Server實例的管理。第一組案例是由實體伺服器或虛擬機器上執行的SQL Server實例所組成。第二組案例包含內部部署、協力廠商雲端託管 Kubernetes 叢集,或Azure Kubernetes Service在 Azure Stack HCI 上執行的叢集,而 Azure Arc 資料控制站會作為中繼管理層。所有這些案例都提供與各種 Azure 服務的整合,例如 Azure 監視器和 Log Analytics、Azure 原則、雲端Microsoft Defender,以及 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實例,這些實例裝載于客戶的資料中心、邊緣或多重雲端環境中。
  • 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 Sentinel 的 Microsoft Defender 來偵測和補救以已啟用 Azure Arc SQL Server 之 Azure Arc 為目標的安全性威脅。
  • 在內部部署和多重雲端環境中,在已啟用 Azure Arc 的 Kubernetes 上自動部署和管理已啟用 Azure Arc 的SQL 受管理執行個體。
  • 在 Azure Stack HCI 上 SQL 受管理執行個體自動部署和管理已啟用 Azure Arc 的 azure Arc Azure Kubernetes Service (AKS) 。

建議

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

使用 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 Monitoring Agent (MMA) 。

  • 已啟用 Azure Arc 的進階資料安全性SQL Server。 此功能可協助您偵測並補救已啟用 Azure Arc SQL Server 實例的安全性異常和威脅。 如同隨選 SQL 評定,若要啟用已啟用 Azure Arc SQL Server,您必須在裝載 SQL Server 實例的伺服器上安裝 Log Analytics 代理程式。 您也必須啟用 cloud 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 的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 Command-Line 介面 (Azure CLI) 或 Azure Resource Manager 範本。 如果已啟用 Azure Arc 的資料服務間接連線到 Azure,則 Azure Resource Manager會提供其唯讀清查。 同樣地,如果您想要為已啟用 Azure Arc 的資料服務提供 Azure Active Directory (Azure AD) 、Azure 角色型存取控制 (Azure RBAC) ,或將它們與雲端、Azure 監視器或Azure 備份 Microsoft Defender等 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 管理工具,布建和管理已啟用 Azure Arc 的 Azure Arc SQL 受管理執行個體。

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

警告

確認您想要在生產環境中使用的 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 受管理執行個體有助於增加工作負載密度和行動性。 這有助於更有效率的硬體使用率,這通常會將投資報酬率最大化 (ROI) ,並將營運成本降到最低,協助加速資料中心匯總計畫。

卓越營運

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

效能效率

效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱 效能效率要素概觀

  • 已啟用 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 受控執行個體會使用 Always On 可用性群組,以同步或非同步方式將資料從某個執行個體複寫到另一個執行個體。

  • 已啟用 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

後續步驟