RDSパラメーターグループはいつ変更が有効になるのか?

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

DBパラメーターグループについて

AWS RDSはDBエンジンごとにデフォルトのパラメーターグループが定義されています。 エンジンデフォルトのパラメーターグループはパラメーターを一切変更できないため、ユーザー独自のDBパラメーターグループを定義することもできます。

では、ユーザー独自のDBパラメーターグループのパラメーターを変更した時、その変更はRDSインスタンスにはいつ有効になるのでしょうか?

パラメーターの適用タイプについて

DBパラメーターグループの各パラメーターは「適用タイプ」("Apply Type")という属性を持っており、この値が dynamic/static のどちらなのかによって挙動が異なります。

dynamic の時

dynamic パラメーターは、ほぼ即時に変更が有効になります。

パラメーターグループの同期状態は in-sync → applying → in-sync と遷移します。

rds_parameter_applying

MySQL 系データベースエンジンで言えば Dynamic System Variables に分類される変数が該当します。

static の時

static パラメーターはRDSインスタンスをリブートすると、変更が有効になります。

パラメーターグループの同期状態は in-sync → pending-reboot → [INSTANCE REBOOT] → in-sync と遷移します。

rds-parameter-pending-reboot

注意

変更できないパラメーター

ユーザーはすべてのパラメーターを変更出来るわけではありません。 変更出来るのは「変更可能」("Is Modifiable")true のパラメーターだけです。

パラメーターグループの付け替え

パラメーターグループを変更する場合、RDSインスタンスのリブートが必須です。

デフォルトのパラメーターグループを設定していたインスタンスに対して、パラメーターを変更するために、ユーザー定義のパラメーターグループに変更するようなケースが該当します。

参考