Workload Factory におけるデータベース環境の構成分析
Workload Factory for Databases は、データベース構成を定期的に分析して、 Amazon FSx for NetApp ONTAPストレージ上の Microsoft SQL Server および Oracle のデプロイメントに問題があるかどうかを判断します。問題が見つかった場合、Workload Factory は問題の内容を示し、データベース構成で最高のパフォーマンス、コスト効率、ベスト プラクティスへの準拠を実現するために何を変更する必要があるかを説明します。
主な機能は次のとおりです。
-
日常的な構成分析
-
ベストプラクティスの自動検証
-
サイズの適正化に関する推奨事項
-
プロアクティブなオブザーバビリティ
-
インサイトからアクションへ
-
AWS Well-Architected Framework Advisor
仕組み
Workload Factory は、Amazon FSx for NetApp ONTAP ファイルシステムの導入環境で実行されているワークロードを毎日分析します。この分析により、適切に設計された状態、インサイト、および推奨事項が提供されます。
日々の分析が完了すると、デプロイメントのWell-architectedダッシュボードに、構成が「最適化済み」または「最適化されていない」として表示されます。総合的な最適化スコア、カテゴリ別の構成の問題、および構成の問題と推奨事項の一覧が表示されます。構成の問題に関する推奨事項を確認できます。一部の問題はWorkload Factoryによって自動的に修正できますが、その他の問題は手動での介入が必要です。この場合、Workload Factoryは、推奨される変更を実装するのに役立つ詳細な手順を提供します。
ご使用の環境に適用されない構成の分析を無視することができます。これにより、不要なアラートや不正確な最適化結果を回避できます。特定の構成分析を無視すると、Workload Factory ではその構成が全体の最適化スコアに含められません。
重要な理由
Workload Factoryは、継続的な評価と推奨事項、および修復策を組み合わせることで、大規模なストレージ、データベース、およびVMware環境にベストプラクティスを適用します。Workload Factoryコンソールで適用される自動修正により、人的ミスが削減され、統一された管理が確保され、ワークロードインフラストラクチャ全体でパフォーマンスと信頼性が維持されます。
分析要件
完全なデータベース環境分析を行うには、以下の手順を実行する必要があります:
-
"リソースを登録する"オンラインになっていることを確認してください。
-
リンクを関連付けます。リンク接続により、Workload Factoryは、ストレージ レイアウトや復元性などのすべてのデータベース展開構成を分析できます。
-
AWS アカウントで_表示、計画、分析_の権限を付与してください。
データベース ワークロードに関するベスト プラクティスと推奨事項
Workload Factoryは、適切に設計されたデータベースワークロードを運用するためのベストプラクティスと推奨事項を提供します。適切に設計された分析は、Microsoft SQL ServerおよびOracle Databaseの構成と設定(ストレージサイジング、ストレージ レイアウト、ストレージ構成、コンピューティング、アプリケーション(SQL Server)、および回復力に関連)を評価します。
Microsoft SQL Server
ストレージのサイジング
-
ストレージ階層
FSx for ONTAP ボリュームにプライマリ SSD 階層を使用して、最適なパフォーマンスを確保します。容量プール階層を使用すると、パフォーマンスが低下し、レイテンシが増加する可能性があります。プライマリ SSD 階層はハイパフォーマンスワークロード向けに設計されていますが、容量プール階層はコスト効率に最適化されており、SQL Server ワークロードのパフォーマンス要件を満たさない場合があります。
-
ファイルシステムのヘッドルーム
ファイルシステムの容量は、総ボリュームサイズよりも十分に確保しておいてください。余裕が少なすぎるとパフォーマンスの問題が生じ、多すぎるとストレージ容量が無駄になりコストが増加します。
-
ログ ドライブのサイズ
トランザクションのロールバック、データベースの利用不能、データ破損、およびログ ドライブがいっぱいになったことによるパフォーマンスの問題を防ぐために、SQL Server ログ ドライブのサイズを適切に設定し、監視してください。
-
TempDB ドライブのサイズ
最適なパフォーマンスとシステム安定性を維持するために、TempDBのサイズを適切に設定し、監視してください。TempDBの容量が不足すると、クエリの速度低下、アプリケーションのタイムアウト、システムクラッシュが発生する可能性があります。
ストレージ レイアウト
-
データ ファイル(.mdf)の配置*および*ログ ファイル(.ldf)の配置
パフォーマンスを向上させ、独立したバックアップおよびリストア操作を可能にするため、データファイルとログファイルを別々のドライブに配置する。
-
TempDB の配置
TempDBを専用ドライブに配置することで、I/O競合を回避し、SQL Serverのパフォーマンスと安定性を向上させることができます。そうしないと、I/Oボトルネック、クエリの速度低下、システムの不安定性が発生する可能性があります。
ストレージ構成
-
ONTAP 構成
FSx for ONTAP ボリュームのシンプロビジョニング、自動サイズ、およびスペース管理を有効にして、ストレージ効率とコスト効率を最適化します。階層化ポリシーを設定して、古いスナップショットを容量階層に移動させつつ、アクティブなデータのハイパフォーマンスを維持します。LUN については、適切な I/O アライメントのために OS タイプがオペレーティングシステムのパーティショニング スキームと一致していることを確認し、スペース リザベーションを有効にして書き込みエラーを防止し、ストレージがいっぱいになったときに自動的に領域を解放し、ホストに通知できるように、領域割り当てを有効にします。
-
オペレーティング システム
適切なタイムアウト設定を使用して Microsoft Multipath I/O(MPIO)を有効にして構成し、FSx for ONTAP を使用した EC2 上の SQL Server データベースの高可用性とデータ アクセスの一貫性を確保します。MPIO は、フェイルオーバー時の回復力とパフォーマンスを向上させるために、冗長なパスを提供します。最適なディスク利用率とパフォーマンスを実現するために、NTFS 割り当て単位サイズを適切に設定してください。
コンピューティング
-
コンピューティングの適正規模化
ワークロードの要求に基づいてSQL Server EC2インスタンスのサイズを最適化し、パフォーマンスとコスト効率のバランスを取りましょう。現在ご利用のインスタンスのリソースが不足している場合は、アップグレードすることでCPU、メモリ、I/Oの容量を向上させることができます。過剰にリソースが供給されている場合は、ダウングレードすることでパフォーマンスを維持しながらコストを削減できます。
-
オペレーティング システム パッチ
セキュリティとシステムの信頼性を向上させるため、最新のオペレーティング システム パッチを適用してください。
-
ネットワークアダプタの設定
受信側スケーリング(RSS)を設定して、ネットワーク処理を複数のプロセッサに分散させ、ネットワークパフォーマンスを向上させます。本番環境に適用する前に、設定をテストしてください。
-
MTU アライメント
EC2インスタンスの最大伝送単位(MTU)設定をFSx for ONTAPに合わせて、ネットワークの断片化を防ぎ、SQL Serverのパフォーマンスを最適化します。MTUの不整合を修正することで、すべてのノードとネットワークパスにおいて一貫したMTU構成が確保されます。
アプリケーション(SQL Server)
-
ライセンス
SQL Server のライセンス評価と推奨事項は、ホスト レベルで提供されます。Workload Factory は、データベース インフラストラクチャが、お客様が料金を支払っている商用ソフトウェア ライセンスの機能を一切使用していないことを検出した場合、そのライセンスを「最適化されていない」と判断します。最適化されていないライセンスは、不必要なコストにつながる可能性があります。SQL Server のライセンス使用状況を確認し、料金を支払っているすべての機能を適切に利用していることを確認してください。
-
Microsoft SQL Server パッチ
セキュリティを強化し、脆弱性から保護し、システムの信頼性を向上させるために、最新の SQL Server パッチを適用してください。
-
MAXDOP
クエリのパフォーマンスを最適化するために、MAXDOPを設定してください。4、8、または16の値は一般的にうまく機能します。ワークロードをテストし、CXPACKETなどの並列処理待機タイプを監視してください。
信頼性
-
ローカルスナップショットのスケジュール設定
ポイントインタイムバックアップと誤削除、データ破損、その他の問題からの迅速な復旧のために、定期的なスナップショットをスケジュールします。
-
バックアップ構成
FSx for ONTAP バックアップまたは AWS Backup を設定して、データ保持およびコンプライアンス要件を満たします。冗長なバックアップは避けてください。
-
リージョン間レプリケーション
データの可用性と災害復旧を向上させるために、リージョン間レプリケーション(CRR)を有効にしてください。CRRを使用して、地域的な停電から保護し、事業継続性を確保してください。
-
Microsoft SQL Server の高可用性
SQL Server の高可用性が正しく設定されていることを確認するには、すべての共有ストレージがすべてのクラスタノードからアクセス可能であること、フェイルオーバー時の競合を防ぐためにノード間でドライブ文字が同じであること、クラスタの健全性のためにクォーラムが設定されていること、クラウド環境向けにハートビートしきい値が設定されていること、および SQL Server サービスが自動起動とフェイルオーバー用に設定されていることを確認します。
-
クローンのクリーンアップ
ストレージコストを削減するため、定期的に古いクローンを見直して削除してください。古くて使われていないクローンは、高額なコストの原因となります。
Oracle
ストレージのサイジング
-
ファイルシステムのヘッドルーム
ストレージ性能を最適化し、性能低下を防ぐために、十分なファイルシステム容量を維持してください。十分な余裕容量があれば、効率的なストレージ管理が可能になり、データベースの拡張にも対応できます。
-
スワップ領域
システムがメモリ負荷に対応し、動作の遅延やクラッシュを回避できるよう、RAM 容量に基づいてスワップ領域を設定してください。
ストレージ レイアウト
-
Oracle バイナリ配置
Oracleバイナリを専用ボリュームに配置することで、I/O競合を軽減し、最適なパフォーマンスと安定性を確保できます。この分離により、ソフトウェアのアップデートが簡素化され、意図しない変更やデータ破損のリスクが最小限に抑えられます。
-
データ ファイルの配置
ランダムI/Oを分離してパフォーマンスを向上させるため、データファイルを専用ボリュームまたは制御ファイルと同じ場所に配置してください。この分離により、カスタマイズされたスナップショット構成、階層化ポリシー、および効率化メカニズムが可能になり、パフォーマンスとコストを最適化できます。
-
制御ファイルの配置
単一障害点を回避し、冗長性を高めるため、制御ファイルのコピーを異なるボリュームまたはディスクに保存してください。制御ファイルは専用ボリュームに配置するか、REDOログやデータファイルと共有してください。ただし、パフォーマンス要件のため、オブジェクトストレージに階層化されたボリュームには配置しないでください。
-
Redo ログの配置
書き込み頻度の高いI/O操作を分離し、パフォーマンスを向上させるために、REDOログを専用ボリュームに配置するか、一時ファイルや制御ファイルと適切に共有してください。冗長性を確保するため、REDOログの各コピーは別々のボリュームに保存してください。ボリュームSnapshotやオブジェクトストレージに階層化されたボリュームには、REDOログを配置しないでください。これらは頻繁に更新されるためです。
-
一時配置
一時ファイルを専用ボリュームに配置するか、リドゥファイルや制御ファイルと適切に共有することで、書き込み頻度の高いI/O操作を分離し、パフォーマンスを向上させます。冗長性を確保するため、多重化された各一時コピーは別々のボリュームに保存する必要があります。一時ファイルは、更新頻度が高いため、ボリュームスナップショットやオブジェクトストレージに階層化されたボリュームには配置すべきではありません。
-
アーカイブ配置
アーカイブログを専用ボリュームに配置することで、高い I/O 負荷が他のデータベース操作に干渉するのを防ぎ、パフォーマンスとリカバリプロセスを向上させることができます。
-
ASM 専用構成:ASM データ ディスク グループ LUN、ASM ログ ディスク グループ LUN、および ASM アーカイブ ディスク グループ LUN
最適なパフォーマンスと冗長性を実現するために、LUNをAutomatic Storage Management(ASM)のデータ、REDOログ、およびアーカイブログのディスク グループ全体に分散させます。
ストレージ構成
-
ONTAP
ボリュームのシンプロビジョニング、自動サイズ設定、およびスペース管理を有効にして、Oracle データベース用の FSx for ONTAP 構成を最適化します。パフォーマンスとコストのバランスを取るために、適切な Snapshot ポリシーと階層化戦略を設定します。LUN については、書き込みエラーを防ぎ、自動スペース再利用を有効にするために、適切な OS タイプのアライメント、スペース リザベーション、およびスペース割り当て設定を確保します。
-
オペレーティング システム
Oracle データベースのパフォーマンスを最適化するために、オペレーティング システムの設定を構成します。これには、データベース ワークロードに合わせてカーネル パラメータを調整したり、ネットワーク ファイル システムへのアクセスに適した NFS または dNFS の設定を構成したりすることが含まれます。
コンピューティング
-
オペレーティング システム パッチ
セキュリティ、安定性、パフォーマンスの向上を確実にするために、Oracleデータベース環境のオペレーティング システムのパッチを定期的に適用してください。