SQL IaaS Agent 拡張機能への自動登録

適用対象:Azure VM 上の SQL Server

既定では、SQL Server 2016 以降が存在する Azure VM は、CEIP サービスによって検出されると自動的に SQL IaaS Agent 拡張機能に登録されます。 サブスクリプションの自動登録機能を有効にすることで、旧バージョンの SQL Server など、CEIP サービスで取得されなかった SQL Server VM を簡単かつ自動的に登録できます。

この記事では、自動登録機能を有効にする方法について説明します。 また、SQL IaaS Agent 拡張機能に 1 つの VM を登録することや、複数の VM を一括で登録することもできます。

Note

2022 年 10 月より後に Azure Marketplace からデプロイされた SQL Server VM では、最小特権モデルが既定で有効になります。 SQL IaaS Agent 拡張機能の管理モードは、2023 年 3 月に廃止されました。

概要

ご使用の SQL Server VM を SQL IaaS Agent 拡張機能に登録すると、特典の完全な機能セットがロック解除されます。

既定では、SQL Server 2016 以降が存在する Azure VM は、CEIP サービスによって検出されると、機能が制限された状態で自動的に SQL IaaS Agent 拡張機能に登録されます。 自動登録機能を使うと、CEIP サービスによって特定されなかった SQL Server VM を自動的に登録できます。 ライセンスの種類は、自動的に VM イメージの既定値に設定されます。 VM に従量課金イメージを使用する場合、ライセンスの種類は PAYG になります。それ以外の場合、ライセンスの種類は既定で AHUB になります。 プライバシーについては、SQL IaaS Agent 拡張機能のプライバシー ステートメントに関する記事を参照してください。

サブスクリプションに対して自動登録を有効にすると、SQL Server が既にインストールされている、または今後インストールされる VM が SQL IaaS Agent 拡張機能に登録されます。 これを行うには、サブスクリプション内のすべての未登録 VM に SQL Server がインストールされているかどうかを検出する月次ジョブを実行します。 未登録 VM の場合、このジョブにより、SQL IaaS Agent 拡張機能のバイナリが VM にコピーされ、SQL Server レジストリ ハイブを確認するユーティリティが 1 回だけ実行されます。 SQL Server ハイブが検出された場合、仮想マシンは拡張機能に登録されます。 レジストリに SQL Server ハイブが存在しない場合は、バイナリが削除されます。

自動登録の場合、ライセンス管理など、拡張機能の限られた機能が提供されます。 その他の機能は、Azure portalSQL 仮想マシン リソースから有効にすることができます。

注意

  • SQL Server ハイブがレジストリに存在しない場合にリソース ロックが存在すると、バイナリの削除に影響を与えることがあります。
  • SQL IaaS Agent 拡張機能がプレインストールされたマーケットプレース イメージを使って SQL Server VM をデプロイし、拡張機能が失敗状態になるか、削除された場合、自動登録によってレジストリが調べられて VM に SQL Server がインストールされているかどうかが確認され、拡張機能に登録されます。

一元管理された Azure ハイブリッド特典との統合

一元管理された Azure ハイブリッド特典 (CM-AHB) は、お客様が Azure のコストを最適化し、次のような他の特典を利用するのに役立つサービスです。

  • すべての従量課金制 (正規料金) SQL PaaS/IaaS ワークロードを移行して、Azure ハイブリッド特典を利用するようにします。特典が有効になるように個別に構成する必要はありません。
  • すべての SQL ワークロードが既存の使用許諾契約に準拠し、ライセンスがある状態を確保します。
  • RBAC を使って devops ロールからライセンス コンプライアンス管理ロールを分離します
  • パッシブ環境とディザスター リカバリー (DR) 環境が適切に識別されるようにして、無料のビジネス継続性を活用します。
  • 運用環境以外の環境では、Azure で MSDN ライセンスを使います。

CM-AHB では、SQL IaaS エージェント拡張機能によって提供されるデータを使用して、個々の Azure VM で使用される SQL Server ライセンスの数を考慮して、ライセンス割り当てプロセス中に課金管理者に推奨事項を提示します。 推奨事項を使用すると、Azure ハイブリッド特典を使用して最大限の割引を受けることができます。 課金管理者が CM-AHB を有効にするときに VM が SQL IaaS Agent 拡張機能に登録されていない場合、サービスに Azure サブスクリプションから完全な使用状況データが届かないため、CM-AHB の推奨事項は不正確なものになります。

重要

CM-AHB を有効にした後で自動登録がアクティブ化されると、Azure VM ワークロードの SQL Server に対して不要な従量課金制の料金が発生するリスクがあります。 このリスクを軽減するには、自動登録後に SQL IaaS Agent 拡張機能によって報告される追加の使用量を考慮して、CM-AHB のライセンス割り当てを調整します。 SQL IaaS エージェント拡張機能にまだ登録されていない Azure Virtual Machines 上の SQL Server の使用率など、SQL Server ライセンスの使用率に関する分析情報を提供するオープンソース ツールを公開しました。

前提条件

SQL Server VM の拡張機能の自動登録を有効にするには、以下が必要です。

  • Azure サブスクリプション
  • 仮想マシンの登録に使用されるクライアント資格情報は、Azure ロールの仮想マシンの共同作成者共同作成者、または所有者のいずれかに存在します。

自動登録を有効にすると、SQL Server VM は以下を条件として登録されます。

  • VM が、Azure Resource モデルを使って、サポートされたWindows Server 仮想マシンにデプロイされていること。
  • SQL Server がインストールされていること。
  • VM がパブリック クラウドまたは Azure Government クラウドにデプロイされていること。 現在、他のクラウドはサポートされていません。
  • VM が実行されていること。

Note

Azure では、Ubuntu Linux VM の自動登録がサポートされています。

自動登録を有効にする

Azure portal で SQL Server VM の自動登録を有効にするには、これらの手順を実行します。

  1. Azure portal にサインインします。

  2. [SQL 仮想マシン] リソース ページに移動します。

  3. [Automatic SQL Server VM registration](自動 SQL Server VM 登録) を選択して [Automatic registration](自動登録) ページを開きます。

    Screenshot showing how to select Automatic SQL Server VM registration to open the automatic registration page

  4. [サブスクリプション] ボックスの一覧で、サブスクリプションを選びます。

  5. 条項を読み、同意する場合は [同意する] を選択します。

  6. [登録] を選択すると、この機能が有効になり、既存および今後のすべての SQL Server VM が SQL IaaS Agent 拡張機能に自動的に登録されるようになります。 これにより、どの VM 上の SQL Server サービスも再起動されません。

自動登録を無効にする

自動登録機能を無効にするには、Azure CLI または Azure PowerShell を使用します。 自動登録機能が無効になっている場合、サブスクリプションに追加された SQL Server VM は、SQL IaaS Agent 拡張機能に手動で登録する必要があります。 これにより、既に登録されている既存の SQL Server VM の登録が解除されることはありません。

Azure CLI を使用して自動登録を無効にするには、次のコマンドを実行します。

az feature unregister --namespace Microsoft.SqlVirtualMachine --name BulkRegistration

複数のサブスクリプションに対して有効にする

PowerShell を使用すると、複数の Azure サブスクリプションの自動登録機能を有効にすることができます。

これを行うには、次の手順に従います。

  1. このスクリプトを保存します。

  2. 管理コマンド プロンプトまたは PowerShell ウィンドウを使用して、スクリプトを保存した場所に移動します。

  3. Azure に接続します (az login)。

  4. スクリプトを実行し、パラメーターとして SubscriptionIds を渡します。 サブスクリプションが指定されていない場合、スクリプトによって、ユーザー アカウント内のすべてのサブスクリプションの自動登録が有効になります。

    次のコマンドを実行すると、2 つのサブスクリプションの自動登録が有効になります。

    .\EnableBySubscription.ps1 -SubscriptionList a1a1a-aa11-11aa-a1a1-a11a111a1,b2b2b2-bb22-22bb-b2b2-b2b2b2bb
    

    次のコマンドを実行すると、すべてのサブスクリプションの自動登録が有効になります。

    .\EnableBySubscription.ps1
    

登録の失敗エラーは、.ps1 スクリプトの保存と実行に使用したものと同じディレクトリ内にある RegistrationErrors.csv に格納されます。

次のステップ

詳細については、次の記事を参照してください。