次の方法で共有


Azure Arc を使用してオンプレミスおよびマルチクラウド環境での SQL Server インスタンスの管理を最適化する

Azure Arc
SQL Server
Azure Kubernetes Service (AKS)
Azure Resource Manager
Azure SQL Managed Instance

この参照アーキテクチャでは、オンプレミスとマルチクラウド環境で SQL Server インスタンスの管理、メンテナンス、監視に Azure Arc を利用する方法を示します。

アーキテクチャ

Azure Arc を利用して、オンプレミスまたはサードパーティのクラウド プロバイダーによってホストされている SQL Server インスタンスの管理を最適化するさまざまなシナリオを示す図。シナリオの最初のグループは、物理サーバーまたは仮想マシンで実行されている SQL Server インスタンスで構成されます。シナリオの 2 番目のグループは、オンプレミス、サードパーティのクラウドホスト型 Kubernetes クラスター、または Azure Local で実行されている Azure Kubernetes Service クラスターで構成され、Azure Arc データ コントローラーが中間管理レイヤーとして機能します。これらのシナリオはすべて、Azure Monitor と Log Analytics、Azure Policy、Microsoft Defender for Cloud、Microsoft Sentinel など、さまざまな Azure サービスとの統合を提供します。

このアーキテクチャの Visio ファイルをダウンロードします。

コンポーネント

アーキテクチャは、次のコンポーネントと機能で構成されています。

  • SQL Server は、さまざまな開発言語、データ型、オンプレミスまたはクラウド環境、オペレーティング システムをサポートするリレーショナル データベース プラットフォームです。 このアーキテクチャでは、Azure の外部でホストされ、統合されたガバナンスと監視のために Azure Arc を介して管理されるコア データ エンジンとして機能します。
  • Azure Arc は、Azure 管理を Azure 以外のリソースに拡張するクラウドベースのサービスです。 このアーキテクチャでは、オンプレミス環境とマルチクラウド環境全体で SQL Server インスタンス、Kubernetes クラスター、仮想マシン (VM) を一元的に制御できます。
  • Azure Arc 対応サーバーは、 企業ネットワークまたはその他のクラウド プロバイダー上の Azure 外部の Windows および Linux マシンの管理を提供します。 このアーキテクチャでは、ハイブリッド Azure リソースとして SQL Server インスタンスを管理するための基盤を提供します。
  • Azure Arc 対応 SQL Server は 、Azure サービスを Azure の外部でホストされている SQL Server インスタンスに拡張します。 このアーキテクチャでは、データセンター、エッジ、またはマルチクラウドのセットアップで実行される SQL Server の高度な監視、セキュリティ、コンプライアンス機能を有効にします。
  • Kubernetes は、コンテナー化されたワークロードを管理および調整するためのオープンソース プラットフォームです。 このアーキテクチャでは、Azure SQL Managed Instance のコンテナー化されたデプロイを含む、Azure Arc 対応データ サービスをホストします。
  • Azure Kubernetes Service (AKS) は、Azure のマネージド Kubernetes サービスです。 このアーキテクチャでは、AKS on Azure Local を使用すると、オンプレミス環境でのコンテナー化された SQL ワークロードのデプロイと管理が簡素化されます。
  • AKS on Azure Local は、AKS のオンプレミス実装です。 このアーキテクチャでは、コンテナー化されたアプリケーションを Azure Local で大規模に実行します。
  • Azure Arc 対応 Kubernetes を使用すると、Azure の外部で実行される Kubernetes クラスターを Azure で管理できます。 このアーキテクチャでは、Kubernetes にデプロイされた SQL ワークロードのガバナンス、ポリシーの適用、監視がサポートされています。
  • Azure Arc 対応データ サービス を使用すると、オンプレミスやマルチクラウドなどの任意のインフラストラクチャで Azure データ サービスを実行できます。 このアーキテクチャでは、SQL Managed Instance のコンテナー化されたインスタンスをホストします。これにより、ハイブリッド環境でクラウドネイティブ機能が有効になります。
  • SQL Managed Instance は、SQL Server との高い互換性を提供するマネージド SQL データベース サービスです。 このアーキテクチャでは、Azure Arc 対応データ サービスを介してコンテナー化された形式でデプロイされ、スケーラブルでセキュリティで保護された常緑化されたデータベース機能を提供します。
  • Azure Arc 対応 SQL Managed Instance は、Azure Arc 対応データ サービスで実行される SQL Managed Instance のコンテナー化されたバージョンです。 このアーキテクチャでは、ほぼ完全な SQL Server と、Kubernetes または Azure Local 上の AKS 間の柔軟なデプロイとの互換性が提供されます。
  • Azure Arc 対応 VMware vSphere は、Azure 管理を VMware ベースの環境に拡張します。 このアーキテクチャでは、vSphere でホストされている SQL Server インスタンスのガバナンスと監視が可能になります。
  • Azure Arc 対応 System Center Virtual Machine Manager (SCVMM) は、SCVMM で管理されるインフラストラクチャを Azure と統合します。 このアーキテクチャでは、SCVMM と Azure 全体の SQL Server ワークロードの統合管理がサポートされています。
  • Azure Resource Manager は、Azure リソースのデプロイと管理フレームワークです。 このアーキテクチャでは、ハイブリッド SQL Server インスタンスと関連サービスを管理するためのコントロール プレーンとして機能します。 アクセス制御、ロック、タグなどの管理機能を使用して、デプロイ後にリソースをセキュリティで保護および整理できます。
  • Azure Monitor は、Azure とハイブリッド リソースからテレメトリを収集して分析する監視サービスです。 このアーキテクチャでは、Azure Arc で管理される SQL Server インスタンスのパフォーマンス、可用性、コンプライアンスを監視します。
  • Log Analytics は Azure Monitor の機能であり、複数の環境でログ データのクエリと分析を行うことができます。 このアーキテクチャでは、Azure Arc 対応 SQL Server の SQL 評価と正常性チェックがサポートされています。
  • Microsoft Sentinel は、脅威の検出と対応のためのクラウドネイティブのセキュリティ情報イベント管理 (SIEM) およびセキュリティ オーケストレーション自動応答 (SOAR) ソリューションです。 このアーキテクチャでは、Azure Arc が管理する SQL Server インスタンスのセキュリティ イベントとアラートを監視します。
  • Microsoft Defender for Cloud は、セキュリティ管理と脅威保護を提供するセキュリティ プラットフォームです。 このアーキテクチャでは、データ資産のセキュリティ体制が強化され、ハイブリッド ワークロード全体で高度な脅威検出が可能になります。
  • Azure Backup は、Azure およびハイブリッド環境向けのセキュリティで保護されたスケーラブルなバックアップ ソリューションを提供します。 このアーキテクチャでは、直接接続モードでデプロイされた Azure Arc 対応 SQL Managed Instance の長期的なバックアップ リテンション期間がサポートされています。

シナリオの詳細

このアーキテクチャの一般的な用途は次のとおりです。

  • Azure Monitor を使用することにより、Azure Arc 対応 SQL Server の構成、可用性、パフォーマンス、コンプライアンスを評価します。
  • Microsoft Defender for Cloud と Microsoft Sentinel を使用して、Azure Arc 対応 SQL Server を対象とするセキュリティの脅威を検出して修復します。
  • オンプレミスとマルチクラウド環境に存在する Azure Arc 対応 Kubernetes における Azure Arc 対応 SQL Managed Instance のデプロイと管理を自動化します。
  • Azure Local 上の Azure Kubernetes Service (AKS) での Azure Arc 対応 SQL Managed Instance のデプロイと管理を自動化する。

推奨事項

ほとんどのシナリオには、次の推奨事項が適用されます。 これらの推奨事項には、オーバーライドする特定の要件がない限り、従ってください。

Azure のサービスを使用することにより、Azure Arc 対応 SQL Server インスタンスのパフォーマンス、可用性、コンプライアンス、セキュリティを評価、監視、最適化する

一貫性のある統一された運用および管理モデルがない場合、SQL Server の個々のインスタンスを管理することで、大きなオーバーヘッド コストが発生するおそれがあります。 適切なツール セットがないと、SQL Server の構成を識別し、その高パフォーマンス、回復性、セキュリティを維持するために、高度なスキルと継続的な取り組みが必要になります。 ビジネス テクノロジのランドスケープが進化し、オンプレミスのデータセンター、複数のパブリックとプライベートのクラウド、エッジの異なるハードウェアで複数の SQL Server インスタンスが実行される、ますます複雑なものになった場合、これらの課題を解決することは特に重要です。

ローカル環境にインストールされた Connected Machine Agent を使用して、Azure の外部に存在して Windows または Linux オペレーティング システムが実行されている物理および仮想マシンでホストされた、Azure Arc 対応 SQL Server インスタンスを使用できます。 SQL Server インスタンスを Azure に登録すると、エージェントが自動的にインストールされます。 エージェントは、Azure 以外のリソースと Azure との間の論理接続を確立するために Azure Arc によって使用されます。 この接続が確立されると、Azure 以外のリソースは、自動的に、独自の ID と Azure Resource Manager リソース ID を備えたハイブリッド Azure リソースになります。 管理インターフェイスとして機能する Azure Resource Manager を使用して、Azure リソースの作成、変更、削除を行うことができます。 Azure 以外のリソースを Arc 対応にした後は、Azure Resource Manager を使用して、SQL Server インスタンスの管理をいっそう容易にする他の Azure サービスを簡単に実装できます。

注意

Azure Connected Machine Agent のインストールは、Azure Arc 対応サーバーの実装の一部でもあります。 実質的に、Azure arc 対応サーバーに Azure Arc 対応 SQL Server を実装するとき、それをインストールする必要はありません。

Log Analytics エージェントのインストールを含め、Azure Arc 対応 SQL Server の前提条件がすべて満たされると、次の Azure の機能を使用するためのオプションが自動的に有効になります。

  • Azure Arc 対応 SQL Server のオンデマンド SQL Assessment。 評価は、Log Analytics エージェントによって関連データが収集され、指定した Log Analytics ワークスペースにそれがアップロードされることに依存しています。 ワークスペースにログがアップロードされると、SQL Server Assessment Log Analytics ソリューションによってデータの分析が管理され、Azure portal で結果を直接確認できます。 該当する場合は常に、潜在的な改善に関する推奨事項もソリューションによって提供されます。 分析の結果は、評価の品質、セキュリティとコンプライアンス、可用性と継続性、パフォーマンスとスケーラビリティの 4 つのカテゴリに分類されます。 Log Analytics エージェントにより、定期的に更新がスキャンされて Log Analytics ワークスペースに自動的にアップロードされるので、ユーザーは確実に最新の結果を確認できます。

注意

Log Analytics エージェントは、一般に Microsoft Monitoring Agent (MMA) と呼ばれています。

  • Azure Arc 対応 SQL Server のための高度なデータ セキュリティ。 この機能は、Azure Arc 対応 SQL Server インスタンスに対するセキュリティの異常と脅威を検出して修復するのに役立ちます。 オンデマンド SQL Assessment と同様に、Azure Arc 対応 SQL Server を有効にするには、SQL Server インスタンスがホストされているサーバーに Log Analytics エージェントをインストールする必要があります。 また、Microsoft Defender for Cloud の Microsoft Defender for Cloud 機能を有効にして、データ収集のスコープを自動的に定義し、分析する必要があります。 Microsoft Defender for Cloud でこの分析の結果を確認することができ、Microsoft Sentinel をオンボードした後は、それを使用して、Azure portal でセキュリティ アラートをさらに直接調査することができます。

オンプレミスとマルチクラウド環境の Azure Arc 対応 SQL Managed Instance のデプロイと管理を自動化する

Azure Arc 対応 SQL Managed Instance は、Azure Arc 対応データ サービス上で実行されるコンテナー化されたデプロイになります。 デプロイをホストするには、次のオプションを使用できます。

  • Azure Arc 対応 Kubernetes クラスター上の Azure Arc 対応データ サービス。 Azure Arc 対応 Kubernetes により、仮想または物理サーバー上のクラウドまたはオンプレミス環境でホストされている幅広い Kubernetes ディストリビューションがサポートされています。
  • オンプレミスの物理 Azure ローカル インスタンスでホストされている AKS クラスター上の Azure Arc 対応データ サービス。

どちらのオプションでも、同等の SQL Server 関連機能がサポートされます。これらの機能は、Azure Arc 対応データ サービス レイヤーに依存しているためです。 ただし、Azure Local を使用する場合は、Kubernetes インフラストラクチャとそのワークロードの実装と管理が簡略化されるため、AKS を実装する必要があります。

Azure Arc 対応 SQL Managed Instance により、最新の SQL Server データベース エンジンとのほぼ 100% の互換性が提供されます。 これにより、アプリケーションとデータベースの最小限の変更で、Azure Arc 対応データ サービスへのリフト アンド シフト移行を容易に行うことができます。

Azure Arc 対応 SQL Managed Instance による Azure Resource Manager コントロール プレーンへの論理接続の確立と維持は、Azure Arc データ コントローラーに依存して行われます。 データ コントローラーは、ローカル環境の Kubernetes または AKS クラスター内で実行されるポッドのグループになります。 ポッドにより、プロビジョニングとプロビジョニング解除、自動フェールオーバー、更新、スケーリング、バックアップと復元、監視など、SQL Managed Instance の管理と運用のタスクが調整されます。

Azure Arc 対応データ サービスを計画するときは、データ コントローラーが直接接続または間接接続のどちらの接続モードで動作するかを決定する必要があります。 この決定は、管理機能および Azure に送信されるデータの量に対して重要な影響があります。 Azure Arc 対応データ サービスが Azure に直接接続されている場合は、Azure portal、Azure コマンドライン インターフェイス (Azure CLI)、Azure Resource Manager テンプレートなど、Azure Resource Manager ベースの標準のインターフェイスとツールを使用して、それらを管理できます。 Azure Arc 対応データ サービスが Azure に間接的に接続されている場合は、Azure Resource Manager によって読み取り専用のインベントリが提供されます。 同様に、Microsoft Entra ID や Azure のロールベースのアクセス制御 (Azure RBAC) をサポートする Azure Arc 対応データ サービスを提供する場合、またはそれらを Microsoft Defender for Cloud、Azure Monitor、Azure Backup などの Azure サービスと統合する場合は、直接接続モードが必要になります。

注意事項

間接接続の接続モードの場合は、少なくとも 1 か月に 1 回、インベントリと請求のために、最小限の量のデータを Azure に提供する必要があります。

間接接続モードを使用すると、提供される機能は減りますが、直接接続モードを使用できないさまざまなシナリオに対応できます。 これは、たとえば、ビジネスや規制の要件のため、または外部からの攻撃やデータ流出に関する懸念のために、外部への直接接続がブロックされるオンプレミスのデータセンターに適用されます。 また、インターネットへの直接接続が限られているか不可能な、エッジ サイトの場所もサポートされます。

Azure Arc 対応 SQL Managed Instance の一般的な機能セットは次のとおりです。

  • 自動更新のサポート。 Microsoft からは、Microsoft Container Registry (MCR) を通じて Azure Arc 対応データ サービスの更新プログラムが頻繁に提供されます。 これには、修正プログラムと新機能の提供、および Azure マネージド データ サービスと同様のエクスペリエンスの提供が含まれます。 ただし、デプロイのスケジュールと頻度はユーザーが制御します。
  • 柔軟なスケーリング。 コンテナー ベースのアーキテクチャは本質的に柔軟なスケーリングに対応しますが、インフラストラクチャの容量によって制限されます。 この機能により、リアルタイム、任意のスケール、1 秒未満の応答時間でのデータの取り込みやクエリなど、揮発性のニーズを持つバースト シナリオが対応されます。
  • セルフサービスのプロビジョニング。 Kubernetes ベースのオーケストレーションにより、グラフィカル インターフェイスまたは Azure CLI のツールを使用して、データベースを数秒でプロビジョニングできます。
  • 柔軟な監視と管理。 Azure Arc 対応 SQL Managed Instance を使用すると、Kubernetes API からログとテレメトリを収集して分析し、Kibana と Grafana のダッシュボードを使用してローカル監視を実装することができます。 また、Azure Data Studio や Azure CLI などのさまざまな標準の SQL Server 管理ツール、および Helm や kubectl などの Kubernetes 管理ツールを使用して、Azure Arc 対応 SQL Managed Instance をプロビジョニングし、管理することもできます。

さらに、Azure Arc 対応 SQL Managed Instance は Azure Arc 対応 Kubernetes または AKS on Azure Local で実行されるため、次のような管理、セキュリティ、コンプライアンス機能を使用することもできます。

注意事項

運用環境で利用しようとしている Azure Arc 機能が使用可能であることを確認します。

考慮事項

これらの考慮事項は、Azure Well-Architected Framework の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 詳細については、Microsoft Azure Well-Architected Frameworkの に関するページを参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性設計レビューチェックリスト」を参照してください。

  • Azure Arc 対応 SQL Managed Instance の場合、ストレージの計画はデータの回復性の観点からも重要です。 ハードウェア障害が発生した場合、不適切な選択によりデータ損失のリスクが生じるおそれがあります。 そのようなリスクを防ぐには、データ コントローラーデータベース インスタンスの両方について、ストレージ構成 kubernetes-storage-class-factors に影響するさまざまな要因を考慮する必要があります。

  • Azure Arc 対応 SQL Managed Instance では、単一または複数ポッドのパターンで個々のデータベースをデプロイできます。 たとえば、開発者または汎用の価格レベルには単一ポッドのパターンが実装されますが、高可用性のビジネス クリティカルな価格レベルには複数ポッドのパターンが実装されます。 高可用性 SQL マネージド インスタンスでは、Always On 可用性グループを使用して、同期的または非同期的に、あるインスタンスから別のインスタンスにデータをレプリケートします。

  • Azure Arc 対応 SQL Managed Instance と SQL Server の最新の安定したバージョンの間ではコード ベースが共有されるため、高可用性機能の大部分がサポートされます。

  • Azure Arc 対応 SQL Managed Instance により、接続モードに関係なく、自動ローカル バックアップが提供されます。 直接接続モードの場合、オフサイトの長期的なバックアップ保持に Azure Backup を適用することもできます。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティ設計レビューチェックリスト」を参照してください。

  • Azure Arc 対応 SQL Managed Instance と SQL Server の最新の安定したバージョンの間ではコード ベースが共有されるため、同じセキュリティ機能のセットがサポートされます。

  • Azure Arc 対応 SQL Managed Instance の直接接続モードの場合、自動アップグレードと修正プログラムの適用を容易にするため、データ コントローラーから MCR に直接アクセスできるようにする必要があります。 または、MCR からコンテナー イメージをインポートし、データ コントローラーからアクセスできるローカル環境のプライベート コンテナー レジストリで使用できるようにすることもできます。

  • Azure Connected Machine Agent による Azure Arc への送信は、トランスポート層セキュリティ (TLS) プロトコルを使用して TCP ポート 443 経由で行われます。

  • 直接接続モードの Azure Arc 対応 SQL Managed Instance の場合、オンプレミスのデータセンターの境界でインバウンド ポートを開く必要はありません。 データ コントローラーによって、トランスポート層セキュリティ (TLS) プロトコルを使用して TCP ポート 443 経由の安全な方法で送信接続が開始されます。

注意事項

Azure への転送中のデータのセキュリティを強化するには、SQL Server インスタンスがホストされているサーバーを、トランスポート層セキュリティ (TLS) 1.2 を使用するように構成する必要があります。

コストの最適化

コストの最適化は、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コストの最適化設計レビューチェックリスト」を参照してください。

  • Azure Arc を使用すると、オンプレミスの管理および監視システムの必要性が最小限になったりなくなったりするので、特に大規模で多様な分散環境では、運用上の複雑さとコストが軽減されます。 これは、Azure Arc に関するサービスに関連する追加コストを相殺するのに役立ちます。 たとえば、Azure Arc 対応 SQL Server インスタンスのための高度なデータ セキュリティには Microsoft Defender for Cloud の [Microsoft Defender for Cloud] 機能が必要であり、これは価格に影響を与えます。
  • Azure Arc 対応 SQL Managed Instance を使用して SQL Server 環境をコンテナー化すると、ワークロードの密度とモビリティを向上させるのに役立ちます。 これにより、いっそう効率的なハードウェアの利用が促進されて、投資収益率 (ROI) が最大になり、運用コストが最小限に抑えられるため、データセンターの統合イニシアティブの促進に役立ちます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスを対象としています。 詳細については、「オペレーショナル エクセレンス設計レビュー チェックリスト」を参照してください。

  • 個々の Azure Arc 対応 SQL Server インスタンスの登録を実行するには、Azure portal から直接使用できるスクリプトを対話的に実行できます。 大規模なデプロイでは、Microsoft Entra サービス プリンシパルを利用することにより、同じスクリプトを無人で実行することができます。

  • Azure Monitor を使用して、Azure Arc 対応 SQL Server インスタンスの構成と正常性に関するオンデマンド評価を実行するには、その SQL Server インスタンスがホストされているサーバーに、Log Analytics エージェントをデプロイする必要があります。 Azure Policy を使用して Azure Arc 対応サーバーに対する Azure Monitor for VMs を有効にすることで、このデプロイを大規模に自動化できます。

  • Azure Arc 対応でない SQL Server インスタンスでは、オンデマンドの SQL Assessment と Advanced Data Security を利用できます。 ただし、Azure Arc を使用すると、それらのプロビジョニングと構成が簡単になります。 たとえば、VM 拡張機能を使用すると、SQL Server インスタンスがホストされているサーバーへの Log Analytics エージェントのデプロイを自動化することができます。

  • Azure Arc 対応 SQL Managed Instance と SQL Server の最新の安定したバージョンの間ではコード ベースが共有されるため、同じ管理機能のセットがサポートされます。

パフォーマンス効率

パフォーマンス効率は、ユーザーの要求を効率的に満たすワークロードの機能です。 詳細については、「パフォーマンス効率設計レビュー チェックリスト」を参照してください。

  • Azure Arc 対応 SQL Managed Instance と SQL Server の最新の安定したバージョンの間ではコード ベースが共有されるため、同じ高いスケーラビリティとパフォーマンスの機能のセットがサポートされます。

  • Azure Arc 対応 SQL Managed Instance のデプロイを計画するときは、Azure Arc データ コントローラーと、目的の SQL Managed Instance サーバー グループを実行するために必要な、コンピューティング、メモリ、ストレージの適切な量を明らかにする必要があります。 ただし、コンピューティング ノードやストレージを追加することで、基になる Kubernetes または AKS クラスターの容量を長期的に拡張できる柔軟性があることにご注意ください。

  • Kubernetes または AKS により、基になる仮想化スタックとハードウェアに対する抽象レイヤーが提供されます。 ストレージの場合、ストレージ クラスによってそのような抽象化が実装されます。 ポッドをプロビジョニングするときは、そのボリューム用に使用するストレージ クラスを決定する必要があります。 選択が正しくないと最適なパフォーマンスを得られないおそれがあるため、その決定はパフォーマンスの観点から重要です。 Azure Arc 対応 SQL Managed Instance のデプロイを計画するときは、データ コントローラーデータベース インスタンスの両方について、ストレージ構成 kubernetes-storage-class-factors に影響するさまざまな要因を考慮する必要があります。

次のステップ