翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SQL Server ワークロードに適した EC2 インスタンスを選択する
重要
このセクションを読む前に、このガイドの「SQL Server ライセンスを理解する」セクションと「Select the right instance type for Windows workloads」セクションを読んでおくことをお勧めします。
概要:
Microsoft SQL Server は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで 15 年以上実行されています。 AWS はその経験を積んでおり、最小限の仕様から高パフォーマンスのマルチリージョンクラスターまで実行される SQL Server ワークロードに合わせて Amazon EC2 インスタンスを開発するのに役立ちます。
SQL Server の正しい EC2 インスタンスの選択は、ワークロードに大きく依存します。SQL Server のライセンス方法、メモリの使用方法、そして SQL Server の機能が Amazon EC2 サービスとどのように連携しているかを理解することは、アプリケーションに最適な EC2 インスタンスを導くのに役立ちます。
このセクションでは、さまざまな SQL Server ワークロードと、ライセンスとコンピューティングのコストを最小限に抑えるために特定の EC2 インスタンスと組み合わせる方法について説明します。
コスト比較
Amazon EC2 では、Bring Your Own License (BYOL) を使用するか、Windows Server および SQL Server ライセンスで従量制料金を使用することができます。従量制料金ライセンスの場合、Windows Server および SQL Server ライセンスのライセンスコストは、EC2 インスタンスの時間単位のコストに組み込まれます。例えば、異なる料金の異なる AMI を持つことができます。AMI の料金は、AMI が実行される SQL Server エディションによって異なります。
Windows Server と SQL Server の料金は項目化されません。AWS 料金見積りツール
| EC2 インスタンス | AMI | コンピューティング料金 | Windows ライセンス料金 | SQL ライセンス料金 | 合計料金 |
|---|---|---|---|---|---|
| r5.xlarge | Linux (コンピューティング料金) | 183.96 USD | - | - | 183.96 USD |
| r5.xlarge | Linux + SQL Developer | 183.96 USD | $0 | $0 | 183.96 USD |
| r5.xlarge | Windows Server (LI) | 183.96 USD | 134.32 USD | - | 318.28 USD |
| r5.xlarge | Windows + SQL Developer | 183.96 USD | 134.32 USD | $0 | 318.28 USD |
| r5.xlarge | Windows + SQL Web (LI) | 183.96 USD | 134.32 USD | 49.64 USD | 367.92 USD |
| r5.xlarge | Windows + SQL Standard (LI) | 183.96 USD | 134.32 USD | 350.4 USD | 668.68 USD |
| r5.xlarge | Windows + SQL Enterprise (LI) | 183.96 USD | 134.32 USD | 1,095 USD | 1413.28 USD |
注記
前の表の料金は、us-east-1 リージョンのオンデマンド料金に基づいています。
SQL Server を実行する最も費用対効果の高い方法は、上位エディションの機能が必要になるまで、下位エディションのままにしておくことです。詳細については、このガイドの「SQL Server エディションの比較」セクションを参照してください。SQL Server Web Edition から SQL Server Standard Edition へのアップグレードは、SQL Server ライセンスコストの 7 倍を超え、Standard Edition から Enterprise Edition への移行コストの 3 倍を超えます。ライセンスコストの格差は考慮すべき重要な要素であり、このセクションの残りの部分で説明します。
コスト最適化シナリオ
配送車両を追跡する分析会社が SQL Server のパフォーマンスの向上を検討しているというシナリオの例を考えてみましょう。MACO の専門家が会社のパフォーマンスのボトルネックを確認した後、会社は x1e.2xlarge インスタンスから x2iedn.xlarge インスタンスに移行します。インスタンスサイズは小さくなりますが、x2 インスタンスの機能強化により、バッファプール拡張機能を使用することで SQL Server のパフォーマンスと最適化が向上します。これにより、同社は、SQL Server Enterprise Edition から SQL Server Standard Edition にダウングレードし、SQL Server ライセンスを 8 vCPU から 4 vCPU に削減することができました。
最適化前:
| の | EC2 インスタンス | SQL Server エディション | 月額コスト |
|---|---|---|---|
| ProdDB1 | x1e.2xlarge | Enterprise | 3,918.64 USD |
| ProdDB2 | x1e.2xlarge | Enterprise | 3,918.64 USD |
| 合計 | 7,837.28 USD |
最適化後:
| の | EC2 インスタンス | SQL Server エディション | 月額コスト |
|---|---|---|---|
| ProdDB1 | x2iedn.xlarge | Standard | 1,215.00 USD |
| ProdDB2 | x2iedn.xlarge | Standard | 1,215.00 USD |
| 合計 | 2,430.00 USD |
x1e.2xlarge インスタンスから x2iedn.xlarge インスタンスへの変更を組み合わせることで、サンプル顧客は本番データベースサーバーで 1 か月あたり 5,407 USD を節約できました。これにより、ワークロードの総コストが 69% 削減されました。
注記
前の表の料金は、us-east-1 リージョンのオンデマンド料金に基づいています。
コスト最適化の推奨事項
メモリ最適化インスタンス
SQL Server の最も重要な側面の 1 つは、メモリへの依存を理解することです。SQL Server は、オペレーティングシステムで使用されていない使用可能なすべての RAM を使用しようとします (デフォルトのインストールでは最大 2 TB)。これはパフォーマンス上の理由から行われます。メモリ内のデータを操作する方が、絶えずディスクからデータをプルし、変更を加えてディスクに書き戻すよりもはるかにパフォーマンスが高くなります。代わりに、SQL Server はアタッチされたデータベースからできるだけ多くのデータをロードしようとし、そのデータを RAM に保持します。データに対する変更はメモリ内で実行され、後でディスクに書き込まれます。
注記
SQL Server が変更を書き込む方法の詳細については、Microsoft ドキュメントの「Writing Pages
SQL Server は RAM 容量が大きいほどパフォーマンスが向上するため、通常は Amazon EC2 メモリ最適化
最小リソース未満 (4 vCPU 未満) のワークロード
一部のユースケースはバースト可能 (T3) インスタンスでうまく機能しますが、通常は SQL Server ワークロードにバースト可能インスタンスを使用しないことをお勧めします。SQL Server のライセンスは、インスタンスに割り当てられた vCPU の数に基づいています。SQL Server が 1 日の大半がアイドル状態で、バーストクレジットを取得している場合は、完全に活用されていない SQL ライセンスに対して料金が発生します。さらに、SQL Server には、サーバーあたり 4 コアの最小ライセンス要件があります。つまり、4 vCPU 分のコンピューティング能力を必要としない SQL Server ワークロードがある場合、使用していない SQL Server ライセンスを支払っていることになります。これらのシナリオでは、より大きなサーバーに複数の SQL Server インスタンスを統合するのが最適です。
最小リソース (64 GB 未満の RAM) を使用するワークロード
64 GB RAM 未満の SQL Server ワークロードの多くは、高パフォーマンスまたは高可用性を優先しません。これらのタイプのワークロードでは、アプリケーションが Microsoft のライセンス制限の対象である場合、SQL Server Web Edition が適している可能性があります。
重要
SQL Server Web Edition には、Microsoft のライセンス条項に基づいてユースケースが制限されています。SQL Server Web Edition のライセンスは、パブリックアクセスやインターネットアクセスが可能なウェブページ、ウェブサイト、ウェブアプリケーション、およびウェブサービスをサポートします。基幹業務アプリケーション (顧客関係管理、企業リソース管理、その他の類似アプリケーションなど) のサポートには使用できない可能性があります。
SQL Server Web Edition は、最大 32 vCPU および 64 GB RAM までスケール可能で、SQL Server Standard Edition よりも 86% 安価です。リソースの少ないワークロードでは、Intel の同等のものと比較してコンピューティング料金が 10% 安価な r6a などの AMD メモリ最適化インスタンスを使用することも、コンピューティングと SQL のライセンスコストを最小限に抑える良い方法です。
平均リソース (128 GB 未満の RAM) のワークロード
SQL Server Standard Edition は、最大 128 GB の RAM の SQL Server ワークロードの大部分で使用されます。SQL Server Standard Edition は、SQL Server Enterprise Edition よりも 65~75% 安価で、最大 48 vCPU および 128 GB RAM までスケールできます。通常、128 GB RAM の制限は 48 vCPU の制限より前に発生するため、この点が、SQL Server Enterprise Edition へのアップグレードを避けたいほとんどのお客様の焦点となります。
SQL Server には、バッファプール拡張機能
バッファプール拡張機能は、通常の RAM に代わるものではありません。ただし、128 GB を超える RAM が必要な場合は、r6id.4xlarge や x2iedn.xlarge などの EC2 インスタンスでバッファプール拡張機能を使用して、Enterprise Edition ライセンスへのアップグレードを遅らせることができます。
高パフォーマンスワークロード (128 GB を超える RAM)
高いパフォーマンスを必要とする SQL Server ワークロードは、多くのリソースに依存するため、コスト最適化が困難です。ただし、EC2 インスタンスの違いを理解することで、間違った選択を防ぐことができます。
次の表は、さまざまなメモリ最適化 EC2 インスタンスとそのパフォーマンス制限を示しています。
| r5b | r6idn | r7iz | x2iedn | x2iezn | |
|---|---|---|---|---|---|
| プロセッサ | 3.1 GHz 第 2 世代インテル Xeon プロセッサ |
3.5 GHz 第 3 世代インテル Xeon プロセッサ |
3.9 GHz 第 4 世代インテル Xeon スケーラブルプロセッサ |
3.5 GHz 第 3 世代インテル Xeon プロセッサ |
4.5 GHz 第 2 世代インテル Xeon プロセッサ |
| CPU と RAM の比率 | 1:8 | 1:8 | 1:8 | 1:32 | 1:32 |
| 最大 vCPU | 96 | 128 | 128 | 128 | 48 |
| 最大 RAM | 768 GB | 1,024 GB | 1,024 GB | 4,096 GB | 1,536 GB |
| インスタンスストレージ | – | NVMe SSD (4x 1900 GB) |
– | NVMe SSD (2x 1900 GB) |
– |
| io2 Block Express | サポート対象 | サポート対象 | サポート対象 | サポート | – |
| 最大 EBS IOPS | 260,000 | 350,000 | 160,000 | 260,000 | 80,000 |
| 最大 EBS スループット | 60 Gbps | 80 Gbps | 40 Gbps | 80 Gbps | 19 Gbps |
| 最大ネットワーク帯域幅 | 25 Gbps | 200 Gbps | 50 Gbps | 100 Gbps | 100 Gbps |
各インスタンスは異なる目的に使用されます。SQL Server ワークロードを理解すると、最適なインスタンスタイプを選択するのに役立ちます。
属性の詳細:
-
r5b – r5b の「b」属性は、このインスタンスタイプが高 EBS パフォーマンスに焦点を当てていることを意味します。第 5 世代のメモリ最適化インスタンスでは、r5b が優先選択肢でした。これは、io2 Block Express ボリュームを使用し、最大ストレージ IOPS が 260,000 に達した最初のインスタンスタイプでした。r5b インスタンスタイプは、依然として、高 EBS パフォーマンスのニーズに対するコスト効率の高い代替手段です。
-
r6idn – 第 6 世代のメモリ最適化インスタンスは、前世代よりも大幅に改善されました。r5b からの EBS パフォーマンスの強化は、r6idn でさらに一歩前進し、最大 IOPS が 350,000 に向上しました。r6idn には、SQL Server のパフォーマンスをさらに向上させるために、tempdb およびバッファプール拡張用のインスタンスストアボリュームもあります。
-
x2iedn – x2iedn は r6idn に似ています。同様のレベルの拡張 EBS、拡張ネットワーキング、NVMe SSD インスタンスストレージを提供しますが、高メモリワークロードと低 CPU 量 (SQL Server ライセンスコストが低い) では vCPU と RAM の比率が 1:32 になります。
-
x2iezn – x2iezn の「z」属性は、このインスタンスタイプが高プロセッサパフォーマンスに焦点を当てていることを示します。Cascade Lake プロセッサの全コアターボ周波数は最大 4.5 GHz です。vCPU の数を低く抑えたいシナリオでは、この EC2 インスタンスを 1:32 の vCPU と RAM の比率と組み合わせて使用することをお勧めします。これにより、SQL Server のライセンスコストを低く抑えることができます。
-
r7iz – r7iz の「z」属性は、このインスタンスタイプが高プロセッサパフォーマンスに焦点を当てていることを示します。Sapphire Rapids プロセッサの全コアターボ周波数は最大 3.9 GHz です。x2iezn インスタンスと同様に、r7iz は高周波プロセッサのパフォーマンスを優先しますが、vCPU と RAM の比率は 1:8 です。
その他のリソース
-
汎用 Amazon EC2 インスタンス
(AWS ドキュメント) -
「Comparison tool
」(Vantage) -
ライセンス – SQL Server
(AWS ドキュメント)