AuroraRDSの証明書更新メンテナンス


cliはバージョンアップ済み(リスタートしないオプションが古いcliだと無い)

# pip install -U awscli
# aws --version
aws-cli/1.17.3 Python/2.7.5 Linux/3.10.0-693.el7.x86_64 botocore/1.14.3

SSLを使用せずrestartしない場合のオプションをつけたコマンドは以下。

myprofile=xxxx
rdsinstance1=xxxx
aws rds modify-db-instance --db-instance-identifier ${rdsinstance1} \
 --ca-certificate-identifier rds-ca-2019 \
 --no-certificate-rotation-restart \
 --apply-immediately --profile ${myprofile}

マネコンで対象インスタンスを確認できる。

stgから準繰り対応で作業後にログで再起動生じていない確認をするなど。
datadogでrdsのrestartイベントは補足される設定してて作業時にアラートは特になかったしマネコンのイベントログからもrestartは特にしてなさそうだった。

--apply-immediatelyを指定しないと週一のメンテナンスウィンドウの時間帯に実行タイミングが設定される挙動になっていた。
マネコンの手順に載ってる「直ちに実行」に相当するオプションをaws rds modify-db-instance helpで探したところ上記が該当した。

確認

# aws rds describe-db-instances --profile ${myprofile} |jq -r '.DBInstances[] |{DBInstanceIdentifier,CACertificateIdentifier}|@text "\(.DBInstanceIdentifier)\t\(.CACertificateIdentifier)"'

3/6追記

3/5でca-2015の証明書期限が切れてから、監視スクリプトでエラーが。
mysqlコマンドの--ssl-modeオプションのデフォルトが少し古いバージョンだと
PREFERRED(証明書が利用できる場合は利用する)になってるせい。
回避するには、mysqlやmysqladminコマンドに--ssl-mode DISABLEDをつけるとよいようです。
https://dev.mysql.com/doc/refman/5.7/en/connection-options.html