Which solution will meet these requirements?
Enable the automatic upgrade option by using the AWS Management Console. Amazon RDS will apply the upgrade, which will occur during the scheduled maintenance window with no downtime.
Create a new DB instance that has the desired version. Configure AWS Database Migration Service (AWS DMS) to migrate the existing data to the new DB instance. Change the DNS records to point to the new DB instance.
Create read replica of the DB instance. Upgrade the version on the read replica. Promote the read replica to be the primary DB instance. Direct the application to use the read replica endpoint.
Create a read replica of the DB instance. Configure a policy to fall over to the read replica if failure occurs during the upgrade. Upgrade the version on the primary DB instance.
Explanations:
Enabling the automatic upgrade option only automates the process of applying a major version upgrade during the maintenance window, but it does not guarantee minimal downtime or a rollback option if problems arise. There will still be downtime during the upgrade, and no rollback mechanism is provided by this option.
Creating a new DB instance and using AWS DMS for migration introduces additional complexity and time. While this option allows for version control and rollback, it requires significant manual intervention and won’t minimize the maintenance window as efficiently as a read replica solution.
Creating a read replica and upgrading it to the new version ensures minimal downtime. Once the read replica is upgraded, it can be promoted to the primary DB instance, minimizing disruption to the application. If the upgrade fails, the original DB instance can still be used as a fallback. This solution meets the rollback and downtime minimization requirements.
While using a read replica and enabling a failover policy provides failover capability, it doesn’t fully meet the requirement of minimizing maintenance time during the upgrade. If the upgrade fails, the failover will occur, but this doesn’t reduce the initial downtime during the upgrade, nor does it provide an easy rollback process in the case of an upgrade failure.