Amazon Aurora からの推奨事項のリファレンス - Amazon Aurora

Amazon Aurora からの推奨事項のリファレンス

Amazon Aurora では、リソースが作成または変更されると、リソースの推奨事項が生成されます。次の表に、Amazon Aurora からの推奨事項の例を示します。

説明 推奨事項 ダウンタイムが必要 追加情報

リソースの自動バックアップは無効になっています

自動バックアップは DB インスタンスに対して有効ではありません。DB インスタンスのポイントインタイムリカバリを可能にするため、自動バックアップが推奨されます。

最大 14 日間の保存期間で自動バックアップを有効にします。

あり

Aurora DB クラスターのバックアップと復元の概要

AWS データベースブログの「 Amazon RDS バックアップストレージコストの説明

エンジンのマイナーバージョンアップグレードが必要です

データベースリソースで最新のマイナー DB エンジンバージョンが実行されていません。最新のマイナーバージョンには、最新のセキュリティ修正プログラムやその他の改善が含まれています。

最新のエンジンバージョンにアップグレードします。

あり

Amazon Aurora DB クラスターのメンテナンス

拡張モニタリングは無効になっています

データベースリソースでは拡張モニタリングが有効になっていません。拡張モニタリングにより、モニタリングとトラブルシューティングのためのリアルタイムのオペレーティングシステムメトリクスが提供されます。

Enhanced monitoring] を有効にします。

なし

拡張モニタリングを使用した OS メトリクスのモニタリング

ストレージの暗号化は無効になっています。

Amazon RDS では、AWS Key Management Service (AWS KMS) で管理しているキーを使用して、すべてのデータベースエンジンの保存時の暗号化をサポートしています。Amazon RDS 暗号化を使用するアクティブな DB インスタンスでは、ストレージに保存されているデータは、自動バックアップ、リードレプリカ、スナップショットのように暗号化されます。

Aurora DB クラスターの作成時に暗号化が有効になっていない場合は、復号化されたスナップショットを暗号化された DB クラスターに復元する必要があります。

DB クラスターの保管中のデータの暗号化を有効にします。

あり

Amazon Aurora でのセキュリティ

すべてのインスタンスが同じアベイラビリティーゾーンにある DB クラスター

DB クラスターは現在、1 つのアベイラビリティーゾーンにあります。複数のアベイラビリティーゾーンを使用してアベイラビリティーを向上させます。

DB クラスター内の複数のアベイラビリティーゾーンに DB インスタンスを追加します。

なし

Amazon Aurora の高可用性

インスタンスサイズが異なるクラスター内の DB インスタンス

DB クラスター内のすべてのインスタンスに同じ DB インスタンスクラスとサイズを使用することをお勧めします。

DB クラスター内のすべての DB インスタンスに同じインスタンスクラスを使用します。

あり

Amazon Aurora でのレプリケーション

異なるインスタンスクラスを持つクラスター内の DB インスタンス

DB クラスター内のすべてのインスタンスに同じ DB インスタンスクラスとサイズを使用することをお勧めします。

DB クラスター内のすべての DB インスタンスに同じインスタンスクラスを使用します。

あり

Amazon Aurora でのレプリケーション

異種のパラメータグループを持つクラスター内の DB インスタンス

DB クラスター内のすべての DB インスタンスが同じ DB パラメータグループを使用することをお勧めします。

DB インスタンスを、DB クラスター内のライターインスタンスに関連付けられた DB パラメータグループに、関連付けます。

なし

Amazon Aurora のパラメータグループ

Amazon RDS DB クラスターには 1 つの DB インスタンスがあります。

DB クラスターに少なくとも 1 つ以上の DB インスタンスを追加し、可用性とパフォーマンスを向上させます。

リーダー DB インスタンスを DB クラスターに追加します。

なし

Amazon Aurora の高可用性

Performance Insights は無効になっている

Performance Insights では、DB インスタンスの負荷をモニタリングし、データベースパフォーマンスの問題の分析と解決をサポートします。Performance Insights を有効にすることをお勧めします。

Performance Insights をオンにします。

なし

Amazon Aurora での Performance Insights を使用したDB 負荷のモニタリング

RDS リソースのメジャーバージョンの更新が必須

DB エンジンの、現行メジャーバージョンのデータベースはサポートされません。新しい機能や拡張機能を含む最新のメジャーバージョンにアップグレードすることをお勧めします。

DB エンジンを最新のメジャーバージョンにアップグレードします。

あり

Amazon Aurora の更新

ブルー/グリーンデプロイの作成

DB クラスターは最大 64 TiB のボリュームのみをサポートします

DB クラスターは最大 64 TiB のボリュームをサポートします。最新のエンジンバージョンは、DB クラスターに対して最大 128 TiB のボリュームをサポートします。DB クラスターのエンジンバージョンを最新バージョンにアップグレードして、最大 128 TiB のボリュームをサポートすることをお勧めします。

DB クラスターのエンジンバージョンをアップグレードして、最大 128 TiB のボリュームをサポートするようにします。

あり

Amazon Aurora サイズ制限

すべてのリーダーインスタンスが同じアベイラビリティゾーンにある DB クラスター

アベイラビリティーゾーンは、各 AWS 内で障害が発生した場合に分離できるよう、互いに区別された場所のことです。DB クラスターのプライマリインスタンスとリーダーインスタンスを複数の AZ に配信して、DB クラスターの可用性を改善することをお勧めします。マルチ AZ クラスターはクラスター作成時に、AWS、管理コンソール、AWS CLI または Amazon RDS API を使用して作成できます。また、既存の Aurora クラスターをマルチ AZ クラスターに変更するには、新しいリーダーインスタンスを追加し、別の AZ を指定します。

DB クラスターは、同じアベイラビリティーゾーンにすべての読み込みインスタンスがあります。リーダーインスタンスを複数のアベイラビリティーゾーンに分散することをお勧めします。分散によって可用性が向上し、クライアントとデータベース間のネットワーク遅延が減少して応答時間が改善されます。

なし

Amazon Aurora の高可用性

DB のメモリパラメータがデフォルトと異なる

DB インスタンスのメモリパラメータがデフォルト値と大きく異なります。これらの設定はパフォーマンスに影響が及び、エラーの原因となる可能性があります。

DB インスタンスのカスタムメモリパラメータを、DB パラメータグループのデフォルト値に再設定することをお勧めします。

メモリパラメータをデフォルト値にリセットします。

なし

Amazon Aurora のパラメータグループ

Amazon RDS クエリキャッシュパラメータは有効になっている

変更によってクエリキャッシュの削除が必要になった場合、DB インスタンスは停止しているように見えます。通常ワークロードでは、クエリキャッシュのメリットは得られません。クエリキャッシュは、MySQL バージョン 8.0 から削除されました。query_cache_type パラメータを 0 に設定することをお勧めします。

DB パラメータグループの query_cache_type パラメータを 0 に設定します。

あり

Amazon Aurora のパラメータグループ

log_output パラメータが table に設定されている

log_outputTABLE に設定されている場合、log_outputFILE に設定されている場合よりも多くのストレージが使用されます。ストレージサイズの制限に達しないように、パラメーターを FILE に設定することをお勧めします。

DB パラメータグループの log_output パラメータを FILE に設定します。

なし

Aurora MySQL データベースのログファイル

autovacuum パラメータがオフになっている

DB クラスターの自動バキュームパラメータは無効になっています。自動バキュームを無効にすると、テーブルとインデックスが肥大化し、パフォーマンスに影響します。

DB パラメータグループの自動バキュームを有効にすることをお勧めします。

DB クラスターパラメータグループの自動バキュームパラメータを有効にしてください。

なし

AWS データベースブログの「Amazon RDS for PostgreSQL 環境における自動バキュームについて

synchronous_commit パラメータがオフになっている

synchronous_commit パラメータを無効にすると、データベースのクラッシュでデータが失われる可能性があります。データベースの耐久性が危険にさらされます。

synchronous_commit パラメータをオンにすることをお勧めします。

DB パラメータグループの synchronous_commit パラメータを有効にします。

あり

AWS データベースブログの「 Amazon Aurora PostgreSQL パラメータ: データベースブログの「レプリケーション、セキュリティ、ログ記録

track_counts パラメータがオフになっている

track_counts パラメータが無効の場合、データベースはデータベースアクティビティ統計を収集しません。自動バキュームでは、これらの統計が正しく機能する必要があります。

track_counts パラメータを 1 に設定することをお勧めします。

track_counts パラメータを 1 に設定します。

なし

PostgreSQL のランタイム統計

enable_indexonlyscan パラメータがオフになっている

クエリプランナーまたはオプティマイザーは、インデックスのみのスキャン計画タイプが無効になっている場合は使用できません。

enable_indexonlyscan パラメータ値を 1 に設定することをお勧めします。

enable_indexonlyscan パラメータ値を 1 に設定します。

なし

PostgreSQL のプランナーメソッド設定

enable_indexscan パラメータがオフになっている

クエリプランナーまたはオプティマイザーは、インデックスのみのスキャン計画タイプが無効になっている場合は使用できません。

enable_indexscan 値を 1 に設定することをお勧めします。

enable_indexscan パラメータ値を 1 に設定します。

なし

PostgreSQL のプランナーメソッド設定

innodb_flush_log_at_trx パラメータがオフになっている

DB インスタンスの innodb_flush_log_at_trx パラメータの値は安全ではありません。このパラメータは、ディスクへのコミット操作の持続性を制御します。

innodb_flush_log_at_trx パラメータを 1 に設定することをお勧めします。

innodb_flush_log_at_trx パラメータ値を 1 に設定します。

なし

ログバッファをフラッシュする頻度の設定

innodb_stats_persistent パラメータがオフになっている

DB インスタンスは、InnoDB 統計をディスクに保持するように設定されていません。統計が保存されていない場合は、インスタンスが再起動してテーブルにアクセスするたびに再計算されます。これにより、クエリ実行プランにばらつきが生じます。このグローバルパラメータの値はテーブルレベルで変更できます。

innodb_stats_persistent パラメータ値を ON に設定することをお勧めします。

innodb_stats_persistent パラメータ値を ON に設定します。

なし

Amazon Aurora のパラメータグループ

innodb_open_files パラメータが低い

innodb_open_files パラメータは、InnoDB が一度に開くことができるファイル数を制御します。InnoDB は、mysqld の実行時にすべてのログファイルとシステムテーブルスペースファイルを開きます。

お使いの DB インスタンスは、InnoDB が一度に開くことができる最大ファイル数の値が低くなっています。innodb_open_files パラメータを少なくとも 65 に設定することをお勧めします。

innodb_open_files パラメータを最小値の 65 に設定します。

あり

MySQL 用の InnoDB オープンファイル

max_user_connections パラメータが低い

DB インスタンスは、各データベースアカウントの最大同時接続数の値が低くなっています。

max_user_connections パラメータを 5 より大きい数に設定することをお勧めします。

max_user_connections パラメータの値を 5 より大きい数にします。

あり

MySQL のアカウントリソース制限の設定

リードレプリカは書き込み可能モードで開かれている

DB インスタンスには書き込み可能モードのリードレプリカがあり、クライアントからの更新が可能です。

リードレプリカが書き込み可能モードにならないように、read_only パラメータを TrueIfReplica に設定することをお勧めします。

read_only パラメータ値を TrueIfReplica に設定します。

なし

Amazon Aurora のパラメータグループ

innodb_default_row_format パラメータ設定が安全ではない

DB インスタンスで既知の問題が発生しました: MySQL バージョン 8.0.26 よりも前のバージョンで、row_formatCOMPACT または REDUNDANT に設定して作成されたテーブルは、インデックスが 767 バイトを超えるとアクセスできなくなり、回復できなくなります。

innodb_default_row_format パラメータ値を DYNAMIC に設定することをお勧めします。

innodb_default_row_format パラメータ値を DYNAMIC に設定します。

なし

MySQL 8.0.26 での変更

general_logging パラメータがオンになっている

DB インスタンスの一般ログ記録が有効になっています。この設定は、データベースの問題のトラブルシューティングに役立ちます。しかし、一般ログ記録を有効にすると、入出力操作の量と割り当てられるストレージ容量が増え、競合やパフォーマンスの低下につながる可能性があります。

一般ログ記録の使用状況の要件を確認してください。general_logging パラメータ値を 0 に設定することをお勧めします。

一般ログ記録の使用状況の要件を確認してください。必須ではない場合は、general_logging パラメーターの値を 0 に設定することをお勧めします。

なし

Aurora MySQL データベースログの概要

読み取りワークロードのプロビジョニングが不十分な DB クラスター

クラスター内のライター DB インスタンスと同じインスタンスクラスとサイズを持つリーダー DB インスタンスを DB クラスターに追加することをお勧めします。現在の設定では、読み取り操作が主な原因となり、データベースの負荷が継続的に高くなっている DB インスタンスが 1 つあります。クラスターに別の DB インスタンスを追加し、読み取りワークロードを DB クラスターの読み取り専用エンドポイントに送信することで、これらの操作を分散します。

リーダー DB インスタンスをクラスターに追加します。

なし

DB クラスターに Aurora レプリカを追加する

Aurora DB クラスターのパフォーマンスとスケーリングの管理

Amazon RDS の価格設定

システムメモリ容量のプロビジョニングが不十分な RDS インスタンス

メモリの使用量を減らすか、メモリの割り当て量の多い DB インスタンスタイプを使用するようにクエリを調整することをお勧めします。インスタンスのメモリが不足すると、データベースのパフォーマンスに影響を及ぼします。

メモリ容量のより高い DB インスタンスを使用する

あり

AWS データベースブログの「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング

Amazon RDS インスタンスタイプ

Amazon RDS の価格設定

システム CPU 容量のプロビジョニングが不十分な RDS インスタンス

より少ないメモリを使用するようにクエリを調整するか、vCPU の割り当て量がより多い DB インスタンスを使用するように DB インスタンスを変更することをお勧めします。DB インスタンスの CPU が少なくなると、データベースのパフォーマンスが低下する可能性があります。

CPU 容量がより多い DB インスタンスを使用する

あり

AWS データベースブログの「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング

Amazon RDS インスタンスタイプ

Amazon RDS の価格設定

RDS リソースは接続プールを正しく利用していません。

Amazon RDS Proxy を有効にして、既存のデータベース接続を効率的にプールして共有することをお勧めします。データベースで既にプロキシを使用している場合は、複数の DB インスタンス間の接続プールと負荷分散を改善するようにプロキシを正しく設定します。RDS Proxy は、接続の枯渇やダウンタイムのリスクを軽減すると同時に、可用性とスケーラビリティを向上させるのに役立ちます。

RDS プロキシを有効にするか、既存のプロキシ設定を変更する

なし

AWS データベースブログの「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング

Amazon RDS Proxy for Aurora の使用

Amazon RDS Proxy の料金