ElastiCache(Redis)の認証トークンを変更する手順


掲題のことをやろうとしてハマったのでメモ書き。

TL;DR

認証トークン(パスワード)を変更する場合は、まずトークンをローテーションでパスーワードを追加する。
その後、トークンを設定で新しいパスワードを指定し、古いパスワードを無効化する。

やりたいこと

ElastiCacheの認証トークン(パスワード)にダミー値を設定していたので、本物のパスワードと差し替えたい。

ハマったこと

トークンを設定で新しいパスワードを設定しようとしても、以下のエラーが出てきて

The AUTH token provided does not match the AUTH token provided for rotation. 
To SET, please use an AUTH token that is the same as the AUTH token provided for rotation.

パスワードが合致しない的なことが書いてあるけど、そりゃ新しいパスワードなんだから当然である。

解決編

ドキュメントを彷徨っていると、こんな記述が。

2 つの AUTH トークンをサポートする Redis サーバーを、1 つの AUTH トークンをサポートするように更新するには、
ModifyReplicationGroup API オペレーションを呼び出します。

つまりこのトークンを設定という機能は、2つあるパスワードのうち1つを指定し、他方は削除するという機能だった。
そのためには、まず新しいパスワードをトークンをローテーションで追加する必要があった、というわけ。

あとがき

いやわかるかーい。