Windows SQL Server IaaS Agent 拡張機能を使用して管理を自動化する

適用対象:Azure VM 上の SQL Server

SQL Server IaaS Agent 拡張機能 (SqlIaasExtension) は、管理タスクを自動化するために Azure Windows Virtual Machines (VM) 上の SQL Server で実行されます。

この記事では、この拡張機能の概要について説明します。 SQL Server IaaS Agent 拡張機能を Azure VM 上の SQL Server にインストールするには、「自動登録」、「単一の VM の登録」、「複数の VM の一括登録」の記事を参照してください。

最新の機能強化など、Azure VM のデプロイと管理のエクスペリエンスの詳細については、以下を参照してください。

概要

SQL Server IaaS Agent 拡張機能を使うと、Azure portal と統合し、Azure VM 上の SQL Server に関する多くのベネフィットのロックを解除できます。

  • 機能面の利点: この拡張機能では、ポータル管理、ライセンスの柔軟性、自動バックアップ、自動修正といった、自動化機能のさまざまな利点を活用できます。 詳細については、この記事の後半にある「機能面の利点」を参照してください。

  • コンプライアンス: この拡張機能では、製品の条件に指定されているとおりに Azure ハイブリッド特典が有効になっていることを Microsoft に通知するという要件を満たすための簡単な方法が提供されます。 このプロセスにより、リソースごとにライセンス登録フォームを管理する必要がなくなります。

  • 無料: この拡張機能は完全に無料です。 拡張機能に関連する追加コストはありません。

  • 一元管理された Azure ハイブリッド特典との統合: この拡張機能に登録した SQL Server VM を一元管理された Azure ハイブリッド特典と統合できます。こうすることで、大規模な SQL Server VM でも Azure ハイブリッド特典を簡単に管理できます。

  • ライセンス管理の簡素化: この拡張機能によって SQL Server ライセンス管理が簡単になります。また、以下を使って Azure ハイブリッド特典が有効な SQL Server VM をすばやく特定できます。

    Azure portal の SQL 仮想マシン リソースを使って Azure ハイブリッド特典を使っている SQL Server VM をすばやく特定することができます。

自動アップグレードを有効にして、拡張機能の最新の更新プログラムが毎月確実に取得されるようにします。

管理モード

2023 年 3 月より前の SQL IaaS Agent 拡張機能は、管理モードを利用してセキュリティ モデルを定義し、機能面のベネフィットのロックを解除していました。 2023 年 3 月、拡張機能のアーキテクチャが更新され、管理モードが完全に削除されました。代わりに、最小特権の原則に基づいて、お客様が機能ごとに拡張機能を使う方法を制御できるようになりました。

2023 年 3 月以降に拡張機能を初めて登録した場合、バイナリは仮想マシンに保存され、ライセンス管理などの基本機能を利用できるようになります。 エージェントに依存する機能を有効にすると、SQL IaaS Agent を仮想マシンにインストールするためにバイナリが使われます。アクセス許可は、有効にした各機能の必要に応じて SQL IaaS Agent サービスに割り当てられます。

機能面の利点

SQL Server IaaS Agent 拡張機能を使うと、SQL Server VM を管理するための多くの機能面のベネフィットのロックを解除し、ビジネス ニーズに合ったベネフィットを選択できます。 拡張機能を最初に登録した時点では、機能は SQL IaaS Agent に依存しないいくつかの機能に限定されています。 必要な機能を有効にすると、エージェントが SQL Server VM にインストールされます。

SQL IaaS Agent 拡張機能を介して使用できるベネフィットと、エージェントが必要かどうかの詳細を次の表に示します。

機能 説明
ポータル管理 ポータルでの管理のロックを解除し、このため、すべての SQL Server VM を 1 か所に表示でき、ポータルから SQL 固有の機能を直接有効または無効にすることができます。

基本登録に含まれています。
自動バックアップ VM 上の SQL Server の既定のインスタンスまたは適切にインストールされた名前付きインスタンスについて、すべてのデータベースのバックアップを自動的にスケジュールします。 詳細については、Azure 仮想マシンでの SQL Server の自動バックアップ (Resource Manager) に関する記事を参照してください。

SQL IaaS Agent 拡張機能が必要です。
自動修正 VM で Windows と SQL Server の重要なセキュリティ更新プログラムを実行できるメンテナンス期間を構成します。こうすることで、ワークロードのピーク時に更新が実行されるのを回避できます。 詳細については、「Azure Virtual Machines での SQL Server の自動修正 (Resource Manager)」をご覧ください。

SQL IaaS Agent 拡張機能が必要です。
Azure Key Vault の統合 SQL Server VM に Azure Key Vault を自動的にインストールして構成できます。 詳細については、「Azure Virtual Machines 上の SQL Server 向け Azure Key Vault 統合の構成 (Resource Manager)」をご覧ください。

SQL IaaS Agent 拡張機能が必要です。
Azure Update Manager の統合 自動修正では SQL Server 用の累積的な更新プログラムはインストールされないため、SQL 仮想マシン リソースに Azure Update Manager を統合することで置き換えることができます。これによって、SQL Server VM の修正機能が強化されます。 現在、この機能はプレビュー段階にあります。
柔軟なライセンス ライセンス持ち込み (「Azure ハイブリッド特典」とも呼ばれます) から従量課金制のライセンス モデルに、またはその逆にシームレスに移行することで、コストを節約できます。

基本登録に含まれています。
柔軟なバージョン/エディション SQL Server のバージョンまたはエディションを変更する場合は、SQL Server VM 全体を再デプロイすることなく、Azure portal 内のメタデータを更新できます。

基本登録に含まれています。
tempdb の構成 ファイルの番号、その初回サイズ、場所、自動増加率を指定するなどして、Azure portal から直接 tempdb を構成できます。 変更を有効にするには SQL Server サービスを再起動します。

SQL IaaS Agent 拡張機能が必要です。
Defender for Cloud ポータル統合 Microsoft Defender for SQL を有効にすると、Azure portal の SQL 仮想マシン リソースで Defender for Cloud 推奨事項を直接閲覧できます。 詳細については、セキュリティのベスト プラクティスを参照してください。

SQL IaaS Agent 拡張機能が必要です。
SQL ベスト プラクティス評価 構成のベストプラクティスを使用して SQL Server vm の正常性を評価できます。 詳細については、「SQL ベスト プラクティス評価」を参照してください。

SQL IaaS Agent 拡張機能が必要です。
ポータルでディスク使用率を表示する Azure portal 内の SQL データ ファイルのディスク使用率をグラフィカルに表示できます。

SQL IaaS Agent 拡張機能が必要です。

アクセス許可モデル

既定では、SQL IaaS Agent 拡張機能では、最小特権モードのアクセス許可モデルが使用されます。 最小特権のアクセス許可モデルとは、有効にする各機能に必要な最小限のアクセス許可を付与するものです。 使う各機能には、SQL Server のカスタム ロールが割り当てられます。また、カスタム ロールには、その機能に関連するアクションを実行するために必要なアクセス許可のみが付与されます。

2022 年 10 月より前にデプロイされた SQL Server VM では、SQL IaaS Agent 拡張機能が既定で sysadmin 権限を使用する以前の古い sysadmin モデルが使用されます。 2022 年 10 月よりも前にプロビジョニングされた SQL Server VM の場合は、SQL 仮想マシン リソースに移動し、[セキュリティ][セキュリティ構成] を選択してから、[最小特権モードの有効化] の横にあるボックスにチェックを入れると、最小特権の権限モデルを有効にできます。

最小権限パーミッションモデルを有効にするには、SQL仮想マシンリソースで、[セキュリティ][セキュリティ構成]を選択し、[最小特権モードの有効化]の横にあるチェックボックスをオンにします。

Screenshot of the Azure portal SQL virtual machines resource, Security Configuration page, enable least privilege highlighted.

次の表では、拡張機能の各機能で使われるアクセス許可とカスタム ロールを定義します。

機能 アクセス許可 カスタム ロール (サーバー/DB)
SQL ベスト プラクティス評価 サーバーのアクセス許可 - CONTROL SERVER SqlIaaSExtension_Assessment
自動バックアップ サーバーのアクセス許可 - CONTROL SERVER
データベースのアクセス許可 - master 上の db_ddladminmsdb 上の db_backupoperator
SqlIaaSExtension_AutoBackup
Azure Backup サービス [sysadmin]
資格情報の管理 サーバーのアクセス許可 - CONTROL SERVER SqlIaaSExtension_CredentialMgmt
可用性グループ ポータルの管理 [sysadmin]
R Services サーバーのアクセス許可 - ALTER SETTINGS SqlIaaSExtension_RService
SQL 認証 [sysadmin]
SQL Server のインスタンスの設定 サーバーのアクセス許可 - ALTER ANY LOGIN、ALTER SETTINGS SqlIaaSExtension_SqlInstanceSetting
ストレージの構成 サーバーのアクセス許可 - ALTER ANY DATABASE SqlIaaSExtension_StorageConfig
ステータス レポート サーバーのアクセス許可 - VIEW ANY DEFINITION、VIEW SERVER STATE、ALTER ANY LOGIN、CONNECT SQL SqlIaaSExtension_StatusReporting

インストール

SQL Server VM を SQL IaaS Agent 拡張機能に登録すると、バイナリがその VM にコピーされます。 これに依存する機能を有効にすると、SQL IaaS Agent 拡張機能が VM にインストールされ、SQL Server にアクセスできるようになります。 既定では、エージェントは最小特権モデルに従い、有効にした機能に関連付けられた SQL Server 内のアクセス許可のみが付与されます。ただし、自分で SQL Server を VM にインストールするか、2022 年 10 月より前にマーケットプレースから SQL Server イメージをデプロイした場合は、エージェントには SQL Server 内でシステム管理者アクセス許可が付与されます。

Azure portal を介して SQL Server VM の Azure Marketplace イメージをデプロイすると、その SQL Server VM が自動的に拡張機能に登録されます。 ただし、Azure 仮想マシンに SQL Server を自分でインストールすること、またはカスタム VHD から Azure 仮想マシンをプロビジョニングすることを選ぶ場合、機能面のベネフィットのロックを解除するには、SQL Server VM を SQL IaaS Agent 拡張機能に登録する必要があります。 既定では、SQL Server 2016 以降がデプロイされている自己インストールされた Azure VM が CEIP サービスによって検出されると、自動的に SQL IaaS Agent 拡張機能に登録されます。 CEIP で検出されない SQL Server VM は手動で登録する必要があります。

SQL IaaS Agent 拡張機能に登録すると、バイナリが仮想マシンにコピーされますが、既定ではエージェントはインストールされません。 エージェントがインストールされるのは、それを必要とするいずれかの SQL IaaS Agent 拡張機能を有効にしたときのみです。このとき、次の 2 つのサービスが仮想マシン上で実行されます:

  • Microsoft SQL Server IaaS Agent は、SQL IaaS Agent 拡張機能のメイン サービスであり、ローカル システム アカウントで実行する必要があります。
  • Microsoft SQL Server IaaS Query Service は、SQL Server 内で拡張機能がクエリを実行するのを支援するヘルパー サービスであり、NT サービス アカウントNT Service\SqlIaaSExtensionQueryで実行する必要があります。

拡張機能に登録する方法は 3 つあります。

SQL Server IaaS Agent 拡張機能を使って SQL Server VM を登録して、お使いのサブスクリプション内に SQL 仮想マシン "リソース" を作成します。これは、仮想マシンリソースとは "別の" リソースです。 拡張機能から SQL Server VM を登録解除すると、サブスクリプションから SQL 仮想マシンの "リソース" は削除されますが、基の仮想マシンはドロップされません。

複数インスタンスのサポート

SQL IaaS Agent 拡張機能は、複数のインスタンスがある仮想マシンで、既定のインスタンスがある場合にのみ機能します。 SQL IaaS Agent 拡張機能に仮想マシンを登録すると、既定のインスタンスが登録され、そのインスタンスが Azure portal から管理できるようになります。

既定のインスタンスが存在しない場合、SQL IaaS Agent 拡張機能は、複数の名前付きインスタンスがある仮想マシンをサポートしません。

名前付きインスタンスのサポート

SQL IaaS 拡張機能は、SQL Server の名前付きインスタンスが仮想マシンで使用できる唯一の SQL Server インスタンスである場合に、そのインスタンスで動作します。 SQL IaaS Agent 拡張機能は、複数の名前付きインスタンスがある VM をサポートしていません。

SQL Server の名前付きインスタンスを使うには、Azure 仮想マシンをデプロイし、1 つの名前付き SQL Server インスタンスをそれにインストールし、その後、SQL IaaS Agent 拡張機能にそれを登録します。

または、Azure Marketplace SQL Server イメージで名前付きインスタンスを使用するには、次の手順を実行します。

  1. Azure Marketplace から SQL Server VM をデプロイします。
  2. SQL IaaS Agent 拡張機能から SQL Server VM の登録を解除します。
  3. SQL Server VM 内で SQL Server を完全にアンインストールします。
  4. 仮想マシンを再起動します。
  5. SQL Server VM 内の名前付きインスタンスで SQL Server をインストールします。
  6. 仮想マシンを再起動します。
  7. SQL IaaS Agent 拡張機能に VM を登録します

フェールオーバー クラスター インスタンスのサポート

SQL Server フェールオーバー クラスター インスタンス (FCI) の登録は、限られた機能でサポートされています。 機能が限定されているため、拡張機能に登録されている SQL Server FCI は、自動バックアップ、修正プログラムの適用、高度なポータル管理など、エージェントを必要とする機能をサポートしていません。

SQL Server VM が SQL IaaS Agent 拡張機能に既に登録されていると同時にエージェントを必要とする機能を有効にしている場合は、その拡張機能から SQL Server VM の登録を解除し、FCI のインストール後に再登録する必要があります。

拡張機能の状態を確認する

Azure portal、Azure PowerShell、または Azure CLI を使って、拡張機能の状態を確認します。

Azure portal に拡張機能がインストールされていることを確認します。

Azure portal で [仮想マシン] リソースに移動します ( [SQL 仮想マシン] リソースではなく、お使いの VM のリソースです)。 [設定][拡張機能] を選択します。 次の例のように、SqlIaasExtension 拡張機能が一覧に表示されます。

Screenshot from the Azure portal of the status of the SQL Server IaaS Agent extension.

制限事項

SQL IaaS Agent 拡張機能では、以下のみがサポートされます。

  • Azure Resource Manager を介してデプロイされた SQL Server VM。 クラシック モデルを介してデプロイされた SQL Server VM はサポートされません。
  • パブリック クラウドまたは Azure Government クラウドにデプロイされた SQL Server VM。 その他のプライベート クラウドや政府機関向けクラウドにデプロイされている場合はサポートされません。
  • 機能が制限された SQL Server FCI。 拡張機能に登録された SQL Server FCI は、自動バックアップ、修正プログラムの適用、高度なポータル管理など、エージェントを必要とする機能をサポートしません。
  • 既定のインスタンスを持つ VM、または単一の名前付きインスタンス。
  • VM に複数の名前付きインスタンスがある場合、SQL IaaS Agent 拡張機能を操作するには、いずれかのインスタンスが既定のインスタンスである必要があります。
  • SQL Server インスタンスのイメージのみ。 SQL IaaS Agent の拡張機能では、SQL Server Reporting Services、Power BI Report Server、SQL Server Analysis Services などの Reporting Services または Analysis Services はサポートされていません。

プライバシーに関する声明

Azure VM 上の SQL Server と SQL IaaS Agent 拡張機能を使う場合は、次のプライバシーに関する声明を考慮してください。

  • 自動登録: 既定では、SQL Server 2016 以降が存在する Azure VM は、CEIP サービスによって検出されると自動的に SQL IaaS Agent 拡張機能に登録されます。 詳細については、「SQL Server のプライバシーの補足情報」を参照してください。

  • データ収集: SQL IaaS Agent 拡張機能を使用すると、Azure Virtual Machines 上の SQL Server を使用するお客様に追加のメリットを提供するという明確な目的のために、データが収集されます。 Microsoft は、お客様の事前の同意なく、ライセンスの監査にこのデータを使用することはありません。 詳細については、「SQL Server のプライバシーの補足情報」を参照してください。

  • リージョン内のデータの所在: Azure VM 上の SQL Server と SQL IaaS Agent 拡張機能によって、VM がデプロイされているリージョン外に顧客データが移動されたり、保存されたりすることはありません。

SQL Server IaaS 拡張機能を Azure VM 上の SQL Server にインストールする方法については、自動インストール単一の VM の登録、または VM の一括登録 に関する記事を参照してください。 問題の解決については、拡張機能に関する既知の問題のトラブルシューティングに関するページを参照してください。

さらに学習するには、次の記事を参照してください。