

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

# Linux 上の SQL Server を評価する
<a name="sql-server-linux"></a>

## 概要
<a name="sql-server-linux-overview"></a>

SQL Server 2017 以降、SQL Server を Linux オペレーティングシステムにインストールできるようになりました。Linux 上の SQL Server はエンタープライズ対応であり、柔軟性、高パフォーマンス、セキュリティ機能、TCO の削減、HA/DR 機能、優れたユーザーエクスペリエンスを提供します。Windows Server の SQL Server から Linux の SQL Server に切り替えることで、Windows Server のライセンスコストを節約できます。

Linux の場合、SQL Server は、Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES)、Ubuntu、Amazon Linux 2 にデプロイできます。SQL Server データベースエンジンは、Windows Server でも Linux でも同じ方法で実行されますが、Linux を使用する場合は、特定のタスクにいくつかの基本的な変更があります。SQL Server Always On アプリケーションを Linux と Windows で実行する場合の主な違いの 1 つは、フェイルオーバークラスタリングに関連しています。Windows Server ホストに Always On 可用性グループをデプロイする場合は、フェイルオーバークラスタリングをサポートする組み込み機能として [Windows Server フェイルオーバークラスタリング (WSFC)](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server?view=sql-server-ver16) と Active Directory を利用できます。しかし、WSFC も Active Directory も Linux でのフェイルオーバークラスタリングをサポートできません。Linux で SQL Server のフェイルオーバークラスタリングを起動する場合は、[AWS Launch Wizard](https://aws.amazon.com/launchwizard/) で、[ClusterLabs Pacemaker](https://aws.amazon.com/blogs/opensource/deploying-a-highly-available-microsoft-sql-server-on-linux-on-aws/) を使用して、Linux インスタンスでのクラスターのセットアップと SQL のインストールを簡素化できます。

Windows 上および Linux 上の SQL Server は、共通のコードベースを共有します。つまり、SQL Server コアエンジンは、Linux 上で実行するための変更はまったく加えられていません。次の図に示すように、SQL Server はプラットフォーム抽象化レイヤー (SQLPAL) を導入しました。

![\[Sequel Server Platform Abstraction Layer (SQLPAL)\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/sql_pal.png)


SQLPAL は、SQL Server と基盤となるオペレーティングシステム間の呼び出しと通信の抽象化を担当します。ホスト拡張機能は、単なるネイティブ Linux アプリケーションです。低レベルのオペレーティングシステム関数は、I/O、メモリ、CPU 使用率を最適化するためのネイティブ呼び出しです。ホスト拡張機能が起動すると、SQLPAL をロードして初期化し、SQL Server を起動します。SQLPAL は、残りのコードに必要な変換を提供する分離したソフトウェアプロセスを起動します。この新しいレイヤーを SQL Server アーキテクチャに追加すると、Windows 上で SQL Server を強化しているのと同じエンタープライズレベルのコア機能と利点が、オペレーティングシステムに関係なく利用できるようになります。

## コストへの影響
<a name="sql-server-linux-cost-impact"></a>

r5.2xlarge インスタンスの場合、Windows Server ライセンスのコスト削減は、各シナリオで約 268 USD です。この削減は、より安価な SQL Server エディションを使用する場合と比較して、サーバーの合計コストの割合が高くなります。次の表は、コスト削減を示しています。


****  

| インスタンス | Edition | Windows 上の SQL Server の月額コスト | Linux 上の SQL Server の月額コスト | 削減量 | 
| --- | --- | --- | --- | --- | 
| r5.2xlarge | Web | 735 USD | 466 USD | 37% | 
| r5.2xlarge | 標準 | 1,337 USD | 1,068 USD | 20% | 
| r5.2xlarge | Enterprise | 2,826 USD | 2,558 USD | 10% | 

**注記**  
上記の表の料金見積もりは、`us-east-1` リージョンのオンデマンド料金に基づいており、[AWS 料金見積りツール](https://calculator.aws/#/estimate?id=fd37122637710aa7ba46d1949e8b6a15f68d3c0f) で直接表示できます。

SMB セグメントの ISV 顧客が開発環境のコストを削減しようとしているシナリオの例を考えてみましょう。Windows サーバーのセットで SQL Server Developer Edition を既に使用しています。Windows の SQL Server Developer Edition から Linux の SQL Server Developer Edition に切り替えることで、ISV 顧客は開発ワークロードを 33% 削減できます。次の表は、このシナリオの推定コストを示しています。


****  

| Estimate | 月額コスト | 
| --- | --- | 
| [Windows \$1 SQL Server](https://calculator.aws/#/estimate?id=da0a0f5f58ddf91aa3398af3a78691cfa2204673) | 9,307.72 USD | 
| [Linux \$1 SQL Server](https://calculator.aws/#/estimate?id=131966c579020eaec957f441c67e9aa0bfd32411) | 6,218.36 USD | 
| 推定コスト削減額 | 3,089.36 USD (33%) | 

別のシナリオ例では、ある企業がライセンス込みの SQL Server EC2 インスタンスを Windows から Linux に移行します。同社は、Windows Server のライセンスコストを年間合計 300,000 USD 削減しています。これは合計 AWS 請求額の約 20% です。

## コスト最適化の推奨事項
<a name="sql-server-linux-optrec"></a>

以下を検討することをお勧めします。
+ Linux 上の SQL Server は、SQL Server 2017 以降でサポートされています。
+ 切り替えを行うには、[Microsoft SQL Server データベースの Windows から Linux へのリプラットフォームアシスタント](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/replatform-sql-server.html)を使用できます。リプラットフォームアシスタントは、一般的な非互換性をチェックし、Windows ホストからデータベースをエクスポートし、Ubuntu 16.04 で Microsoft SQL Server 2017 を実行している EC2 インスタンスにデータベースをインポートすることで、既存の SQL Server ワークロードを Windows オペレーティングシステムから Linux オペレーティングシステムに移行するのを支援するスクリプトツールです。
+ 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)機能を使用して、Windows 上の SQL Server から Linux に切り替えることもできます。
+ [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/latest/userguide/what-is-launch-wizard.html) を使用すると、Linux または Ubuntu 上の SQL Server に簡単かつ迅速にデプロイできます。Launch Wizard では、アプリケーションのニーズに基づいて、スタンドアロンシナリオと高可用性シナリオの両方で SQL Server を Linux または Ubuntu にデプロイできます。詳細については、 AWS ブログの「Microsoft Workloads」の[「Deploying to SQL Server Always on Linux with AWS Launch Wizard](https://aws.amazon.com/blogs/modernizing-with-aws/deploy-microsoft-sql-server-always-on-to-linux-with-aws-launch-wizard/) post」を参照してください。

次の図は、Microsoft SQL Server データベースの Windows から Linux へのリプラットフォームアシスタントを使用するソリューションのアーキテクチャを示しています。

![\[Windows から Linux へのリプラットフォームアシスタントのアーキテクチャ\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/replatforming_assistant.png)


## その他のリソース
<a name="sql-server-linux-resources"></a>
+ 「[Overview of SQL Server on Linux](https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-overview?view=sql-server-ver16)」(Microsoft Learn)
+ 「[Installation guide for SQL Server on Linux](https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-ver16)」(Microsoft Learn)
+ [を使用した SQL Server Always on Linux へのデプロイ AWS Launch Wizard](https://aws.amazon.com/blogs/modernizing-with-aws/deploy-microsoft-sql-server-always-on-to-linux-with-aws-launch-wizard) (Microsoft Workloads on AWS Blog)
+ [Linux での高可用性 SQL Server](https://aws.amazon.com/blogs/opensource/deploying-a-highly-available-microsoft-sql-server-on-linux-on-aws/) (AWS オープンソースブログ)