RDS インスタンスのステータスが「incompatible-parameters」になった際の調査方法
はじめに
DB インスタンスの メモリ不足 によってincompatible-parameters
が発生している場合がございましたので、調査方法をご紹介します。
困っていた内容
RDS インスタンスのステータスが incompatible-parameters
となっているが、
AWS のナレッジセンターに記載の解決方法ではステータスが元に戻らない。
※ パラメータグループのパラメータ値を、エンジンバージョンやインスタンスクラスと互換性のあるものにリセットすることが解決方法として記載されている。
調査方法
1. DB接続が可能な状態であるかを確認する
アプリからの接続に問題がないか、または CloudWatchメトリクス DatabaseConnections
等でご確認ください。
パラメータグループのパラメータ値が原因でステータスが incompatible-parameters
になっている場合は、
DB インスタンスに接続できなくなるため、ここで切り分けができます。
2. イベントやログにメモリ不足を指摘する記載がないかを確認する
エラーログやイベントにてメモリ不足を示すログがあることを確認してください。
例)エラーログ
Available memory is low. Trying to avoid OOM crash:...
例)RDS イベント
Please check your memory parameters, in particular the max_connections, innodb_buffer_pool_size, key_buffer_size, query_cache_size, tmp_table_size, innodb_additional_mem_pool_size and innodb_log_buffer_size. Modify the memory parameter and reboot the instance.
ワークアラウンド
スケールアップ
一定時間後に Available のステータスに戻るのでその際にスケールアップを実施する。
再作成
急ぎの場合は スナップショットやポイントインタイムリカバリにて新しいインスタンスタイプでのインスタンス作成を行う。
補足
短期間で RDS インスタンスが再起動を繰り返すことでステータスが「incompatible-parameters」となるケースを確認しております。 (※ 再起動→メモリ不足→再起動...と事象がループしている)
その際は Available のステータスに戻るのを一定時間お待ちいただければと存じます。