この参照アーキテクチャでは、オンプレミスとマルチクラウド環境で SQL Server インスタンスの管理、メンテナンス、監視に Azure Arc を利用する方法を示します。
Architecture
このアーキテクチャの Visio ファイルをダウンロードします。
コンポーネント
アーキテクチャは、次のコンポーネントと機能で構成されています。
- SQL Server。 このデータ プラットフォームを使用すると、開発言語、データ型、オンプレミス環境またはクラウド環境、オペレーティング システムの選択の幅が広がります。
- Azure Arc 。このクラウドベースのサービスにより、Azure Resource Manager ベースの管理モデルは、仮想マシン (VM)、Kubernetes クラスター、コンテナー化データベースなどの Azure 以外のリソースにまで拡張されます。
- Azure Arc対応サーバー このハイブリッド サービスを使用すると、Azure の外部 (企業ネットワークや他のクラウド プロバイダー) でホストされている Windows や Linux のマシンを管理することができます。 これは、ネイティブの Azure VM を管理する方法に似ています。
- Azure Arc 対応 SQL Server 。 Azure Arc 対応サーバーのこの部分により、Azure サービスは、Azure の外部にあるお客様のデータセンター内、エッジ上、またはマルチクラウド環境でホストされている SQL Server インスタンスに拡張されます。
- Kubernetes。 これは、コンテナー化されたワークロードを管理および調整するための、移植可能で拡張可能なオープンソースのプラットフォームです。
- Azure Kubernetes Service。 このサービスを使用すると、マネージド Kubernetes クラスターを Azure に簡単にデプロイできます。
- Azure ローカルで Azure Kubernetes Service (AKS) を
します。 これは、Azure Local で大規模にコンテナー化されたアプリケーションの実行を自動化する AKS の実装です。 - Azure Arc 対応 Kubernetes。 このハイブリッド サービスを使用すると、Azure の内部または外部の Kubernetes クラスターのデプロイと管理を効率化することができます。
- Azure Arc 対応データ サービスを
します。 このハイブリッド サービスにより、Kubernetes と任意のインフラストラクチャを使用して、Azure データ サービスをオンプレミス、エッジ、パブリック クラウドで実行できるようになります。 - Azure SQL Managed Instance。 このインテリジェントでスケーラブルなクラウド データベース サービスは、幅広い SQL Server データベース エンジンとの互換性と、フル マネージドの常に最新のサービスとしてのプラットフォームのすべての利点を兼ね備えています。
- Azure Arc 対応 SQL Managed Instance 。 この Azure SQL データ サービスは、Azure Arc 対応データ サービスをホストする任意のインフラストラクチャ上に作成できます。
- Azure Arc 対応 VMware vSphere は、VMware vSphere と Azure に分散されたハイブリッド IT 資産の管理を簡素化するのに役立つ Azure Arc サービスです。
- Azure Arc 対応 System Center Virtual Machine Manager (SCVMM) は、SCVMM マネージド環境と Azure に分散されたハイブリッド IT 資産の管理を簡素化するのに役立つ Azure Arc サービスです。
- Azure Resource Manager。 Azure Resource Manager は、Azure のデプロイおよび管理サービスです。 お使いの Azure アカウント内のリソースを作成、更新、および削除できる管理レイヤーを提供します。 アクセス制御、ロック、タグなどの管理機能を使用して、デプロイ後にリソースをセキュリティ保護および整理します。
- Azure Monitor。 このクラウドベースのサービスにより、Azure や Azure 以外の場所からのテレメトリの収集、分析、処理を行うための包括的なソリューションが提供され、アプリケーションやサービスの可用性とパフォーマンスが最大限に高められます。
- Log Analytics。 これは、ログ クエリを作成したり、その結果を対話形式で分析したりするための、Azure portal での主要なツールです。
- Microsoft Sentinel. これは、スケーラブルでクラウドネイティブのセキュリティ情報イベント管理 (SIEM) およびセキュリティ オーケストレーション自動応答 (SOAR) ソリューションです。
- Microsoft Defender for Cloud。 この統合されたインフラストラクチャ セキュリティ管理システムにより、データセンターのセキュリティ体制が強化され、ハイブリッド ワークロード全体に高度な脅威保護が提供されます。
- Azure Backup Azure Backup サービスは、データをバックアップし、それを Microsoft Azure クラウドから回復するための、シンプルで安全かつコスト効率の高いソリューションを提供します。
シナリオの詳細
このアーキテクチャの一般的な用途は次のとおりです。
- 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 で実行されるため、次のような管理、セキュリティ、コンプライアンス機能を使用することもできます。
- Kubernetes 用の Azure Policy を使用した実行時ポリシーの適用、および対応するポリシー準拠の一元的なレポートのサポート。 これにより、たとえば、Kubernetes クラスターで HTTPS イングレスを適用したり、確実に許可されたポートのみがコンテナーでリッスンされるようにしたりすることができます。
- GitOps を使用した Kubernetes と AKS の構成のデプロイのサポート。 GitOps は、Git リポジトリ内に存在するコードを自動的にデプロイする方法です。 このシナリオでは、Kubernetes または AKS の構成の望ましい状態をコードで記述します。 Azure Policy を使用して GitOps ベースの特定の構成を適用することができます。これにより、対応するポリシー準拠の一元的なレポートも提供されます。
注意事項
運用環境で利用しようとしている Azure Arc 機能が使用可能であることを確認します。
考慮事項
Microsoft Azure Well-Architected フレームワークは、この参照アーキテクチャの基になっている一連の基本原則です。 以下の考慮事項は、これらの原則のコンテキストで構成されています。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。
- 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 に影響するさまざまな要因を考慮する必要があります。
[信頼性]
信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。
Azure Arc 対応 SQL Managed Instance の場合、ストレージの計画はデータの回復性の観点からも重要です。 ハードウェア障害が発生した場合、不適切な選択によりデータ損失のリスクが生じるおそれがあります。 そのようなリスクを防ぐには、データ コントローラーとデータベース インスタンスの両方について、ストレージ構成 kubernetes-storage-class-factors に影響するさまざまな要因を考慮する必要があります。
Azure Arc 対応 SQL Managed Instance では、単一または複数ポッドのパターンで個々のデータベースをデプロイできます。 たとえば、開発者または汎用の価格レベルには単一ポッドのパターンが実装されますが、高可用性のビジネス クリティカルな価格レベルには複数ポッドのパターンが実装されます。 高可用性の Azure SQL マネージド インスタンスの場合、Always On 可用性グループを使用して、同期的または非同期的に 1 つのインスタンスから別のインスタンスにデータがレプリケートされます。
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 を使用するように構成する必要があります。
次のステップ
製品とサービスのドキュメント:
- SQL Server 技術ドキュメント
- Azure Arc の概要
- Azure Arc 対応サーバーとは
- Azure Arc 対応 SQL Server
- Azure Kubernetes Service
- Azure ローカル ソリューションの概要
- Azure Local および Windows Server 上の Azure Kubernetes Service を使用したオンプレミスの Kubernetes とは
- Azure Arc 対応 Kubernetes とは
- Azure Arc 対応データ サービスとは
- Azure SQL Managed Instance とは
- Azure Arc 対応 SQL Managed Instance の概要
- Azure Resource Manager とは
- Azure Monitor の概要
- Azure Monitor の Log Analytics の概要
- Microsoft Sentinel とは
- Microsoft Defender for Cloud とは
- Azure Backup サービスとは
トレーニング リソース
関連リソース
- 小売、製造、またはリモート オフィスのユース ケース用に Azure Local スイッチレス ストレージを
- Azure Arc 対応サーバーの構成を管理する
- Kubernetes クラスター向けの Azure Arc ハイブリッド管理とデプロイ
- Azure ハイブリッド オプション