

# Amazon Aurora からの推奨事項のリファレンス
<a name="USERRecommendationsManage.RecommendationReference"></a>

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


| 型 | 説明 | 推奨事項 | ダウンタイムが必要 | 追加情報 | 
| --- | --- | --- | --- | --- | 
|  リソースの自動バックアップは無効になっています  |  自動バックアップは DB インスタンスに対して有効ではありません。DB インスタンスのポイントインタイムリカバリを可能にするため、自動バックアップが推奨されます。  |  最大 14 日間の保存期間で自動バックアップを有効にします。  |  はい  |  [Aurora DB クラスターのバックアップと復元の概要](Aurora.Managing.Backups.md) AWS データベースブログの「[ Amazon RDS バックアップストレージコストの説明](https://aws.amazon.com/blogs/database/demystifying-amazon-rds-backup-storage-costs/)」   | 
|  エンジンのマイナーバージョンアップグレードが必要です  |  データベースリソースで最新のマイナー DB エンジンバージョンが実行されていません。最新のマイナーバージョンには、最新のセキュリティ修正プログラムやその他の改善が含まれています。  |  最新のエンジンバージョンにアップグレードします。  |  はい  |  [Amazon Aurora DB クラスターのメンテナンス](USER_UpgradeDBInstance.Maintenance.md)  | 
|  拡張モニタリングは無効になっています  |  データベースリソースでは拡張モニタリングが有効になっていません。拡張モニタリングにより、モニタリングとトラブルシューティングのためのリアルタイムのオペレーティングシステムメトリクスが提供されます。  |  Enhanced monitoring] を有効にします。  |  いいえ  |  [拡張モニタリングを使用した OS メトリクスのモニタリング](USER_Monitoring.OS.md)  | 
|  ストレージの暗号化は無効になっています。  |  Amazon RDS では、AWS Key Management Service (AWS KMS) で管理しているキーを使用して、すべてのデータベースエンジンの保存時の暗号化をサポートしています。Amazon RDS 暗号化を使用するアクティブな DB インスタンスでは、ストレージに保存されているデータは、自動バックアップ、リードレプリカ、スナップショットのように暗号化されます。 Aurora DB クラスターの作成時に暗号化が有効になっていない場合は、復号化されたスナップショットを暗号化された DB クラスターに復元する必要があります。  |  DB クラスターの保管中のデータの暗号化を有効にします。  |  はい  |  [ Amazon Aurora でのセキュリティ](UsingWithRDS.md)  | 
|  すべてのインスタンスが同じアベイラビリティーゾーンにある DB クラスター  |  DB クラスターは現在、1 つのアベイラビリティーゾーンにあります。複数のアベイラビリティーゾーンを使用してアベイラビリティーを向上させます。  |  DB クラスター内の複数のアベイラビリティーゾーンに DB インスタンスを追加します。  |  いいえ  |  [Amazon Aurora の高可用性](Concepts.AuroraHighAvailability.md)  | 
|  インスタンスサイズが異なるクラスター内の DB インスタンス  |  DB クラスター内のすべてのインスタンスに同じ DB インスタンスクラスとサイズを使用することをお勧めします。  |  DB クラスター内のすべての DB インスタンスに同じインスタンスクラスを使用します。  |  はい  |  [Amazon Aurora でのレプリケーション](Aurora.Replication.md)  | 
|  異なるインスタンスクラスを持つクラスター内の DB インスタンス  |  DB クラスター内のすべてのインスタンスに同じ DB インスタンスクラスとサイズを使用することをお勧めします。  |  DB クラスター内のすべての DB インスタンスに同じインスタンスクラスを使用します。  |  はい  |  [Amazon Aurora でのレプリケーション](Aurora.Replication.md)  | 
|  異種のパラメータグループを持つクラスター内の DB インスタンス  |  DB クラスター内のすべての DB インスタンスが同じ DB パラメータグループを使用することをお勧めします。  |  DB インスタンスを、DB クラスター内のライターインスタンスに関連付けられた DB パラメータグループに、関連付けます。  |  いいえ  |  [Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)  | 
| Amazon RDS DB クラスターには 1 つの DB インスタンスがあります。 | DB クラスターに少なくとも 1 つ以上の DB インスタンスを追加し、可用性とパフォーマンスを向上させます。 | リーダー DB インスタンスを DB クラスターに追加します。 | いいえ |  [Amazon Aurora の高可用性](Concepts.AuroraHighAvailability.md)  | 
| Performance Insights は無効になっている | Performance Insights では、DB インスタンスの負荷をモニタリングし、データベースパフォーマンスの問題の分析と解決をサポートします。Performance Insights を有効にすることをお勧めします。 | Performance Insights をオンにします。 | いいえ |  [Amazon Aurora での Performance Insights を使用したDB 負荷のモニタリング](USER_PerfInsights.md)  | 
|  RDS リソースのメジャーバージョンの更新が必須 | DB エンジンの、現行メジャーバージョンのデータベースはサポートされません。新しい機能や拡張機能を含む最新のメジャーバージョンにアップグレードすることをお勧めします。 | DB エンジンを最新のメジャーバージョンにアップグレードします。 | はい |  [Amazon Aurora の更新](Aurora.Updates.md) [Amazon Aurora でのブルー/グリーンデプロイの作成](blue-green-deployments-creating.md)  | 
| DB クラスターの最大ボリュームサイズ | 新しいエンジンバージョンは、DB クラスターのより大きなボリュームをサポートします。 | ストレージ容量を増やすメリットを得るために、DB クラスターのエンジンバージョンを最新バージョンにアップグレードすることをお勧めします。 | はい |  [Amazon Aurora サイズ制限](CHAP_Limits.md#RDS_Limits.FileSize.Aurora)  | 
| すべてのリーダーインスタンスが同じアベイラビリティゾーンにある DB クラスター | アベイラビリティーゾーンは、各 AWS 内で障害が発生した場合に分離できるよう、互いに区別された場所のことです。DB クラスターのプライマリインスタンスとリーダーインスタンスを複数の AZ に配信して、DB クラスターの可用性を改善することをお勧めします。マルチ AZ クラスターはクラスター作成時に、AWS、管理コンソール、AWS CLI または Amazon RDS API を使用して作成できます。また、既存の Aurora クラスターをマルチ AZ クラスターに変更するには、新しいリーダーインスタンスを追加し、別の AZ を指定します。 | DB クラスターは、同じアベイラビリティーゾーンにすべての読み込みインスタンスがあります。リーダーインスタンスを複数のアベイラビリティーゾーンに分散することをお勧めします。分散によって可用性が向上し、クライアントとデータベース間のネットワーク遅延が減少して応答時間が改善されます。 | いいえ |  [Amazon Aurora の高可用性](Concepts.AuroraHighAvailability.md)  | 
| DB のメモリパラメータがデフォルトと異なる | DB インスタンスのメモリパラメータがデフォルト値と大きく異なります。これらの設定はパフォーマンスに影響が及び、エラーの原因となる可能性があります。 DB インスタンスのカスタムメモリパラメータを、DB パラメータグループのデフォルト値に再設定することをお勧めします。  | メモリパラメータをデフォルト値にリセットします。 | いいえ |  [Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)  | 
| Amazon RDS クエリキャッシュパラメータは有効になっている | 変更によってクエリキャッシュの削除が必要になった場合、DB インスタンスは停止しているように見えます。通常ワークロードでは、クエリキャッシュのメリットは得られません。クエリキャッシュは、MySQL 8.0 以降のバージョンから削除されました。query\$1cache\$1type パラメータを 0 に設定することをお勧めします。 | DB パラメータグループの `query_cache_type` パラメータを `0` に設定します。 | はい |  [Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)  | 
| `log_output` パラメータが table に設定されている | `log_output` が `TABLE` に設定されている場合、`log_output` が `FILE` に設定されている場合よりも多くのストレージが使用されます。ストレージサイズの制限に達しないように、パラメーターを `FILE` に設定することをお勧めします。MySQL 8.4 以降のバージョンでは、デフォルトで `FILE` に設定されます。 | DB パラメータグループの `log_output` パラメータを `FILE` に設定します。 | いいえ |  [Aurora MySQL データベースのログファイル](USER_LogAccess.Concepts.MySQL.md)  | 
| `autovacuum` パラメータがオフになっている | DB クラスターの自動バキュームパラメータは無効になっています。自動バキュームを無効にすると、テーブルとインデックスが肥大化し、パフォーマンスに影響します。 DB パラメータグループの自動バキュームを有効にすることをお勧めします。  | DB クラスターパラメータグループの自動バキュームパラメータを有効にしてください。 | いいえ |  AWS データベースブログの「[Amazon RDS for PostgreSQL 環境における自動バキュームについて](https://aws.amazon.com/blogs/database/understanding-autovacuum-in-amazon-rds-for-postgresql-environments/)」  | 
| `synchronous_commit` パラメータがオフになっている | `synchronous_commit` パラメータを無効にすると、データベースのクラッシュでデータが失われる可能性があります。データベースの耐久性が危険にさらされます。 `synchronous_commit` パラメータをオンにすることをお勧めします。  | DB パラメータグループの `synchronous_commit` パラメータを有効にします。 | はい |  AWS データベースブログの「[ Amazon Aurora PostgreSQL パラメータ: データベースブログの「レプリケーション、セキュリティ、ログ記録](https://aws.amazon.com/blogs/database/amazon-aurora-postgresql-parameters-part-2-replication-security-and-logging/)」  | 
| `track_counts` パラメータがオフになっている | `track_counts` パラメータが無効の場合、データベースはデータベースアクティビティ統計を収集しません。自動バキュームでは、これらの統計が正しく機能する必要があります。 `track_counts` パラメータを `1` に設定することをお勧めします。 | `track_counts` パラメータを `1` に設定します。 | いいえ |  [PostgreSQL のランタイム統計](https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-COUNTS)   | 
| `enable_indexonlyscan` パラメータがオフになっている | クエリプランナーまたはオプティマイザーは、インデックスのみのスキャン計画タイプが無効になっている場合は使用できません。 `enable_indexonlyscan` パラメータ値を `1` に設定することをお勧めします。 | `enable_indexonlyscan` パラメータ値を `1` に設定します。 | いいえ |  [PostgreSQL のプランナーメソッド設定](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INDEXONLYSCAN)  | 
| `enable_indexscan` パラメータがオフになっている | クエリプランナーまたはオプティマイザーは、インデックスのみのスキャン計画タイプが無効になっている場合は使用できません。 `enable_indexscan` 値を `1` に設定することをお勧めします。 | `enable_indexscan` パラメータ値を `1` に設定します。 | いいえ |  [PostgreSQL のプランナーメソッド設定](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INDEXONLYSCAN)  | 
| `innodb_flush_log_at_trx` パラメータがオフになっている | DB インスタンスの `innodb_flush_log_at_trx` パラメータの値は安全ではありません。このパラメータは、ディスクへのコミット操作の持続性を制御します。 `innodb_flush_log_at_trx` パラメータを `1` に設定することをお勧めします。 | `innodb_flush_log_at_trx` パラメータ値を `1` に設定します。 | いいえ |  [ログバッファをフラッシュする頻度の設定](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)  | 
| `innodb_stats_persistent` パラメータがオフになっている | DB インスタンスは、InnoDB 統計をディスクに保持するように設定されていません。統計が保存されていない場合は、インスタンスが再起動してテーブルにアクセスするたびに再計算されます。これにより、クエリ実行プランにばらつきが生じます。このグローバルパラメータの値はテーブルレベルで変更できます。 `innodb_stats_persistent` パラメータ値を `ON` に設定することをお勧めします。 | `innodb_stats_persistent` パラメータ値を `ON` に設定します。 | いいえ |  [Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)  | 
| `innodb_open_files` パラメータが低い | `innodb_open_files` パラメータは、InnoDB が一度に開くことができるファイル数を制御します。InnoDB は、mysqld の実行時にすべてのログファイルとシステムテーブルスペースファイルを開きます。 お使いの DB インスタンスは、InnoDB が一度に開くことができる最大ファイル数の値が低くなっています。`innodb_open_files` パラメータを少なくとも `65` に設定することをお勧めします。 | `innodb_open_files` パラメータを最小値の `65` に設定します。 | はい | [MySQL 用の InnoDB オープンファイル](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_open_files)  | 
| `max_user_connections` パラメータが低い | DB インスタンスは、各データベースアカウントの最大同時接続数の値が低くなっています。 `max_user_connections` パラメータを `5` より大きい数に設定することをお勧めします。 | `max_user_connections` パラメータの値を `5` より大きい数にします。 | はい | [MySQL のアカウントリソース制限の設定](https://dev.mysql.com/doc/refman/8.0/en/user-resources.html) | 
| リードレプリカは書き込み可能モードで開かれている | DB インスタンスには書き込み可能モードのリードレプリカがあり、クライアントからの更新が可能です。 リードレプリカが書き込み可能モードにならないように、`read_only` パラメータを `TrueIfReplica` に設定することをお勧めします。 | `read_only` パラメータ値を `TrueIfReplica` に設定します。 | いいえ |  [Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)  | 
| `innodb_default_row_format` パラメータ設定が安全ではない | DB インスタンスで既知の問題が発生しました: MySQL バージョン 8.0.26 よりも前のバージョンで、`row_format` を `COMPACT` または `REDUNDANT` に設定して作成されたテーブルは、インデックスが 767 バイトを超えるとアクセスできなくなり、回復できなくなります。 `innodb_default_row_format` パラメータ値を `DYNAMIC` に設定することをお勧めします。 | `innodb_default_row_format` パラメータ値を `DYNAMIC` に設定します。 | いいえ | [MySQL 8.0.26 での変更](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-26.html#mysqld-8-0-26-bug) | 
| `general_logging` パラメータがオンになっている | DB インスタンスの一般ログ記録が有効になっています。この設定は、データベースの問題のトラブルシューティングに役立ちます。しかし、一般ログ記録を有効にすると、入出力操作の量と割り当てられるストレージ容量が増え、競合やパフォーマンスの低下につながる可能性があります。 一般ログ記録の使用状況の要件を確認してください。`general_logging` パラメータ値を `0` に設定することをお勧めします。 | 一般ログ記録の使用状況の要件を確認してください。必須ではない場合は、`general_logging` パラメーターの値を `0` に設定することをお勧めします。 | いいえ |  [Aurora MySQL データベースログの概要](USER_LogAccess.MySQL.LogFileSize.md)  | 
| 読み取りワークロードのプロビジョニングが不十分な DB クラスター | クラスター内のライター DB インスタンスと同じインスタンスクラスとサイズを持つリーダー DB インスタンスを DB クラスターに追加することをお勧めします。現在の設定では、読み取り操作が主な原因となり、データベースの負荷が継続的に高くなっている DB インスタンスが 1 つあります。クラスターに別の DB インスタンスを追加し、読み取りワークロードを DB クラスターの読み取り専用エンドポイントに送信することで、これらの操作を分散します。 | リーダー DB インスタンスをクラスターに追加します。 | いいえ | [DB クラスターに Aurora レプリカを追加する](aurora-replicas-adding.md) [Aurora DB クラスターのパフォーマンスとスケーリングの管理](Aurora.Managing.Performance.md) [Amazon RDS の価格設定](https://aws.amazon.com/rds/pricing/)  | 
| システムメモリ容量のプロビジョニングが不十分な RDS インスタンス | メモリの使用量を減らすか、メモリの割り当て量の多い DB インスタンスタイプを使用するようにクエリを調整することをお勧めします。インスタンスのメモリが不足すると、データベースのパフォーマンスに影響を及ぼします。 | メモリ容量のより高い DB インスタンスを使用する | はい |  AWS データベースブログの[「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)」 [Amazon RDS インスタンスタイプ](https://aws.amazon.com/rds/instance-types/) [Amazon RDS の価格設定](https://aws.amazon.com/rds/pricing/)  | 
| システム CPU 容量のプロビジョニングが不十分な RDS インスタンス | より少ないメモリを使用するようにクエリを調整するか、vCPU の割り当て量がより多い DB インスタンスを使用するように DB インスタンスを変更することをお勧めします。DB インスタンスの CPU が少なくなると、データベースのパフォーマンスが低下する可能性があります。 | CPU 容量がより多い DB インスタンスを使用する | はい |  AWS データベースブログの[「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)」 [Amazon RDS インスタンスタイプ](https://aws.amazon.com/rds/instance-types/) [Amazon RDS の価格設定](https://aws.amazon.com/rds/pricing/)  | 
| RDS リソースは接続プールを正しく利用していません。 | Amazon RDS Proxy を有効にして、既存のデータベース接続を効率的にプールして共有することをお勧めします。データベースで既にプロキシを使用している場合は、複数の DB インスタンス間の接続プールと負荷分散を改善するようにプロキシを正しく設定します。RDS Proxy は、接続の枯渇やダウンタイムのリスクを軽減すると同時に、可用性とスケーラビリティを向上させるのに役立ちます。 | RDS プロキシを有効にするか、既存のプロキシ設定を変更する | いいえ |  AWS データベースブログの[「Amazon RDS インスタンスの垂直スケーリングと水平スケーリング](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)」 [Amazon RDS Proxy for Aurora](rds-proxy.md) [Amazon RDS Proxy の料金](https://aws.amazon.com/rds/proxy/pricing/)  | 