Chapter 57 · Amazon Aurora MySQL
Subchapter 57.22
references/upgrade-planning-mode-b-discovery.mdMarkdown4 KBView on GitHub
Cluster-specific workflow. Run these with live AWS calls after the user names a cluster. Continue to lts-recommendation.md (Task 5) and (Tasks 6–8).
Constraints:
rds:DescribeDBClusters, rds:DescribeDBEngineVersions, and rds:DescribeDBInstances before startingIf credentials are missing, the cluster isn’t found, or any describe-* call fails, you MUST report the exact failure to the user and stop that step. There is no “demonstration mode” for this workflow — fabricating example describe-db-clusters or describe-db-engine-versions output and then recommending targets derived from it produces a plausible-looking answer with no factual basis, and users have acted on those fabricated answers.
Constraints:
EngineVersion, Engine, DBClusterParameterGroup, ValidUpgradeTarget, instance class, Status, or any other field that a describe-* call would return, because the user will reasonably assume those values came from their clusterdescribe-db-engine-versions as source of truth” when you did not execute it — self-reporting contradicting the transcript is worse than the original fabricationdescribe-db-engine-versions actually returned it, because valid targets depend on the current version and change over timeRequired: cluster identifier (string) and region (string, AWS region code, default us-east-1).
Optional: target version (string, e.g. 3.08; omit to see all options), connection method for live prechecks (one of ssm, data-api, direct, user-runs-script).
Constraints for parameter acquisition:
aws rds describe-db-clusters --db-cluster-identifier <cluster_id> --region <region> \
--query "DBClusters[0].{Engine:Engine,EngineVersion:EngineVersion,Status:Status,EngineMode:EngineMode,DeletionProtection:DeletionProtection,StorageEncrypted:StorageEncrypted,DBClusterParameterGroup:DBClusterParameterGroup}"If not found, check for Global Database with describe-global-clusters. Get instance class with describe-db-instances --filters "Name=db-cluster-id,Values=<cluster_id>".
Constraints:
DBClusterMembers). For Aurora MySQL these are usually paused clusters or mid-migration states; confirm the cluster’s state with the user before proceeding rather than assuming it is upgrade-readyaws rds describe-db-engine-versions --engine aurora-mysql --engine-version <current_version> --region <region> \
--query "DBEngineVersions[0].ValidUpgradeTarget[*].{EngineVersion:EngineVersion,IsMajorVersionUpgrade:IsMajorVersionUpgrade}"Constraints:
describe-db-engine-versions rather than hard-coding because the LTS version and valid targets change over time