Amazon RDS for SQL Server の tempdb データベースに対するインスタンスストアのサポート - Amazon Relational Database Service

Amazon RDS for SQL Server の tempdb データベースに対するインスタンスストアのサポート

インスタンスストアは、DB インスタンスに一時ブロックレベルのストレージを提供します。このストレージは、ホストコンピュータに物理的にアタッチされたディスク上にあります。これらのディスクには、ソリッドステートドライブ (SSD) に基づく不揮発性メモリエクスプレス (NVMe) インスタンスストレージがあります。このストレージは、低レイテンシー、非常に高いランダム I/O パフォーマンス、高いシーケンシャル読み取りスループットを実現するために最適化されています。

tempdb データファイルと tempdb ログファイルをインスタンスストアに配置することで、Amazon EBS に基づく標準ストレージと比べて、読み取りおよび書き込みのレイテンシーを低く抑えることができます。

注記

SQL Server データベースファイルとデータベースログファイルは、インスタンスストアに配置されません。

インスタンスストアの有効化

RDS が次のいずれかのインスタンスクラスを使用して DB インスタンスをプロビジョニングすると、tempdb データベースは自動的にインスタンスストアに配置されます。

  • db.m5d

  • db.r5d

  • db.x2iedn

インスタンスストアを有効にするには、次のいずれかの操作を行います。

インスタンスストアは、これらのインスタンスタイプの 1 つ以上がサポートされているすべての AWS リージョンで使用できます。db.m5ddb.r5d インスタンスクラスの詳細については、「 DB インスタンスクラス」を参照してください。Amazon RDS for SQL Server でサポートされるインスタンスクラスの詳細については、Microsoft SQL Server の DB インスタンスクラスのサポート を参照してください。

ファイルの場所とサイズに関する考慮事項

インスタンスストアがないインスタンスでは、RDS は tempdb データとログファイルを D:\rdsdbdata\DATA ディレクトリに保存します。デフォルトでは、どちらのファイルも 8 MB から始まります。

インスタンスストアがあるインスタンスでは、RDS は tempdb データとログファイルを T:\rdsdbdata\DATA ディレクトリに保存します。

tempdb にデータファイル (tempdb.mdf) とログファイル (templog.ldf) が 1 つしかない場合、templog.ldf はデフォルトでは 8 MB から始まり、tempdb.mdf はインスタンスのストレージ容量の 80%以上から始まります。ストレージ容量の 20% または 200 GB のどちらか小さい方を、無料で起動できます。複数の tempdb データファイルは 80% のディスク領域を均等に分割しますが、ログファイルの初期サイズは常に 8 MB です。

例えば、DB インスタンスクラスを db.m5.2xlarge から db.m5d.2xlarge に変更すると、tempdb データファイルのサイズはそれぞれ 8 MB から合計 234 GB に増加します。

注記

インスタンスストア (tempdb) の T:\rdsdbdata\DATA データとログファイルに加えて、データボリューム (tempdb) に追加の D:\rdsdbdata\DATA データとログファイルを作成することもできます。これらのファイルの初期サイズは常に 8 MB です。

バックアップに関する考慮事項

バックアップを長期間保持する必要がありますが、時間の経過とともにコストがかかる場合があります。tempdb データブロックとログブロックは、ワークロードに応じて非常に頻繁に変更されることがあります。これにより、DB スナップショットのサイズが大幅に増加する可能性があります。

tempdb がインスタンスストアにある場合、スナップショットに一時ファイルは含まれません。つまり、EBS のみのストレージと比べて、スナップショットのサイズが小さくなり、空いたバックアップ割り当ての使用量が少なくなります。

ディスクがいっぱいになるエラー

インスタンスストア内の使用可能な領域をすべて使用すると、次のようなエラーが表示されることがあります。

  • データベース「tempdb」のトランザクションログは「ACTIVE_TRANSACTION」のため、いっぱいになりました。

  • PRIMARY」ファイルグループがいっぱいであるため、データベース「tempdb」のオブジェクト「dbo.SORT の一時実行ストレージ: 140738941419520」に領域を割り当てられませんでした。不要なファイルの削除、ファイルグループ内のオブジェクトの削除、ファイルグループへのファイルの追加、またはファイルグループ内の既存のファイルの自動拡張を有効に設定して、ディスク領域を作ります。

インスタンスストアがいっぱいになると、次の項目のうちから 1 つまたは複数を実行できます。

  • ワークロードや tempdb の使用方法を調整します。

  • より多くの NVMe ストレージを持つ DB インスタンスクラスを使用するように拡張します。

  • インスタンスストアの使用を停止し、EBS ストレージのみを持つインスタンスクラスを使用します。

  • EBS ボリューム上の tempdb のセカンダリデータまたはログファイルを追加して、混合モードを使用します。

インスタンスストアの削除

インスタンスストアを削除するには、インスタンスストアをサポートしないインスタンスタイプ (db.m5、db.r5、db.x1e など) を使用するように SQL Server DB インスタンスを変更します。

注記

インスタンスストアを削除すると、一時ファイルは D:\rdsdbdata\DATA ディレクトリに移動され、8 MB に縮小されます。