RDS スナップショットからのインスタンスの復元時に CA 証明書を指定する方法
困っていた内容
Amazon RDS 認証局証明書 rds-ca-2019 を使用している Aurora クラスターのスナップショットを取りました。
マネジメントコンソールでそのスナップショットの復元を実行したところ、Aurora インスタンスの CA 証明書が rds-ca-rsa2048-g1 となってしまいました。rds-ca-2019 を指定して復元を行う方法はありますか?
どう対応すればいいの?
原因
マネジメントコンソールでスナップショットからの復元を行う場合は 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 インスタンスの復元
次に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 インスタンスが復元できました。
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 インスタンスが復元できました。