RDS スナップショットからのインスタンスの復元時に CA 証明書を指定する方法

マネジメントコンソールでスナップショットからの復元を行う場合は CA 証明書の指定ができないため、AWS CLI で CA 証明書を指定して復元してください。
2024.05.07

困っていた内容

Amazon RDS 認証局証明書 rds-ca-2019 を使用している Aurora クラスターのスナップショットを取りました。

auroraスナップショット

マネジメントコンソールでそのスナップショットの復元を実行したところ、Aurora インスタンスの CA 証明書が rds-ca-rsa2048-g1 となってしまいました。rds-ca-2019 を指定して復元を行う方法はありますか?

Auroraの証明書がrds-ca-rsa2048-g1

どう対応すればいいの?

原因

マネジメントコンソールでスナップショットからの復元を行う場合は CA 証明書を指定できないため、復元時点のデフォルトの CA 証明書で復元されます(今回の場合は rds-ca-rsa2048-g1)。

対応方法

CA 証明書を rds-ca-2019 に指定して Aurora インスタンスの復元を行いたい場合は、AWS CLI のrestore-db-cluster-from-snapshotでクラスターを復元した後にcreate-db-instance--ca-certificate-identifierオプションで rds-ca-2019 を指定してください。

やってみた

Aurora クラスターの復元

まずはrestore-db-cluster-from-snapshotコマンドを使用して Aurora クラスターを復元します。

$ aws rds restore-db-cluster-from-snapshot \
    --db-cluster-identifier test-aurora-cluster-restore-from-cli \
    --snapshot-identifier test-aurora-cluster-shapshot \
    --engine aurora-postgresql

Aurora クラスターの復元が完了したことが確認できました。

Auroraクラスターの復元

Aurora インスタンスの復元

次にcreate-db-instanceコマンドで--ca-certificate-identifierオプションを使用して CA 証明書 rds-ca-2019 を指定した Aurora インスタンスを復元します。

$ aws rds create-db-instance \
    --db-cluster-identifier test-aurora-cluster-restore-from-cli \
    --db-instance-identifier test-aurora-instance-restore-from-cli \
    --db-instance-class db.t3.medium \
    --engine aurora-postgresql \
    --ca-certificate-identifier rds-ca-2019

CA 証明書 rds-ca-2019 が使用されている Aurora インスタンスが復元できました。

Auroraの証明書がrds-ca-2019

RDS インスタンスの復元で証明書を rds-ca-2019 に指定したい場合

RDS インスタンスの復元で CA 証明書を rds-ca-2019 に指定したい場合は、restore-db-instance-from-db-snapshot--ca-certificate-identifierオプションで rds-ca-2019 を指定することで対応してください。

$ aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier test-mysql-instance-restore-from-cli \
    --db-snapshot-identifier test-instance-snapshot \
    --db-instance-class db.t3.medium \
    --ca-certificate-identifier rds-ca-2019

rds-ca-2019 を指定した RDS インスタンスが復元できました。

MySQLインスタンスの証明書がrds-ca-2019

参照