Open10

RDS設定変更時の失敗にぶちあたった

GrafEisenGrafEisen

利用環境

AWS Aurora
MySQL8.0.5.2
ライターインスタンス、リーダーインスタンスがそれぞれ1
terraform v3.76.1

GrafEisenGrafEisen

失敗したことの箇条書き

cluster-parameter-groupを変えた。
変わったかどうかコンソールで見た。
インスタンスの設定画面を見た。
「再起動を保留中」となっていた。
なぜだ?となり、また解消方法の知見が欲しくなった。

GrafEisenGrafEisen

cluster-parameter-groupのmax_connectionsのパラメーターを変えたかったので、下記のように書いた。

parameter {
    apply_method = "pending-reboot"
    name  = "max_connections"
    value = "100"
}
GrafEisenGrafEisen

terraform applyで適用し、AWSコンソール上で、クラスターパラメーターグループのmax_connections値を確認し、変更されていることを確認した。

GrafEisenGrafEisen

AWS RDSの画面上で、パラメーターグループが適用中のグリーンシグナルがついているかどうか確認した。
結果、「再起動を保留中」となってしまっていた。

GrafEisenGrafEisen

設定見直した。
aws_rds_clusterとaws_cluster_instanceの設定のapply_immediatelyはtrueになっていた。

GrafEisenGrafEisen

仕様?的なものを見直し。

max_connectionsとは、動的パラメーターである。
→ならば、apply_method = "pending-reboot"で再起動後に適用させる必要ない。

apply_immediately = trueとは「即時反映」のための設定値である。とは知っていた。
→即時反映とは、つまり・・・?
 再起動が必要なときどうなる?
 パラメーターグループの変更が即時反映されないのは、なぜ?
 脳内では(パラメーターグループの変更→再起動が必要な判定→apply_immediatelyがtrueなので、RDS再起動する。という流れになるのでは?)

GrafEisenGrafEisen

apply_immediatelyってそもそもクラスターやインスタンスの変更を即時適用する為で、パラメーターグループは対象外?

GrafEisenGrafEisen

あと、terraformからRDSをrebootなりfailoverなりはできない?

GrafEisenGrafEisen

terraformからRDSをrebootなりfailoverなりはできない?

出来なかった。

apply_immediatelyってそもそもクラスターやインスタンスの変更を即時適用する為で、パラメーターグループは対象外?

対象外っぽそうだ。

dynamicパラメーターは、変えれば、変わる。が、pending_rebootしてしまうと、設定は反映されているのに、再起動待ちだけ生きになる。