インスタンス プール (プレビュー) とは。 Azure SQL Managed Instance -
適用対象: Azure SQL Managed Instance
この記事では、Azure SQL Managed Instance のインスタンス プールのデプロイ オプションの概要について説明します。
インスタンス プールを使用すると、共有リソースを使用して複数のインスタンスをデプロイできます。これは、より小規模でコンピューティング負荷の低いワークロードをより大きな SQL Managed Instance に統合することなく、SQL Server インスタンスから複数のデータベースを移行するための便利でコスト効率の高いインフラストラクチャを提供します。
開始するには、「インスタンス プールの作成」を確認してください。
Note
現在、Azure SQL Managed Instance 用インスタンス プールはプレビュー段階にあります。
概要
Azure SQL Managed Instance のインスタンス プールを使用すると、共有リソースを持つ複数のインスタンスを、仮想クラスター 内の 1 つの基になる仮想マシンにデプロイできます。
インスタンス プールには、次のような主な利点があります。
- インスタンス プール内でのみ使用できる 2 仮想コア インスタンスをホストする機能
- 予測可能で高速なインスタンスのデプロイ時間 (最大 5 分)。
- 複数の SQL Server インスタンスを移行するときのコスト削減インフラストラクチャ。
次の図は、仮想ネットワーク サブネットの仮想クラスターに複数の Managed Instance がデプロイされているインスタンス プールを示しています。
新機能
インスタンス プールの 2024 プレビュー更新では、次の新機能が提供されます。
- プールの構成 (コンピューティング サイズ、ライセンス、プロパティなど) は、PowerShell または Azure CLI を使用して更新できます。
- プレミアムシリーズ ハードウェアがサポートされるようになりました。
- PowerShell または Azure CLI を使用して、プールとの間でインスタンスを移動できます。
Architecture
インスタンス プールは、単一の Managed Instance と同様のアーキテクチャを備えています。 Azure 仮想ネットワーク内のデプロイ をサポートし、お客様に分離とセキュリティを提供するため、インスタンス プールでは 仮想クラスター にも依存しています。 仮想クラスターは、お客様の仮想ネットワーク サブネット内にデプロイされている分離された仮想マシンの専用セットを表します。 すべての単一インスタンスとインスタンス プールは、同じ仮想クラスターに属します。 プール内のインスタンスと、同じサブネット内にデプロイされた単一インスタンスは、SQL Server プロセスとゲートウェイ コンポーネントに割り当てられたコンピューティング リースを共有しません。これにより、パフォーマンスの予測可能性が確保されます。 プールの初期デプロイ後、プールのプロビジョニング時に仮想クラスターが既に拡張されているため、プール内のインスタンスに対する管理操作が高速になります。
仮想マシンのコンピューティング サイズは、プールに割り当てられた仮想コアの合計数に基づきます。これはプール内のインスタンス間で分散されます。 このアーキテクチャを使用すると、仮想マシンを複数のインスタンスに パーティション分割できます。この場合、2 個の仮想コアを含むサポート対象の任意のサイズに分割できます (インスタンス プール専用)。 たとえば、8 仮想コア インスタンス プールをデプロイする場合、2 つの 2 仮想コアと 1 つの 4 仮想コア インスタンスをデプロイできます。 その後、SQL Server データベースをプール内のインスタンスに移行できます。 さらに、インスタンス プールではネイティブ仮想ネットワーク統合がサポートされているため、同じサブネット内に複数のインスタンス プールと複数の単一インスタンスをデプロイできます。
2 つのデプロイ モデルの主な違いは、Windows ジョブ オブジェクトを使用して管理されるリソースであるインスタンス プールを使用するときに、同じ仮想マシン内に複数の SQL Server プロセスを作成できることです。 単一インスタンスの仮想マシン ノード上の SQL Server プロセスは 1 つだけです。
次の図は、2 つのデプロイ モデル間の主なアーキテクチャの違いを示しています。
アプリケーションのシナリオ
インスタンス プールは次のような用途に適しています。
- インスタンスが 2 仮想コアまたは 4 仮想コアの 小規模な SQL Server インスタンスのグループ の同時移行。
- 迅速で予測可能なインスタンスの作成またはスケーリング が必要です。 たとえば、インスタンスレベルの機能を必要とするマルチテナント型の SaaS アプリケ―ション環境に新しいテナントをデプロイする場合です。
- "固定費" または "使用制限" があることが重要です。 たとえば、固定サイズ (またはほとんどサイズが変化しない) の共有の開発/テストまたはデモ環境を実行していて、必要に応じてマネージド インスタンスを定期的にデプロイする場合です。
インスタンス プールは、複数の SQL Server インスタンスの移行に特に適しています。すべての移行要件に従って共有コンピューティング リソースを事前プロビジョニングすると、移行後の総保有コストが削減されるためです。 たとえば、4 つの小規模なオンプレミス SQL Server インスタンスを Azure SQL Managed Instance に移行するシナリオを考えます。 インスタンス プールがない場合は、それぞれ 4 つ以上の仮想コアを持つ 4 つの個別の単一 SQL Managed Instance をプロビジョニングし、すべて独自の専用リソースを使用します。 インスタンス プールを使用すると、2 つの仮想コアを持つすべてのインスタンスをプールにデプロイでき、プールでリソースを共有できるため、このコストを削減できます。
インスタンスとプールのプロパティ
次のプロパティは、プール内のすべてのインスタンスのプール レベルで構成されます。
- ハードウェア層
- Azure ハイブリッド特典などの SQL Server ライセンス
- メンテナンス期間
さらに、以下を検討してください。
- プール内に作成された Managed Instance では、単一の Managed Instanceで利用可能な同じ互換性レベルと機能がサポートされます。
- オプションの機能、または特定の値 (インスタンスレベルの照合順序、タイム ゾーン、データ トラフィックのパブリック エンドポイント、フェールオーバー グループなど) を選択する必要がある機能は、インスタンス レベルで構成され、プール内のインスタンスごとに異なる場合があります。
- プールにデプロイされたインスタンスは同じ仮想マシンを共有するので、セキュリティ上のリスクが高い機能を無効にするか、CLR の統合、ネイティブのバックアップと復元、データベース メールなどの機能へのアクセス許可をしっかりと制御することを検討してください。
- プールに追加する前または後に Microsoft Entra 認証を使用するように SQL Managed Instance を構成できます。
- プールにデプロイされたすべてのマネージド インスタンスには、SQL エージェントの個別のインスタンスがあります。
リソース制限
プールにインスタンスをデプロイする場合、プールされた各インスタンスには制限があり、プール全体で使用されるリソースには制限があります。
次の表では、プールされたインスタンスとプールの両方の制限について詳しく説明します。
プールの制限 | プールされたインスタンスの制限 | |
---|---|---|
サービス レベル | General Purpose | 汎用 |
ハードウェア層 | Standard シリーズ (Gen5) Premium シリーズ |
Standard シリーズ (Gen5) Premium シリーズ |
仮想コアの数1 | 8-16-24-32-40-64-80 | 2-4-8-16-24-32-40-64-80 |
最大ストレージ容量 | 32 TB2 | - 2 個の仮想コアの場合は 640 GB - 4 個の仮想コアの場合は 2 TB - 8個の仮想コアの場合は 8 TB - 16 以上の仮想コアの場合は 16 TB |
最大データベース数 | 500 | - 2 個の仮想コアの場合は 50 - 4 以上の仮想コアの場合は 100 |
最大インスタンス数 | 40 | 該当なし |
1 プールされたインスタンスの仮想コア オプションは、インスタンス プールで使用可能な仮想コアの数によって異なります。
2 プールのストレージ上限は、プール内のすべてのインスタンスのストレージの合計によって決まります。
その他すべてのインスタンス レベルの制限については、「リソース制限」を確認してください。
パフォーマンスに関する考慮事項
プール内の Managed Instance には専用の仮想コアと RAM がありますが、ローカル ディスク (tempdb
のため) とネットワーク リソースを共有します。 可能性は低いですが、プール内の複数のインスタンスでリソース消費量が同時に増加すると、"ノイジー ネイバー" (うるさい隣人) の影響を受ける可能性があります。
この動作が発生している場合は、プールのサイズを大きくするか、消費量の多いリソースをプール外の単一インスタンスとして再デプロイすることを検討してください。
インスタンス プールの課金
インスタンス プールを使用すると、コンピューティングとストレージを個別にスケーリングできます。 次の料金を支払います。
- プールに割り当てられたコンピューティング (仮想コア単位)
- ギガバイト単位で測定されたすべてのインスタンスに関連付けられているストレージ (最初の 32 GB は、すべてのインスタンスに対して無料です)。
プールの仮想コア価格は、そのプールにデプロイされているインスタンスの数に関係なく課金されます。 プール内の個々のインスタンスに対して、異なる価格オプションを設定することはできません。 プール内のすべてのインスタンスは、同じライセンス モデルを使用する必要があります。 プールのライセンス モデルは、プールの作成後に変更できます。
コンピューティング価格 (仮想コア単位) は、SQL Server ライセンス価格を全額支払っているかどうかによって異なります。 次の 2 つの価格オプションが使用できます。
- ライセンス込み: SQL Server ライセンスの料金が含まれます。
- Azure ハイブリッド特典: SQL Server 向けの Azure ハイブリッド特典 を含む割引価格。 お客様は、ソフトウェア アシュアランス付きの既存の SQL Server ライセンスを使用してこの価格を選択することができます。
インスタンス プールの価格の詳細については、SQL Managed Instance の価格のページで "インスタンス プール" のセクションを参照してください。
Note
開発テスト特典の対象となるサブスクリプション でインスタンス プールを作成すると、Azure SQL Managed Instance で最大 55% の割引料金が自動的に受けられます。
制限事項
詳細については、インスタンス プールの制限事項 を確認してください。