

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# インスタンスを統合する
<a name="consolidate-instances"></a>

このセクションでは、複数の SQL Server インスタンスを同じサーバーに結合してライセンスコストを最小限に抑え、リソース使用率を最大化するコスト最適化手法に焦点を当てます。

## 概要:
<a name="consolidate-instances-overview"></a>

インスタンスの作成は、SQL Server データベースエンジンをインストールするプロセスの一部です。SQL Server インスタンスは、独自のサーバーファイル、セキュリティログイン、システムデータベース (マスター、モデル、msdb、tempdb) を含む完全なインストールです。インスタンスには独自のファイルとサービスがすべて備わっているため、インスタンスの相互の干渉なく、同じオペレーティングシステムに複数の SQL Server インスタンスをインストールできます。ただし、インスタンスはすべて同じサーバーにインストールされるため、コンピューティング、メモリ、ネットワークなどの同じハードウェアリソースを共有します。

通常、本番環境ではサーバーごとに 1 つの SQL Server インスタンスのみを使用し、「ビジー」インスタンスが共有ハードウェアリソースを過剰に使用しないようにします。各 SQL Server インスタンスに、独自のリソースを持つ独自のオペレーティングシステムを提供することは、リソースガバナンスに依存するよりも優れた境界となります。これは、大量の RAM と CPU のリソースを必要とする高パフォーマンス SQL Server ワークロードに特に当てはまります。

ただし、すべての SQL Server ワークロードが大量のリソースを使用するわけではありません。例えば、一部の組織では、コンプライアンスまたはセキュリティの目的で、各顧客に独自の専用 SQL Server インスタンスを割り当てています。小規模なクライアントや通常はアクティブではないクライアントの場合は、最小限のリソースで SQL Server インスタンスを実行することになります。

「[Microsoft SQL Server 2019: Licensing guide](https://download.microsoft.com/download/e/2/9/e29a9331-965d-4faa-bd2e-7c1db7cd8348/SQL_Server_2019_Licensing_guide.pdf)」に記載されているように、SQL Server を実行している各サーバーは、最低 4 つの CPU ライセンスを考慮する必要があります。つまり、2 つの vCPU のみでサーバーを実行する場合でも、4 つの vCPU の SQL Server ライセンスを取得する必要があります。[Microsoft が公開している SQL Server の価格](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)に基づくと、SQL Server Standard Edition を使用する場合の差額は 3,945 USD になります。最小限のリソースを使用して 1 つの SQL Server インスタンスで複数のサーバーを実行している組織では、未使用のリソースをライセンスしなければならない場合の合計コストが高額になる可能性があります。

## コスト最適化シナリオ
<a name="consolidate-instances-cost-opt-scenario"></a>

このセクションでは、それぞれが 1 つの SQL Server インスタンスを持つ 4 つの Windows Server サーバーの実行と、複数の SQL Server インスタンスを同時に実行する 1 つの大きな Windows Server サーバーの実行の違いを比較するシナリオの例について説明します。

各 SQL Server インスタンスが 2 つの vCPU と 8 GB RAM のみを必要とする場合、サーバーあたりの合計コストは、SQL Server ライセンスに対して 7,890 USD、さらに 1 時間あたりのコンピューティング コストとして 0.096 USD になります。


****  

| EC2 インスタンス | vCPU | RAM | 料金 | ライセンスする vCPU | SQL Server ライセンスコストの合計 | 
| --- | --- | --- | --- | --- | --- | 
| m6i.large | 2 | 8 | 0.096 | 4 | 7,890 USD | 

これを 4 つのサーバーに拡張すると、合計コストは、SQL Server ライセンスに対して 31,560 USD、さらに 1 時間あたりのコンピューティング コストとして 0.384 USD になります。


****  

| EC2 インスタンス | vCPU | RAM | 料金 | ライセンスする vCPU | SQL Server ライセンスコストの合計 | 
| --- | --- | --- | --- | --- | --- | 
| 4x m6i.large | 2 | 32 | 0.384 | 16 | 31,560 USD | 

4 つの SQL Server インスタンスをすべて 1 つの EC2 インスタンスに結合した場合、コンピューティングリソースとコンピューティングの合計量は同じままになります。ただし、不要な SQL Server ライセンスコストを排除することで、ワークロードを実行する合計コストを 15,780 USD 削減できます。


****  

| EC2 インスタンス | vCPU | RAM | 料金 | ライセンスする vCPU | SQL Server ライセンスコストの合計 | 
| --- | --- | --- | --- | --- | --- | 
| m6i.2xlarge | 8 | 32 | 0.384 | 8 | 15,780 USD | 

**注記**  
上記の表では、コンピューティングコストは、`us-east-1` リージョンで Windows Server を実行している Amazon EC2 サーバーの時間単位のオンデマンド料金を示しています。SQL Server Standard Edition のライセンスコストは、[Microsoft が公開している SQL Server の価格](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)を参照しています。

## コスト最適化の推奨事項
<a name="consolidate-instances-cost-opt-rec"></a>

SQL Server インスタンスの統合を検討している場合、最大の懸念事項は、統合する各インスタンスのリソース消費量です。各サーバーのワークロードパターンをよりよく理解するには、長期間にわたってパフォーマンスメトリクスを取得することが重要です。リソース消費モニタリングの一般的なツールには、[Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-basic-detailed.html)、[Windows Performance Monitor](https://techcommunity.microsoft.com/t5/ask-the-performance-team/windows-performance-monitor-overview/ba-p/375481) (perfmon)、SQL Server の[ネイティブモニタリングツール](https://learn.microsoft.com/en-us/sql/relational-databases/performance/performance-monitoring-and-tuning-tools?view=sql-server-ver16)があります。

SQL Server ワークロードを組み合わせて互いに干渉することなく同じサーバーリソースを使用できるかどうかを分析するときは、次の質問を検討することをお勧めします。
+ 定常状態で消費されるリソースは何か (CPU、メモリ、ネットワーク帯域幅)。
+ スパイク時に消費されるリソースは何か (CPU、メモリ、ネットワーク帯域幅)。
+ スパイクはどのくらいの頻度で発生するか。スパイクは一貫しているか。
+ あるサーバーのリソーススパイクが別のサーバーのリソーススパイクと一致しているか。
+ SQL Server で使用されるストレージの IOPS とスループットはどれくらいか。

SQL Server インスタンスを組み合わせる計画を進める場合は、 AWS クラウド運用および移行ブログの記事「[Run multiple instances of SQL Server on one Amazon EC2 instance](https://aws.amazon.com/blogs/mt/run-multiple-instances-sql-server-on-one-amazon-ec2-instance/)」を参照してください。この記事では、SQL Server で設定を変更してインスタンスを追加する方法について説明しています。開始する前に、同じサーバーに複数のインスタンスがインストールされる場合の小さな違いを考慮してください。
+ デフォルトの SQL Server データベースインスタンスの名前は `MSSQLSERVER` で、ポート 1433 を使用します。
+ 同じサーバーにインストールされる各追加インスタンスは、「名前付き」データベースインスタンスです。
+ 各名前付きインスタンスには、一意のインスタンス名と一意のポートがあります。
+ 名前付きインスタンスへのトラフィックを調整するには、[SQL Server Browser](https://learn.microsoft.com/en-us/sql/tools/configuration-manager/sql-server-browser-service?view=sql-server-ver16) を実行する必要があります。
+ 各インスタンスは、データベースデータファイル用に個別の場所を使用でき、個別のログインを使用できます。
+ SQL Server の[最大サーバーメモリ設定](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver16)は、各インスタンスのパフォーマンスニーズに応じて設定する必要があり、合わせた合計において、基盤となるオペレーティングシステムに十分なメモリも残しておく必要があります。
+ 移行や統合には、SQL Server の[ネイティブバックアップおよび復元](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases?view=sql-server-ver16)機能、または [AWS DMS](https://aws.amazon.com/blogs/database/consolidate-data-from-identical-sql-server-databases-into-a-single-amazon-rds-for-sql-server-database-using-aws-dms/) を使用できます。

## その他のリソース
<a name="consolidate-instances-resources"></a>
+ [SQL Server Licensing Datasheet](https://download.microsoft.com/download/0/5/c/05c60185-ebdd-4472-895a-3d8e8da55682/SQL_Server_2019_Licensing_Datasheet.pdf) (AWS クラウドオペレーションと移行ブログ)
+ [SQL Server マルチインスタンスセットアップブログ記事](https://aws.amazon.com/blogs/mt/run-multiple-instances-sql-server-on-one-amazon-ec2-instance/) (AWS クラウドオペレーションと移行ブログ)