Amazon EC2 シングルノードアーキテクチャでの SQL サーバー - AWS 規範ガイダンス

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

Amazon EC2 シングルノードアーキテクチャでの SQL サーバー

次の図は、高可用性 (HA) と災害復旧 (DR) のサポートを追加する前の、Amazon Elastic Compute Cloud (Amazon EC2) 上のシングルノード SQL Server の推奨アーキテクチャを示しています。

このアーキテクチャでは、SQL Server データベースは EC2 インスタンスにデプロイされ、SQL Server 用のAmazon Machine Image (AMI) と、OS、DATA、LOG、バックアップ用の個別のボリュームが使用されます。不揮発性メモリエクスプレス (NVMe) ストレージは EC2 インスタンスに直接アタッチされ、SQL Server tempdb データベースに使用されます。 AWS Directory Service は、SQL Server データベースの Windows 認証を設定するために使用されます。 AWS Systems Manager を使用して、SQL Server のパッチと更新を検出してインストールすることもできます。

HA/DR 前の Amazon EC2 上のシングルノード SQL Server アーキテクチャ

以下の表は、このアーキテクチャを構成するための推奨事項をまとめたものです。これらの推奨事項については、後のセクションで詳しく説明します。

インスタンスタイプ/AMI
SQL Server エディション
  • SQL Server Developerエディション (非本番環境)

  • SQL Server StandardおよびEnterpriseエディション (製品版)

ストレージタイプ
ボリューム
  • OS

  • DATA

  • LOG

  • tempdb

  • バックアップを保存、ダウンロードするためのスクラッチスペース

DR オプション
  • Amazon EC2

  • Amazon EBS snapshots

  • SQL Server のネイティブバックアップ

インスタンスのタイプ

AWS では、SQL Server ワークロード用のインスタンスクラスを選択できます。データベースサーバーで予想されるワークロード、バージョン、HA/DRオプション、必要なコア、およびライセンスに関する考慮事項に応じて、コンピュート最適化型、メモリー最適化型、ストレージ最適化型、汎用型、およびその他のタイプから選択することができます。SQL Server には Amazon EBS 最適化インスタンスタイプを選択することをお勧めします。これらのインスタンスは、専用ネットワークにアタッチされた EBS ボリュームで最高のスループットを実現します。これは、データアクセス要件が厳しい可能性がある SQL Server ワークロードにとって重要です。標準のデータベースワークロードでは、R5、R5b、R5d、R5n などのメモリ最適化インスタンスクラスを実行できます。インスタンスストレージまたは NVMe ストレージを含めることもできます。これらはどちらも tempdb に最適であり、データベースワークロードのパフォーマンスのバランスが取れています。

クリティカルなワークロードのために、高性能なz1dインスタンスは、SQL Server などライセンスコストが高いワークロード用に最適化されています。z1d インスタンスは、他のインスタンスよりも大幅に高速な 4.0 GHz の持続的なオールコアターボ周波数を実現するカスタムの Intel Xeon スケーラブルプロセッサで構築されています。より高速なシーケンシャル処理を必要とするワークロードでは、z1d インスタンスで実行するコア数を減らして、コアの多い他のインスタンスと同等かそれ以上のパフォーマンスを得ることができます。

Amazon はまた、最新の SQL Server エディションを Amazon EC2 でホストするのに役立つ専用のAMI for SQL Server on Microsoft Windows Serverも提供しています。

ストレージ

インスタンスタイプによっては、NVMe インスタンスストア・ボリュームを提供するものもあります。NVMe は一時的 (epheremal) なストレージオプションです。このストレージは EC2 インスタンスに直接接続されています。NVMe ストレージは一時的なもので、再起動するとデータは失われますが、最適なパフォーマンスを発揮します。したがって、I/O が高く、ランダムなデータ・アクセス・パターンを持つ SQL Server tempdb データベースに適しています。tempdbにNVMeインスタンスストアを使用する場合、追加料金は発生しません。その他のガイダンスについては、ガイドAmazon EC2にSQL Serverをデプロイするためのベストプラクティスのインスタンス・ストアにtempdbを配置するのセクションを参照してください。

Amazon EBS は、高速で利用可能なストレージに関する SQL Server の要件を満たす、耐久性に優れたストレージソリューションです。マイクロソフトは、最適なパフォーマンスを得るために、データボリュームとログボリュームを分けておくことを推奨しています。この分離の理由には次のようなものがある:

  • さまざまなデータアクセス方法。データボリュームはオンライントランザクション処理 (OLTP) ランダムデータアクセスを使用し、ログボリュームはシリアルアクセスを使用します。

  • より良いリカバリー・オプション。1 つのボリュームが失われてももう 1 つのボリュームには影響せず、データの回復に役立ちます。

  • さまざまなワークロードタイプ。データボリュームは OLTP ワークロード用ですが、ログボリュームはオンライン分析処理 (OLAP) ワークロードを対象としています。

  • さまざまなパフォーマンス要件。データボリュームとログボリュームには、IOPS とレイテンシーの要件、最小スループットレート、および同様のパフォーマンスベンチマークが異なります。

適切なAmazon EBS ボリュームタイプを選択するには、データベースのアクセス方法、IOPS、スループットを分析する必要があります。標準稼働時間とピーク使用時の両方でメトリクスを収集します。SQL Server はデータの保存にエクステントを使用します。SQL Server のストレージの基本単位はページで、サイズは 8 KB です。物理的に連続する 8 ページが 1 エクステント (サイズは 64 KB) を構成します。したがって、SQL Server マシンでは、SQL データベースファイル (tempdb を含む) をホストするNTFSアロケーションユニットのサイズは64KBでなければなりません。ドライブの NTFS 割り当てサイズを確認する方法については、Amazon EC2 に SQL Server をデプロイするためのベストプラクティスガイドを参照してください。

EBS ボリュームの選択は、ワークロードによって異なります。つまり、データベースが読み取り集約型か書き込み型か、高い IOPS やアーカイブストレージを必要とするか、その他同様の考慮事項が必要です。次の表は、コンフィギュレーションの例を示しています。

Amazon EBS リソース タイプ 説明
OS ディスク

gp3

汎用 SSD ストレージ

データディスク

io1/io2

書き込み集約型ストレージ。

ログディスク

gp3、または io2

負荷の高いワークロード向けの汎用ストレージ。

Backup ディスク

st1

より安価なアーカイブストレージ。パフォーマンスを強化するために、バックアップは Amazon Simple Storage Service (Amazon S3) に定期的にコピーすれば、より高速なディスクに保存できます。

アマゾン EBS とAmazon S3 に関する考慮事項

次の表は、Amazon EBS と Amazon S3 のストレージの比較を示しています。この情報をもとに、2つのサービスの違いを理解し、ユースケースに最適なアプローチを選択します。

サービス 可用性 耐久性 メモ
Amazon EBS
  • すべての EBS ボリュームタイプは、耐久性のあるスナップショット機能を提供し、99.999% の可用性を実現するように設計されています。

  • スナップショットを使用して、災害発生時に異なる AWS リージョンに新しいインスタンスをプロビジョニングできます。

  • EBS ボリューム・データは、単一のコンポーネントの障害によるデータの損失を防ぐために、単一のアベイラビリティ・ゾーン内の複数のサーバーにわたって複製されます。

  • EBS ボリュームは年間故障率 (AFR) が 0.1 ~ 0.2% になるように設計されています。障害とは、ボリュームのサイズとパフォーマンスに応じて、ボリュームの完全または部分的な損失を指します。

  • Amazon EBS 最適化インスタンスは、最適化された設定スタックを使用し、Amazon EBS I/O 用に専用のキャパシティを追加で提供します。このように最適化することで、Amazon EBS I/O と、インスタンスからのその他のトラフィックとの間の競合を最小に抑え、EBS ボリュームの最高のパフォーマンスを実現します。

  • 高速スナップショットリストアは、同時に 50 スナップショットまでサポートされています。この機能は、スナップショットごとに明示的に有効にする必要があります。

  • Amazon EBS 最適化インスタンスは、初期化時にフルプロビジョニングされたパフォーマンスを提供するため、ウォームアップ時間は必要ありません。

Amazon S3
  • 高可用性。

  • 1 年間に 99.99% の可用性を提供するよう設計されています。

  • S3 Standard-Infecent Access (S3 Standard-IA) など、複数のストレージクラスを使用できます。保存期間に基づいてバックアップファイルをストレージクラスに移動できます。

  • Amazon S3、Amazon S3 Glacier、S3 Glacier Deep Archive は 99.9% (11 ナイン) の耐久性を実現するように設計されています。Amazon S3 と S3 Glacier はどちらも、地理的に分散した少なくとも 3 つのアベイラビリティーゾーンにオブジェクトを複製することで、信頼性の高いデータバックアップを実現します。

  • Amazon S3 は、SQL Server の長期ファイルレベルのバックアップ (フルバックアップとトランザクションログを含む) に使用できます。

  • Amazon S3 のサポート

    • S3 Replication Time Control (S3 RTC)

    • S3 ライフサイクル管理によるクロスリージョンレプリケーションと AWS Backup

    • インテリジェント・ティアリング

  • Amazon S3 は、最も安価なストレージを提供します。地域間のデータ転送費用がかかります。

Amazon FSx for Windows File Server のファイルサーバー

Amazon FSx for Windows File Serverは、1 ファイルシステムあたり最大 2 GB /秒のベースライン・スループット、数十万 IOPS、一貫したミリ秒以下のレイテンシーという高速パフォーマンスを提供します。SQL Server インスタンスに適切なパフォーマンスを提供するために、ファイルシステム・サイズに依存しないスループット・レベルを選択することができます。スループットキャパシティでは、アクセスする SQL Server インスタンスにファイルサーバーが提供できる IOPS が高くなります。ストレージ容量は、保存できるデータ量だけでなく、ストレージ上で実行できる1秒あたりの I/O オペレーション (IOPS) 数を決定します。各ファイルシステムは最大 64 TiB までプロビジョニングできます (Amazon EBS は 16TiB)。Amazon FSx ファイルシステムは、Windows Server フェイルオーバークラスターデプロイ展開のファイル共有ウィットネスとして使用できます。