SupportsCertificateRotationWithoutRestart が表示されない

2024/06/25に公開

解決策

マネコンで RDS -> Certificate update から Restart required を確認する。

もしくは aws-cli の version を変更してみる。

私の環境で SupportsCertificateRotationWithoutRestart が表示されなかったときの aws-cli の version は以下。

$ aws --version
aws-cli/2.8.13 Python/3.9.11 Darwin/23.0.0 exe/x86_64 prompt/off

表示されるようになった version.

$ aws --version
aws-cli/2.17.1 Python/3.11.8 Darwin/23.0.0 exe/x86_64

詳細

RDS の証明書を更新するにあたり再起動が発生するかどうかを知りたかったので調べたところ、以下コマンドを実行すれば確認できることを知りました。

Modify the DB instance or Multi-AZ DB cluster to change the CA from rds-ca-2019 to rds-ca-rsa2048-g1. To check if your database requires a restart to update the CA certificates, use the describe-db-engine-versions command and check the SupportsCertificateRotationWithoutRestart flag.

引用元

ここまではググればよく出てくる情報なのですが、自分の環境だと SupportsCertificateRotationWithoutRestart が表示されません。

具体的には以下のような結果が返ってきます。

$ aws rds describe-db-engine-versions --engine mysql --engine-version 8.0.32 --region ap-northeast-1
{
    "DBEngineVersions": [
        {
            "Engine": "mysql",
            "EngineVersion": "8.0.32",
            "DBParameterGroupFamily": "mysql8.0",
            "DBEngineDescription": "MySQL Community Edition",
            "DBEngineVersionDescription": "MySQL 8.0.32",
            "ValidUpgradeTarget": [
{
    "DBEngineVersions": [
        {
            "Engine": "mysql",
            "EngineVersion": "8.0.32",
            "DBParameterGroupFamily": "mysql8.0",
            "DBEngineDescription": "MySQL Community Edition",
            "DBEngineVersionDescription": "MySQL 8.0.32",
            "ValidUpgradeTarget": [
                {
                    "Engine": "mysql",
                    "EngineVersion": "8.0.33",
                    "Description": "MySQL 8.0.33",
                    "AutoUpgrade": false,
                    "IsMajorVersionUpgrade": false
                },
                ()
            ],
            "ExportableLogTypes": [
                "audit",
                "error",
                "general",
                "slowquery"
            ],
            "SupportsLogExportsToCloudwatchLogs": true,
            "SupportsReadReplica": true,
            "SupportedFeatureNames": [],
            "Status": "available",
            "SupportsParallelQuery": false,
            "SupportsGlobalDatabases": false,
            "MajorEngineVersion": "8.0",
            "SupportsBabelfish": false
        }
    ]
}

うーん、としばらく悩んでいたのですが、ふとマネコンを見ると Restart required のカラムがありました。最初からこれで良かったですね。

その後、一応気になったので aws-cli の version をあげてみたところ、こちらでも SupportsCertificateRotationWithoutRestart を確認することができました。

というわけで、証明書の更新で再起動が必要かどうかを知るにはマネコンから確認するか、 cli で SupportsCertificateRotationWithoutRestart を確認する。もし表示されなければ version をあげてみる、というのが良さそうです。

Discussion