Skill 62 · Amazon Aurora PostgreSQL
Subchapter 62.31
references/upgrade-planning-mode-b-discovery.mdMarkdown5 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. 16.4; 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). These are usually Aurora Limitless, paused clusters, or mid-migration states. Limitless has a separate upgrade path (-limitless engine versions); confirm the variant with the user before proceedingEngineVersion contains -limitless (e.g. 16.6-limitless). If it does, confirm with the user that this is an Aurora Limitless cluster and branch to the Limitless-specific upgrade path. Do NOT proceed to task 4 with standard Aurora assumptionsaws rds describe-db-engine-versions --engine <engine> --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-limitless entries when the source cluster is standard Aurora, and vice versa