[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aws-labs-rds-aurora":3,"mdc-jnl0x3-key":37,"related-org-aws-labs-rds-aurora":1474,"related-repo-aws-labs-rds-aurora":1648},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"rds-aurora","design and operate Amazon RDS databases","Deep-dive into Amazon RDS and Aurora database design, engine selection, high availability, and operations. This skill should be used when the user asks to \"design an RDS database\", \"choose between RDS and Aurora\", \"configure Aurora Serverless\", \"set up read replicas\", \"plan a database migration\", \"configure RDS Proxy\", \"tune database parameters\", \"set up Multi-AZ\", \"plan blue\u002Fgreen deployments\", or mentions RDS, Aurora, Aurora Serverless v2, database failover, or relational database design on AWS.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aws-labs","AWS Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faws-labs.png","awslabs",[13,17,20,23],{"name":14,"slug":15,"type":16},"Database","database","tag",{"name":18,"slug":19,"type":16},"PostgreSQL","postgresql",{"name":21,"slug":22,"type":16},"AWS","aws",{"name":24,"slug":25,"type":16},"Aurora","aurora",14,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fstartups","2026-07-12T08:40:22.616116",null,15,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Official AWS Startups repository that hosts plugins, skills, tools and resources to support startup builders on AWS","https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fstartups\u002Ftree\u002FHEAD\u002Fsolution-architecture\u002Fplugins\u002Faws-dev-toolkit\u002Fskills\u002Frds-aurora","---\nname: rds-aurora\ndescription: Deep-dive into Amazon RDS and Aurora database design, engine selection, high availability, and operations. This skill should be used when the user asks to \"design an RDS database\", \"choose between RDS and Aurora\", \"configure Aurora Serverless\", \"set up read replicas\", \"plan a database migration\", \"configure RDS Proxy\", \"tune database parameters\", \"set up Multi-AZ\", \"plan blue\u002Fgreen deployments\", or mentions RDS, Aurora, Aurora Serverless v2, database failover, or relational database design on AWS.\n---\n\nSpecialist guidance for Amazon RDS and Aurora. Covers engine selection, instance sizing, high availability, read scaling, security, migration, and operational best practices.\n\n## Process\n\n1. Identify the workload characteristics: read\u002Fwrite ratio, latency requirements, data volume, connection count\n2. Use the `awsknowledge` MCP tools (`mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation`, `mcp__plugin_aws-dev-toolkit_awsknowledge__aws___read_documentation`, `mcp__plugin_aws-dev-toolkit_awsknowledge__aws___recommend`) to verify current RDS\u002FAurora limits, engine versions, and features\n3. Select the appropriate engine and deployment model (RDS single-instance, RDS Multi-AZ, Aurora provisioned, Aurora Serverless v2)\n4. Design the high availability and read scaling topology\n5. Configure security (encryption, IAM auth, network isolation)\n6. Recommend operational best practices (backups, monitoring, maintenance)\n\n## Engine Selection Decision Matrix\n\n| Requirement                                               | Recommendation                                              | Why                                                           |\n| --------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------- |\n| MySQL\u002FPostgreSQL, predictable workload, cost-sensitive    | RDS for MySQL\u002FPostgreSQL                                    | Simpler, cheaper for small-medium workloads                   |\n| MySQL\u002FPostgreSQL, high availability, auto-scaling storage | Aurora (MySQL\u002FPostgreSQL)                                   | 6-way replicated storage, up to 128 TB auto-grow              |\n| Spiky or unpredictable traffic                            | Aurora Serverless v2                                        | Scales ACUs in 0.5 increments, optional scale-to-zero support |\n| Oracle or SQL Server licensing                            | RDS for Oracle \u002F SQL Server                                 | Only option for these engines on managed AWS                  |\n| Very small dev\u002Ftest database                              | RDS with `db.t4g.micro` or Aurora Serverless v2 min 0.5 ACU | Lowest cost entry points                                      |\n| High write throughput, global                             | Aurora Global Database                                      | Sub-second cross-region replication, write forwarding         |\n| Existing on-prem PostgreSQL migration                     | Aurora PostgreSQL + DMS                                     | Wire-compatible, minimal app changes                          |\n\n## Aurora vs RDS — Key Differences\n\n### Storage Architecture\n\n- **RDS**: EBS-backed (gp3 or io2), single-AZ storage unless Multi-AZ\n- **Aurora**: Distributed storage layer, 6 copies across 3 AZs, auto-heals, auto-grows to 128 TB\n- Aurora survives loss of 2 copies for writes, 3 for reads — without manual intervention\n\n### Replication\n\n- **RDS**: Async read replicas (up to 15 for MySQL, 5 for PostgreSQL), separate storage per replica\n- **Aurora**: Up to 15 read replicas sharing the same storage volume — replica lag typically \u003C20ms, often \u003C10ms\n- Aurora replicas can be failover targets with no data loss (same storage)\n\n### Failover\n\n- **RDS Multi-AZ**: 60-120 second failover to synchronous standby\n- **Aurora**: Typically \u003C30 second failover to a read replica (promoted in-place)\n- Aurora supports failover priority tiers (0-15) to control which replica gets promoted\n\n### Cost Comparison\n\n- Aurora instances cost ~20% more than equivalent RDS instances\n- Aurora eliminates separate EBS costs — storage is included in the Aurora pricing model\n- For read-heavy workloads, Aurora's shared storage makes replicas cheaper (no storage duplication)\n- Aurora Serverless v2 can be more cost-effective for variable workloads than provisioned instances sitting idle\n\n## Aurora Serverless v2\n\n- Scales in 0.5 ACU increments (1 ACU ≈ 2 GiB RAM + proportional CPU)\n- Minimum: 0.5 ACU; Maximum: 256 ACU per instance\n- Scales based on CPU, connections, and memory pressure — not request count\n- Can mix Serverless v2 and provisioned instances in the same cluster\n- Recommended pattern: Serverless v2 reader for variable read traffic, provisioned writer for consistent write load\n\n### When to Use Serverless v2\n\n- Development and staging environments\n- Applications with idle periods (nights, weekends)\n- Spiky read workloads (reporting, batch queries)\n- New applications where traffic patterns are unknown\n\n### When to Avoid Serverless v2\n\n- Sustained high-throughput production writers — provisioned is cheaper at steady state\n- Latency-sensitive workloads during scale-up (scaling from minimum takes seconds, not instant)\n\n## High Availability Configurations\n\n### RDS Multi-AZ (Instance)\n\n- Synchronous standby in a different AZ — automatic failover\n- Standby is not readable (unlike Aurora replicas)\n- Use for: production databases that need simple HA without read scaling\n\n### RDS Multi-AZ (Cluster) — db.r6gd Only\n\n- One writer + two readable standbys across 3 AZs\n- Uses local NVMe + synchronous replication\n- Sub-35-second failover\n- Limited to specific instance classes\n\n### Aurora Multi-AZ\n\n- Create at least one read replica in a different AZ for HA\n- All replicas share storage, so failover has zero data loss\n- For production: minimum 2 replicas across 2 AZs (writer + 2 readers = 3 AZs)\n\n### Aurora Global Database\n\n- Cross-region replication with \u003C1 second typical lag\n- Managed RPO\u002FRTO with automated failover\n- Write forwarding lets readers in secondary regions redirect writes to the primary\n- Use for: disaster recovery, low-latency global reads\n\n## RDS Proxy\n\n- Fully managed connection pooler sitting between applications and the database\n- Multiplexes thousands of application connections to a smaller pool of database connections\n- Reduces failover time by maintaining open connections to standby\n- Essential for Lambda → RDS\u002FAurora (Lambda creates many short-lived connections)\n\n### When to Use RDS Proxy\n\n- Lambda functions connecting to RDS\u002FAurora (connection exhaustion risk)\n- Applications with many short-lived connections\n- Reducing failover disruption (proxy pins to new primary automatically)\n\n### When to Skip RDS Proxy\n\n- Applications with persistent connection pools (like traditional app servers with HikariCP\u002FpgBouncer)\n- Workloads requiring session-level features (prepared statements, temp tables — proxy may pin connections)\n\n## Security\n\n### Encryption\n\n- **At rest**: Enable at creation time (cannot be enabled later without snapshot-restore). Use AWS KMS CMK for key control.\n- **In transit**: Enforce SSL via parameter group (`rds.force_ssl = 1` for PostgreSQL, `require_secure_transport = ON` for MySQL)\n\n### Network Isolation\n\n- Deploy in private subnets only — never assign a public IP\n- Use security groups to restrict ingress to application subnets\n- Use VPC endpoints for API calls (`rds` and `rds-data` endpoints)\n\n### Authentication\n\n- **IAM database authentication**: Token-based, no passwords stored — good for Lambda and automated access\n- **Secrets Manager rotation**: Automatic password rotation on a schedule — use for traditional username\u002Fpassword auth\n- **Kerberos\u002FActive Directory**: Available for SQL Server and Oracle via AWS Directory Service\n\n## Blue\u002FGreen Deployments\n\n- Create a \"green\" copy of the production database with changes applied (engine upgrade, parameter changes, schema changes)\n- RDS keeps the green environment in sync via logical replication\n- Switchover takes ~1 minute with minimal downtime\n- Automatic rollback if health checks fail\n\n### Supported Changes\n\n- Major engine version upgrades\n- Parameter group changes\n- Schema changes on the green environment\n- Instance class changes\n\n### Limitations\n\n- Not available for Aurora Serverless v1 (v2 supported)\n- Requires enough capacity for both environments during the transition\n\n## Backup and Recovery\n\n### Automated Backups\n\n- Default retention: 7 days (configurable 0-35 days; 0 disables)\n- Point-in-time recovery (PITR) to any second within the retention window\n- Backups are stored in S3 (managed by AWS, not visible in your bucket)\n\n### Manual Snapshots\n\n- Persist indefinitely until deleted\n- Can be shared cross-account or copied cross-region\n- Use for: pre-change safety nets, archival, cross-region DR\n\n### Aurora Backtrack (MySQL only)\n\n- Rewind the database to a specific point in time without restore\n- Operates on the same cluster — much faster than PITR\n- Configure a backtrack window (up to 72 hours)\n- Use for: recovering from bad queries, accidental deletes\n\n## Anti-Patterns\n\n- **Public subnets for databases.** Never place RDS\u002FAurora in a public subnet. Use private subnets and access through application layer, VPN, or bastion.\n- **Default parameter groups.** Always create custom parameter groups — default ones cannot be modified and make tuning impossible.\n- **Unencrypted instances.** Encryption must be enabled at creation. Retrofitting requires snapshot → copy-encrypted → restore, which means downtime and new endpoints.\n- **Lambda without RDS Proxy.** Lambda creates new connections per invocation. Without a connection pooler, concurrent Lambdas exhaust `max_connections` within seconds.\n- **Single-AZ production databases.** No HA means any AZ failure takes down the database until manual intervention.\n- **Oversized instances \"just in case\".** Start with Performance Insights data, right-size based on actual db.load, not guesswork. Graviton (r7g) instances offer better price-performance.\n- **Ignoring storage IOPS limits.** gp3 default is 3,000 IOPS — if the workload exceeds this, provision higher IOPS or move to io2 before hitting throttling.\n- **Manual password management.** Use `--manage-master-user-password` (Secrets Manager integration) or IAM authentication. Hardcoded passwords in application config are a security incident waiting to happen.\n- **Not enabling deletion protection on production.** A single `delete-db-instance` call without deletion protection can destroy the production database.\n\n## Migration Guidance\n\nFor migrating to RDS\u002FAurora, coordinate with the `migration-advisor` agent for full assessment workflows.\n\n### Common Migration Paths\n\n- **Self-managed MySQL\u002FPostgreSQL → Aurora**: Use AWS DMS for minimal-downtime migration with CDC\n- **Oracle\u002FSQL Server → Aurora PostgreSQL**: Use AWS SCT (Schema Conversion Tool) + DMS\n- **RDS MySQL → Aurora MySQL**: Use snapshot restore (fastest) or create Aurora read replica of RDS instance then promote\n\n### Key Considerations\n\n- Always run SCT assessment report before cross-engine migrations — it quantifies conversion effort\n- Test with DMS validation tasks to verify data integrity post-migration\n- Plan for endpoint changes — Aurora uses cluster endpoints (writer) and reader endpoints\n\n## Additional Resources\n\n### Reference Files\n\nFor detailed operational guidance, consult:\n\n- **`references\u002Finstance-sizing.md`** — Instance family comparison, Graviton recommendations, memory-to-connections ratios, ACU sizing, storage types, and cost optimization patterns\n- **`references\u002Fparameter-tuning.md`** — PostgreSQL and MySQL parameter recommendations, Aurora-specific parameters, and safe change procedures\n- **`references\u002Fmonitoring-operations.md`** — CloudWatch alarm thresholds, Performance Insights wait event analysis, Enhanced Monitoring, backup verification, failover testing, connection diagnostics, and common CLI commands\n\n### Related Skills\n\n- **`migration-advisor`** (agent) — Full migration assessment workflows (DMS, SCT, migration waves)\n- **`cost-check`** — Detailed cost analysis and Reserved Instance recommendations\n- **`security-review`** — IAM, network, and encryption audit for database configurations\n- **`networking`** — VPC design, subnet planning, and security group configuration\n\n## Output Format\n\nWhen recommending a database design, include:\n\n| Component  | Choice                                     | Rationale                              |\n| ---------- | ------------------------------------------ | -------------------------------------- |\n| Engine     | Aurora PostgreSQL 16.4                     | Wire-compatible, storage auto-scaling  |\n| Writer     | db.r7g.xlarge (provisioned)                | Consistent write load, 4 vCPU \u002F 32 GiB |\n| Reader(s)  | db.serverless (Serverless v2, 1-16 ACU)    | Variable read traffic                  |\n| HA         | Multi-AZ (writer + 2 readers across 3 AZs) | Production requirement                 |\n| Proxy      | RDS Proxy                                  | Lambda consumers                       |\n| Encryption | KMS CMK, force SSL                         | Compliance requirement                 |\n\nInclude estimated monthly cost range using the `cost-check` skill.\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,50,57,124,130,297,303,310,339,345,371,377,404,410,433,438,466,472,495,501,514,520,526,544,550,573,579,597,602,625,631,654,660,678,684,697,703,709,748,754,788,794,827,833,856,862,885,891,904,910,916,934,940,958,964,987,993,1110,1116,1129,1135,1168,1174,1192,1198,1204,1209,1254,1260,1318,1324,1329,1462],{"type":43,"tag":44,"props":45,"children":46},"element","p",{},[47],{"type":48,"value":49},"text","Specialist guidance for Amazon RDS and Aurora. Covers engine selection, instance sizing, high availability, read scaling, security, migration, and operational best practices.",{"type":43,"tag":51,"props":52,"children":54},"h2",{"id":53},"process",[55],{"type":48,"value":56},"Process",{"type":43,"tag":58,"props":59,"children":60},"ol",{},[61,67,104,109,114,119],{"type":43,"tag":62,"props":63,"children":64},"li",{},[65],{"type":48,"value":66},"Identify the workload characteristics: read\u002Fwrite ratio, latency requirements, data volume, connection count",{"type":43,"tag":62,"props":68,"children":69},{},[70,72,79,81,87,89,95,96,102],{"type":48,"value":71},"Use the ",{"type":43,"tag":73,"props":74,"children":76},"code",{"className":75},[],[77],{"type":48,"value":78},"awsknowledge",{"type":48,"value":80}," MCP tools (",{"type":43,"tag":73,"props":82,"children":84},{"className":83},[],[85],{"type":48,"value":86},"mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation",{"type":48,"value":88},", ",{"type":43,"tag":73,"props":90,"children":92},{"className":91},[],[93],{"type":48,"value":94},"mcp__plugin_aws-dev-toolkit_awsknowledge__aws___read_documentation",{"type":48,"value":88},{"type":43,"tag":73,"props":97,"children":99},{"className":98},[],[100],{"type":48,"value":101},"mcp__plugin_aws-dev-toolkit_awsknowledge__aws___recommend",{"type":48,"value":103},") to verify current RDS\u002FAurora limits, engine versions, and features",{"type":43,"tag":62,"props":105,"children":106},{},[107],{"type":48,"value":108},"Select the appropriate engine and deployment model (RDS single-instance, RDS Multi-AZ, Aurora provisioned, Aurora Serverless v2)",{"type":43,"tag":62,"props":110,"children":111},{},[112],{"type":48,"value":113},"Design the high availability and read scaling topology",{"type":43,"tag":62,"props":115,"children":116},{},[117],{"type":48,"value":118},"Configure security (encryption, IAM auth, network isolation)",{"type":43,"tag":62,"props":120,"children":121},{},[122],{"type":48,"value":123},"Recommend operational best practices (backups, monitoring, maintenance)",{"type":43,"tag":51,"props":125,"children":127},{"id":126},"engine-selection-decision-matrix",[128],{"type":48,"value":129},"Engine Selection Decision Matrix",{"type":43,"tag":131,"props":132,"children":133},"table",{},[134,158],{"type":43,"tag":135,"props":136,"children":137},"thead",{},[138],{"type":43,"tag":139,"props":140,"children":141},"tr",{},[142,148,153],{"type":43,"tag":143,"props":144,"children":145},"th",{},[146],{"type":48,"value":147},"Requirement",{"type":43,"tag":143,"props":149,"children":150},{},[151],{"type":48,"value":152},"Recommendation",{"type":43,"tag":143,"props":154,"children":155},{},[156],{"type":48,"value":157},"Why",{"type":43,"tag":159,"props":160,"children":161},"tbody",{},[162,181,199,217,235,261,279],{"type":43,"tag":139,"props":163,"children":164},{},[165,171,176],{"type":43,"tag":166,"props":167,"children":168},"td",{},[169],{"type":48,"value":170},"MySQL\u002FPostgreSQL, predictable workload, cost-sensitive",{"type":43,"tag":166,"props":172,"children":173},{},[174],{"type":48,"value":175},"RDS for MySQL\u002FPostgreSQL",{"type":43,"tag":166,"props":177,"children":178},{},[179],{"type":48,"value":180},"Simpler, cheaper for small-medium workloads",{"type":43,"tag":139,"props":182,"children":183},{},[184,189,194],{"type":43,"tag":166,"props":185,"children":186},{},[187],{"type":48,"value":188},"MySQL\u002FPostgreSQL, high availability, auto-scaling storage",{"type":43,"tag":166,"props":190,"children":191},{},[192],{"type":48,"value":193},"Aurora (MySQL\u002FPostgreSQL)",{"type":43,"tag":166,"props":195,"children":196},{},[197],{"type":48,"value":198},"6-way replicated storage, up to 128 TB auto-grow",{"type":43,"tag":139,"props":200,"children":201},{},[202,207,212],{"type":43,"tag":166,"props":203,"children":204},{},[205],{"type":48,"value":206},"Spiky or unpredictable traffic",{"type":43,"tag":166,"props":208,"children":209},{},[210],{"type":48,"value":211},"Aurora Serverless v2",{"type":43,"tag":166,"props":213,"children":214},{},[215],{"type":48,"value":216},"Scales ACUs in 0.5 increments, optional scale-to-zero support",{"type":43,"tag":139,"props":218,"children":219},{},[220,225,230],{"type":43,"tag":166,"props":221,"children":222},{},[223],{"type":48,"value":224},"Oracle or SQL Server licensing",{"type":43,"tag":166,"props":226,"children":227},{},[228],{"type":48,"value":229},"RDS for Oracle \u002F SQL Server",{"type":43,"tag":166,"props":231,"children":232},{},[233],{"type":48,"value":234},"Only option for these engines on managed AWS",{"type":43,"tag":139,"props":236,"children":237},{},[238,243,256],{"type":43,"tag":166,"props":239,"children":240},{},[241],{"type":48,"value":242},"Very small dev\u002Ftest database",{"type":43,"tag":166,"props":244,"children":245},{},[246,248,254],{"type":48,"value":247},"RDS with ",{"type":43,"tag":73,"props":249,"children":251},{"className":250},[],[252],{"type":48,"value":253},"db.t4g.micro",{"type":48,"value":255}," or Aurora Serverless v2 min 0.5 ACU",{"type":43,"tag":166,"props":257,"children":258},{},[259],{"type":48,"value":260},"Lowest cost entry points",{"type":43,"tag":139,"props":262,"children":263},{},[264,269,274],{"type":43,"tag":166,"props":265,"children":266},{},[267],{"type":48,"value":268},"High write throughput, global",{"type":43,"tag":166,"props":270,"children":271},{},[272],{"type":48,"value":273},"Aurora Global Database",{"type":43,"tag":166,"props":275,"children":276},{},[277],{"type":48,"value":278},"Sub-second cross-region replication, write forwarding",{"type":43,"tag":139,"props":280,"children":281},{},[282,287,292],{"type":43,"tag":166,"props":283,"children":284},{},[285],{"type":48,"value":286},"Existing on-prem PostgreSQL migration",{"type":43,"tag":166,"props":288,"children":289},{},[290],{"type":48,"value":291},"Aurora PostgreSQL + DMS",{"type":43,"tag":166,"props":293,"children":294},{},[295],{"type":48,"value":296},"Wire-compatible, minimal app changes",{"type":43,"tag":51,"props":298,"children":300},{"id":299},"aurora-vs-rds-key-differences",[301],{"type":48,"value":302},"Aurora vs RDS — Key Differences",{"type":43,"tag":304,"props":305,"children":307},"h3",{"id":306},"storage-architecture",[308],{"type":48,"value":309},"Storage Architecture",{"type":43,"tag":311,"props":312,"children":313},"ul",{},[314,325,334],{"type":43,"tag":62,"props":315,"children":316},{},[317,323],{"type":43,"tag":318,"props":319,"children":320},"strong",{},[321],{"type":48,"value":322},"RDS",{"type":48,"value":324},": EBS-backed (gp3 or io2), single-AZ storage unless Multi-AZ",{"type":43,"tag":62,"props":326,"children":327},{},[328,332],{"type":43,"tag":318,"props":329,"children":330},{},[331],{"type":48,"value":24},{"type":48,"value":333},": Distributed storage layer, 6 copies across 3 AZs, auto-heals, auto-grows to 128 TB",{"type":43,"tag":62,"props":335,"children":336},{},[337],{"type":48,"value":338},"Aurora survives loss of 2 copies for writes, 3 for reads — without manual intervention",{"type":43,"tag":304,"props":340,"children":342},{"id":341},"replication",[343],{"type":48,"value":344},"Replication",{"type":43,"tag":311,"props":346,"children":347},{},[348,357,366],{"type":43,"tag":62,"props":349,"children":350},{},[351,355],{"type":43,"tag":318,"props":352,"children":353},{},[354],{"type":48,"value":322},{"type":48,"value":356},": Async read replicas (up to 15 for MySQL, 5 for PostgreSQL), separate storage per replica",{"type":43,"tag":62,"props":358,"children":359},{},[360,364],{"type":43,"tag":318,"props":361,"children":362},{},[363],{"type":48,"value":24},{"type":48,"value":365},": Up to 15 read replicas sharing the same storage volume — replica lag typically \u003C20ms, often \u003C10ms",{"type":43,"tag":62,"props":367,"children":368},{},[369],{"type":48,"value":370},"Aurora replicas can be failover targets with no data loss (same storage)",{"type":43,"tag":304,"props":372,"children":374},{"id":373},"failover",[375],{"type":48,"value":376},"Failover",{"type":43,"tag":311,"props":378,"children":379},{},[380,390,399],{"type":43,"tag":62,"props":381,"children":382},{},[383,388],{"type":43,"tag":318,"props":384,"children":385},{},[386],{"type":48,"value":387},"RDS Multi-AZ",{"type":48,"value":389},": 60-120 second failover to synchronous standby",{"type":43,"tag":62,"props":391,"children":392},{},[393,397],{"type":43,"tag":318,"props":394,"children":395},{},[396],{"type":48,"value":24},{"type":48,"value":398},": Typically \u003C30 second failover to a read replica (promoted in-place)",{"type":43,"tag":62,"props":400,"children":401},{},[402],{"type":48,"value":403},"Aurora supports failover priority tiers (0-15) to control which replica gets promoted",{"type":43,"tag":304,"props":405,"children":407},{"id":406},"cost-comparison",[408],{"type":48,"value":409},"Cost Comparison",{"type":43,"tag":311,"props":411,"children":412},{},[413,418,423,428],{"type":43,"tag":62,"props":414,"children":415},{},[416],{"type":48,"value":417},"Aurora instances cost ~20% more than equivalent RDS instances",{"type":43,"tag":62,"props":419,"children":420},{},[421],{"type":48,"value":422},"Aurora eliminates separate EBS costs — storage is included in the Aurora pricing model",{"type":43,"tag":62,"props":424,"children":425},{},[426],{"type":48,"value":427},"For read-heavy workloads, Aurora's shared storage makes replicas cheaper (no storage duplication)",{"type":43,"tag":62,"props":429,"children":430},{},[431],{"type":48,"value":432},"Aurora Serverless v2 can be more cost-effective for variable workloads than provisioned instances sitting idle",{"type":43,"tag":51,"props":434,"children":436},{"id":435},"aurora-serverless-v2",[437],{"type":48,"value":211},{"type":43,"tag":311,"props":439,"children":440},{},[441,446,451,456,461],{"type":43,"tag":62,"props":442,"children":443},{},[444],{"type":48,"value":445},"Scales in 0.5 ACU increments (1 ACU ≈ 2 GiB RAM + proportional CPU)",{"type":43,"tag":62,"props":447,"children":448},{},[449],{"type":48,"value":450},"Minimum: 0.5 ACU; Maximum: 256 ACU per instance",{"type":43,"tag":62,"props":452,"children":453},{},[454],{"type":48,"value":455},"Scales based on CPU, connections, and memory pressure — not request count",{"type":43,"tag":62,"props":457,"children":458},{},[459],{"type":48,"value":460},"Can mix Serverless v2 and provisioned instances in the same cluster",{"type":43,"tag":62,"props":462,"children":463},{},[464],{"type":48,"value":465},"Recommended pattern: Serverless v2 reader for variable read traffic, provisioned writer for consistent write load",{"type":43,"tag":304,"props":467,"children":469},{"id":468},"when-to-use-serverless-v2",[470],{"type":48,"value":471},"When to Use Serverless v2",{"type":43,"tag":311,"props":473,"children":474},{},[475,480,485,490],{"type":43,"tag":62,"props":476,"children":477},{},[478],{"type":48,"value":479},"Development and staging environments",{"type":43,"tag":62,"props":481,"children":482},{},[483],{"type":48,"value":484},"Applications with idle periods (nights, weekends)",{"type":43,"tag":62,"props":486,"children":487},{},[488],{"type":48,"value":489},"Spiky read workloads (reporting, batch queries)",{"type":43,"tag":62,"props":491,"children":492},{},[493],{"type":48,"value":494},"New applications where traffic patterns are unknown",{"type":43,"tag":304,"props":496,"children":498},{"id":497},"when-to-avoid-serverless-v2",[499],{"type":48,"value":500},"When to Avoid Serverless v2",{"type":43,"tag":311,"props":502,"children":503},{},[504,509],{"type":43,"tag":62,"props":505,"children":506},{},[507],{"type":48,"value":508},"Sustained high-throughput production writers — provisioned is cheaper at steady state",{"type":43,"tag":62,"props":510,"children":511},{},[512],{"type":48,"value":513},"Latency-sensitive workloads during scale-up (scaling from minimum takes seconds, not instant)",{"type":43,"tag":51,"props":515,"children":517},{"id":516},"high-availability-configurations",[518],{"type":48,"value":519},"High Availability Configurations",{"type":43,"tag":304,"props":521,"children":523},{"id":522},"rds-multi-az-instance",[524],{"type":48,"value":525},"RDS Multi-AZ (Instance)",{"type":43,"tag":311,"props":527,"children":528},{},[529,534,539],{"type":43,"tag":62,"props":530,"children":531},{},[532],{"type":48,"value":533},"Synchronous standby in a different AZ — automatic failover",{"type":43,"tag":62,"props":535,"children":536},{},[537],{"type":48,"value":538},"Standby is not readable (unlike Aurora replicas)",{"type":43,"tag":62,"props":540,"children":541},{},[542],{"type":48,"value":543},"Use for: production databases that need simple HA without read scaling",{"type":43,"tag":304,"props":545,"children":547},{"id":546},"rds-multi-az-cluster-dbr6gd-only",[548],{"type":48,"value":549},"RDS Multi-AZ (Cluster) — db.r6gd Only",{"type":43,"tag":311,"props":551,"children":552},{},[553,558,563,568],{"type":43,"tag":62,"props":554,"children":555},{},[556],{"type":48,"value":557},"One writer + two readable standbys across 3 AZs",{"type":43,"tag":62,"props":559,"children":560},{},[561],{"type":48,"value":562},"Uses local NVMe + synchronous replication",{"type":43,"tag":62,"props":564,"children":565},{},[566],{"type":48,"value":567},"Sub-35-second failover",{"type":43,"tag":62,"props":569,"children":570},{},[571],{"type":48,"value":572},"Limited to specific instance classes",{"type":43,"tag":304,"props":574,"children":576},{"id":575},"aurora-multi-az",[577],{"type":48,"value":578},"Aurora Multi-AZ",{"type":43,"tag":311,"props":580,"children":581},{},[582,587,592],{"type":43,"tag":62,"props":583,"children":584},{},[585],{"type":48,"value":586},"Create at least one read replica in a different AZ for HA",{"type":43,"tag":62,"props":588,"children":589},{},[590],{"type":48,"value":591},"All replicas share storage, so failover has zero data loss",{"type":43,"tag":62,"props":593,"children":594},{},[595],{"type":48,"value":596},"For production: minimum 2 replicas across 2 AZs (writer + 2 readers = 3 AZs)",{"type":43,"tag":304,"props":598,"children":600},{"id":599},"aurora-global-database",[601],{"type":48,"value":273},{"type":43,"tag":311,"props":603,"children":604},{},[605,610,615,620],{"type":43,"tag":62,"props":606,"children":607},{},[608],{"type":48,"value":609},"Cross-region replication with \u003C1 second typical lag",{"type":43,"tag":62,"props":611,"children":612},{},[613],{"type":48,"value":614},"Managed RPO\u002FRTO with automated failover",{"type":43,"tag":62,"props":616,"children":617},{},[618],{"type":48,"value":619},"Write forwarding lets readers in secondary regions redirect writes to the primary",{"type":43,"tag":62,"props":621,"children":622},{},[623],{"type":48,"value":624},"Use for: disaster recovery, low-latency global reads",{"type":43,"tag":51,"props":626,"children":628},{"id":627},"rds-proxy",[629],{"type":48,"value":630},"RDS Proxy",{"type":43,"tag":311,"props":632,"children":633},{},[634,639,644,649],{"type":43,"tag":62,"props":635,"children":636},{},[637],{"type":48,"value":638},"Fully managed connection pooler sitting between applications and the database",{"type":43,"tag":62,"props":640,"children":641},{},[642],{"type":48,"value":643},"Multiplexes thousands of application connections to a smaller pool of database connections",{"type":43,"tag":62,"props":645,"children":646},{},[647],{"type":48,"value":648},"Reduces failover time by maintaining open connections to standby",{"type":43,"tag":62,"props":650,"children":651},{},[652],{"type":48,"value":653},"Essential for Lambda → RDS\u002FAurora (Lambda creates many short-lived connections)",{"type":43,"tag":304,"props":655,"children":657},{"id":656},"when-to-use-rds-proxy",[658],{"type":48,"value":659},"When to Use RDS Proxy",{"type":43,"tag":311,"props":661,"children":662},{},[663,668,673],{"type":43,"tag":62,"props":664,"children":665},{},[666],{"type":48,"value":667},"Lambda functions connecting to RDS\u002FAurora (connection exhaustion risk)",{"type":43,"tag":62,"props":669,"children":670},{},[671],{"type":48,"value":672},"Applications with many short-lived connections",{"type":43,"tag":62,"props":674,"children":675},{},[676],{"type":48,"value":677},"Reducing failover disruption (proxy pins to new primary automatically)",{"type":43,"tag":304,"props":679,"children":681},{"id":680},"when-to-skip-rds-proxy",[682],{"type":48,"value":683},"When to Skip RDS Proxy",{"type":43,"tag":311,"props":685,"children":686},{},[687,692],{"type":43,"tag":62,"props":688,"children":689},{},[690],{"type":48,"value":691},"Applications with persistent connection pools (like traditional app servers with HikariCP\u002FpgBouncer)",{"type":43,"tag":62,"props":693,"children":694},{},[695],{"type":48,"value":696},"Workloads requiring session-level features (prepared statements, temp tables — proxy may pin connections)",{"type":43,"tag":51,"props":698,"children":700},{"id":699},"security",[701],{"type":48,"value":702},"Security",{"type":43,"tag":304,"props":704,"children":706},{"id":705},"encryption",[707],{"type":48,"value":708},"Encryption",{"type":43,"tag":311,"props":710,"children":711},{},[712,722],{"type":43,"tag":62,"props":713,"children":714},{},[715,720],{"type":43,"tag":318,"props":716,"children":717},{},[718],{"type":48,"value":719},"At rest",{"type":48,"value":721},": Enable at creation time (cannot be enabled later without snapshot-restore). Use AWS KMS CMK for key control.",{"type":43,"tag":62,"props":723,"children":724},{},[725,730,732,738,740,746],{"type":43,"tag":318,"props":726,"children":727},{},[728],{"type":48,"value":729},"In transit",{"type":48,"value":731},": Enforce SSL via parameter group (",{"type":43,"tag":73,"props":733,"children":735},{"className":734},[],[736],{"type":48,"value":737},"rds.force_ssl = 1",{"type":48,"value":739}," for PostgreSQL, ",{"type":43,"tag":73,"props":741,"children":743},{"className":742},[],[744],{"type":48,"value":745},"require_secure_transport = ON",{"type":48,"value":747}," for MySQL)",{"type":43,"tag":304,"props":749,"children":751},{"id":750},"network-isolation",[752],{"type":48,"value":753},"Network Isolation",{"type":43,"tag":311,"props":755,"children":756},{},[757,762,767],{"type":43,"tag":62,"props":758,"children":759},{},[760],{"type":48,"value":761},"Deploy in private subnets only — never assign a public IP",{"type":43,"tag":62,"props":763,"children":764},{},[765],{"type":48,"value":766},"Use security groups to restrict ingress to application subnets",{"type":43,"tag":62,"props":768,"children":769},{},[770,772,778,780,786],{"type":48,"value":771},"Use VPC endpoints for API calls (",{"type":43,"tag":73,"props":773,"children":775},{"className":774},[],[776],{"type":48,"value":777},"rds",{"type":48,"value":779}," and ",{"type":43,"tag":73,"props":781,"children":783},{"className":782},[],[784],{"type":48,"value":785},"rds-data",{"type":48,"value":787}," endpoints)",{"type":43,"tag":304,"props":789,"children":791},{"id":790},"authentication",[792],{"type":48,"value":793},"Authentication",{"type":43,"tag":311,"props":795,"children":796},{},[797,807,817],{"type":43,"tag":62,"props":798,"children":799},{},[800,805],{"type":43,"tag":318,"props":801,"children":802},{},[803],{"type":48,"value":804},"IAM database authentication",{"type":48,"value":806},": Token-based, no passwords stored — good for Lambda and automated access",{"type":43,"tag":62,"props":808,"children":809},{},[810,815],{"type":43,"tag":318,"props":811,"children":812},{},[813],{"type":48,"value":814},"Secrets Manager rotation",{"type":48,"value":816},": Automatic password rotation on a schedule — use for traditional username\u002Fpassword auth",{"type":43,"tag":62,"props":818,"children":819},{},[820,825],{"type":43,"tag":318,"props":821,"children":822},{},[823],{"type":48,"value":824},"Kerberos\u002FActive Directory",{"type":48,"value":826},": Available for SQL Server and Oracle via AWS Directory Service",{"type":43,"tag":51,"props":828,"children":830},{"id":829},"bluegreen-deployments",[831],{"type":48,"value":832},"Blue\u002FGreen Deployments",{"type":43,"tag":311,"props":834,"children":835},{},[836,841,846,851],{"type":43,"tag":62,"props":837,"children":838},{},[839],{"type":48,"value":840},"Create a \"green\" copy of the production database with changes applied (engine upgrade, parameter changes, schema changes)",{"type":43,"tag":62,"props":842,"children":843},{},[844],{"type":48,"value":845},"RDS keeps the green environment in sync via logical replication",{"type":43,"tag":62,"props":847,"children":848},{},[849],{"type":48,"value":850},"Switchover takes ~1 minute with minimal downtime",{"type":43,"tag":62,"props":852,"children":853},{},[854],{"type":48,"value":855},"Automatic rollback if health checks fail",{"type":43,"tag":304,"props":857,"children":859},{"id":858},"supported-changes",[860],{"type":48,"value":861},"Supported Changes",{"type":43,"tag":311,"props":863,"children":864},{},[865,870,875,880],{"type":43,"tag":62,"props":866,"children":867},{},[868],{"type":48,"value":869},"Major engine version upgrades",{"type":43,"tag":62,"props":871,"children":872},{},[873],{"type":48,"value":874},"Parameter group changes",{"type":43,"tag":62,"props":876,"children":877},{},[878],{"type":48,"value":879},"Schema changes on the green environment",{"type":43,"tag":62,"props":881,"children":882},{},[883],{"type":48,"value":884},"Instance class changes",{"type":43,"tag":304,"props":886,"children":888},{"id":887},"limitations",[889],{"type":48,"value":890},"Limitations",{"type":43,"tag":311,"props":892,"children":893},{},[894,899],{"type":43,"tag":62,"props":895,"children":896},{},[897],{"type":48,"value":898},"Not available for Aurora Serverless v1 (v2 supported)",{"type":43,"tag":62,"props":900,"children":901},{},[902],{"type":48,"value":903},"Requires enough capacity for both environments during the transition",{"type":43,"tag":51,"props":905,"children":907},{"id":906},"backup-and-recovery",[908],{"type":48,"value":909},"Backup and Recovery",{"type":43,"tag":304,"props":911,"children":913},{"id":912},"automated-backups",[914],{"type":48,"value":915},"Automated Backups",{"type":43,"tag":311,"props":917,"children":918},{},[919,924,929],{"type":43,"tag":62,"props":920,"children":921},{},[922],{"type":48,"value":923},"Default retention: 7 days (configurable 0-35 days; 0 disables)",{"type":43,"tag":62,"props":925,"children":926},{},[927],{"type":48,"value":928},"Point-in-time recovery (PITR) to any second within the retention window",{"type":43,"tag":62,"props":930,"children":931},{},[932],{"type":48,"value":933},"Backups are stored in S3 (managed by AWS, not visible in your bucket)",{"type":43,"tag":304,"props":935,"children":937},{"id":936},"manual-snapshots",[938],{"type":48,"value":939},"Manual Snapshots",{"type":43,"tag":311,"props":941,"children":942},{},[943,948,953],{"type":43,"tag":62,"props":944,"children":945},{},[946],{"type":48,"value":947},"Persist indefinitely until deleted",{"type":43,"tag":62,"props":949,"children":950},{},[951],{"type":48,"value":952},"Can be shared cross-account or copied cross-region",{"type":43,"tag":62,"props":954,"children":955},{},[956],{"type":48,"value":957},"Use for: pre-change safety nets, archival, cross-region DR",{"type":43,"tag":304,"props":959,"children":961},{"id":960},"aurora-backtrack-mysql-only",[962],{"type":48,"value":963},"Aurora Backtrack (MySQL only)",{"type":43,"tag":311,"props":965,"children":966},{},[967,972,977,982],{"type":43,"tag":62,"props":968,"children":969},{},[970],{"type":48,"value":971},"Rewind the database to a specific point in time without restore",{"type":43,"tag":62,"props":973,"children":974},{},[975],{"type":48,"value":976},"Operates on the same cluster — much faster than PITR",{"type":43,"tag":62,"props":978,"children":979},{},[980],{"type":48,"value":981},"Configure a backtrack window (up to 72 hours)",{"type":43,"tag":62,"props":983,"children":984},{},[985],{"type":48,"value":986},"Use for: recovering from bad queries, accidental deletes",{"type":43,"tag":51,"props":988,"children":990},{"id":989},"anti-patterns",[991],{"type":48,"value":992},"Anti-Patterns",{"type":43,"tag":311,"props":994,"children":995},{},[996,1006,1016,1026,1044,1054,1064,1074,1092],{"type":43,"tag":62,"props":997,"children":998},{},[999,1004],{"type":43,"tag":318,"props":1000,"children":1001},{},[1002],{"type":48,"value":1003},"Public subnets for databases.",{"type":48,"value":1005}," Never place RDS\u002FAurora in a public subnet. Use private subnets and access through application layer, VPN, or bastion.",{"type":43,"tag":62,"props":1007,"children":1008},{},[1009,1014],{"type":43,"tag":318,"props":1010,"children":1011},{},[1012],{"type":48,"value":1013},"Default parameter groups.",{"type":48,"value":1015}," Always create custom parameter groups — default ones cannot be modified and make tuning impossible.",{"type":43,"tag":62,"props":1017,"children":1018},{},[1019,1024],{"type":43,"tag":318,"props":1020,"children":1021},{},[1022],{"type":48,"value":1023},"Unencrypted instances.",{"type":48,"value":1025}," Encryption must be enabled at creation. Retrofitting requires snapshot → copy-encrypted → restore, which means downtime and new endpoints.",{"type":43,"tag":62,"props":1027,"children":1028},{},[1029,1034,1036,1042],{"type":43,"tag":318,"props":1030,"children":1031},{},[1032],{"type":48,"value":1033},"Lambda without RDS Proxy.",{"type":48,"value":1035}," Lambda creates new connections per invocation. Without a connection pooler, concurrent Lambdas exhaust ",{"type":43,"tag":73,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":48,"value":1041},"max_connections",{"type":48,"value":1043}," within seconds.",{"type":43,"tag":62,"props":1045,"children":1046},{},[1047,1052],{"type":43,"tag":318,"props":1048,"children":1049},{},[1050],{"type":48,"value":1051},"Single-AZ production databases.",{"type":48,"value":1053}," No HA means any AZ failure takes down the database until manual intervention.",{"type":43,"tag":62,"props":1055,"children":1056},{},[1057,1062],{"type":43,"tag":318,"props":1058,"children":1059},{},[1060],{"type":48,"value":1061},"Oversized instances \"just in case\".",{"type":48,"value":1063}," Start with Performance Insights data, right-size based on actual db.load, not guesswork. Graviton (r7g) instances offer better price-performance.",{"type":43,"tag":62,"props":1065,"children":1066},{},[1067,1072],{"type":43,"tag":318,"props":1068,"children":1069},{},[1070],{"type":48,"value":1071},"Ignoring storage IOPS limits.",{"type":48,"value":1073}," gp3 default is 3,000 IOPS — if the workload exceeds this, provision higher IOPS or move to io2 before hitting throttling.",{"type":43,"tag":62,"props":1075,"children":1076},{},[1077,1082,1084,1090],{"type":43,"tag":318,"props":1078,"children":1079},{},[1080],{"type":48,"value":1081},"Manual password management.",{"type":48,"value":1083}," Use ",{"type":43,"tag":73,"props":1085,"children":1087},{"className":1086},[],[1088],{"type":48,"value":1089},"--manage-master-user-password",{"type":48,"value":1091}," (Secrets Manager integration) or IAM authentication. Hardcoded passwords in application config are a security incident waiting to happen.",{"type":43,"tag":62,"props":1093,"children":1094},{},[1095,1100,1102,1108],{"type":43,"tag":318,"props":1096,"children":1097},{},[1098],{"type":48,"value":1099},"Not enabling deletion protection on production.",{"type":48,"value":1101}," A single ",{"type":43,"tag":73,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":48,"value":1107},"delete-db-instance",{"type":48,"value":1109}," call without deletion protection can destroy the production database.",{"type":43,"tag":51,"props":1111,"children":1113},{"id":1112},"migration-guidance",[1114],{"type":48,"value":1115},"Migration Guidance",{"type":43,"tag":44,"props":1117,"children":1118},{},[1119,1121,1127],{"type":48,"value":1120},"For migrating to RDS\u002FAurora, coordinate with the ",{"type":43,"tag":73,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":48,"value":1126},"migration-advisor",{"type":48,"value":1128}," agent for full assessment workflows.",{"type":43,"tag":304,"props":1130,"children":1132},{"id":1131},"common-migration-paths",[1133],{"type":48,"value":1134},"Common Migration Paths",{"type":43,"tag":311,"props":1136,"children":1137},{},[1138,1148,1158],{"type":43,"tag":62,"props":1139,"children":1140},{},[1141,1146],{"type":43,"tag":318,"props":1142,"children":1143},{},[1144],{"type":48,"value":1145},"Self-managed MySQL\u002FPostgreSQL → Aurora",{"type":48,"value":1147},": Use AWS DMS for minimal-downtime migration with CDC",{"type":43,"tag":62,"props":1149,"children":1150},{},[1151,1156],{"type":43,"tag":318,"props":1152,"children":1153},{},[1154],{"type":48,"value":1155},"Oracle\u002FSQL Server → Aurora PostgreSQL",{"type":48,"value":1157},": Use AWS SCT (Schema Conversion Tool) + DMS",{"type":43,"tag":62,"props":1159,"children":1160},{},[1161,1166],{"type":43,"tag":318,"props":1162,"children":1163},{},[1164],{"type":48,"value":1165},"RDS MySQL → Aurora MySQL",{"type":48,"value":1167},": Use snapshot restore (fastest) or create Aurora read replica of RDS instance then promote",{"type":43,"tag":304,"props":1169,"children":1171},{"id":1170},"key-considerations",[1172],{"type":48,"value":1173},"Key Considerations",{"type":43,"tag":311,"props":1175,"children":1176},{},[1177,1182,1187],{"type":43,"tag":62,"props":1178,"children":1179},{},[1180],{"type":48,"value":1181},"Always run SCT assessment report before cross-engine migrations — it quantifies conversion effort",{"type":43,"tag":62,"props":1183,"children":1184},{},[1185],{"type":48,"value":1186},"Test with DMS validation tasks to verify data integrity post-migration",{"type":43,"tag":62,"props":1188,"children":1189},{},[1190],{"type":48,"value":1191},"Plan for endpoint changes — Aurora uses cluster endpoints (writer) and reader endpoints",{"type":43,"tag":51,"props":1193,"children":1195},{"id":1194},"additional-resources",[1196],{"type":48,"value":1197},"Additional Resources",{"type":43,"tag":304,"props":1199,"children":1201},{"id":1200},"reference-files",[1202],{"type":48,"value":1203},"Reference Files",{"type":43,"tag":44,"props":1205,"children":1206},{},[1207],{"type":48,"value":1208},"For detailed operational guidance, consult:",{"type":43,"tag":311,"props":1210,"children":1211},{},[1212,1226,1240],{"type":43,"tag":62,"props":1213,"children":1214},{},[1215,1224],{"type":43,"tag":318,"props":1216,"children":1217},{},[1218],{"type":43,"tag":73,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":48,"value":1223},"references\u002Finstance-sizing.md",{"type":48,"value":1225}," — Instance family comparison, Graviton recommendations, memory-to-connections ratios, ACU sizing, storage types, and cost optimization patterns",{"type":43,"tag":62,"props":1227,"children":1228},{},[1229,1238],{"type":43,"tag":318,"props":1230,"children":1231},{},[1232],{"type":43,"tag":73,"props":1233,"children":1235},{"className":1234},[],[1236],{"type":48,"value":1237},"references\u002Fparameter-tuning.md",{"type":48,"value":1239}," — PostgreSQL and MySQL parameter recommendations, Aurora-specific parameters, and safe change procedures",{"type":43,"tag":62,"props":1241,"children":1242},{},[1243,1252],{"type":43,"tag":318,"props":1244,"children":1245},{},[1246],{"type":43,"tag":73,"props":1247,"children":1249},{"className":1248},[],[1250],{"type":48,"value":1251},"references\u002Fmonitoring-operations.md",{"type":48,"value":1253}," — CloudWatch alarm thresholds, Performance Insights wait event analysis, Enhanced Monitoring, backup verification, failover testing, connection diagnostics, and common CLI commands",{"type":43,"tag":304,"props":1255,"children":1257},{"id":1256},"related-skills",[1258],{"type":48,"value":1259},"Related Skills",{"type":43,"tag":311,"props":1261,"children":1262},{},[1263,1276,1290,1304],{"type":43,"tag":62,"props":1264,"children":1265},{},[1266,1274],{"type":43,"tag":318,"props":1267,"children":1268},{},[1269],{"type":43,"tag":73,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":48,"value":1126},{"type":48,"value":1275}," (agent) — Full migration assessment workflows (DMS, SCT, migration waves)",{"type":43,"tag":62,"props":1277,"children":1278},{},[1279,1288],{"type":43,"tag":318,"props":1280,"children":1281},{},[1282],{"type":43,"tag":73,"props":1283,"children":1285},{"className":1284},[],[1286],{"type":48,"value":1287},"cost-check",{"type":48,"value":1289}," — Detailed cost analysis and Reserved Instance recommendations",{"type":43,"tag":62,"props":1291,"children":1292},{},[1293,1302],{"type":43,"tag":318,"props":1294,"children":1295},{},[1296],{"type":43,"tag":73,"props":1297,"children":1299},{"className":1298},[],[1300],{"type":48,"value":1301},"security-review",{"type":48,"value":1303}," — IAM, network, and encryption audit for database configurations",{"type":43,"tag":62,"props":1305,"children":1306},{},[1307,1316],{"type":43,"tag":318,"props":1308,"children":1309},{},[1310],{"type":43,"tag":73,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":48,"value":1315},"networking",{"type":48,"value":1317}," — VPC design, subnet planning, and security group configuration",{"type":43,"tag":51,"props":1319,"children":1321},{"id":1320},"output-format",[1322],{"type":48,"value":1323},"Output Format",{"type":43,"tag":44,"props":1325,"children":1326},{},[1327],{"type":48,"value":1328},"When recommending a database design, include:",{"type":43,"tag":131,"props":1330,"children":1331},{},[1332,1353],{"type":43,"tag":135,"props":1333,"children":1334},{},[1335],{"type":43,"tag":139,"props":1336,"children":1337},{},[1338,1343,1348],{"type":43,"tag":143,"props":1339,"children":1340},{},[1341],{"type":48,"value":1342},"Component",{"type":43,"tag":143,"props":1344,"children":1345},{},[1346],{"type":48,"value":1347},"Choice",{"type":43,"tag":143,"props":1349,"children":1350},{},[1351],{"type":48,"value":1352},"Rationale",{"type":43,"tag":159,"props":1354,"children":1355},{},[1356,1374,1392,1410,1428,1445],{"type":43,"tag":139,"props":1357,"children":1358},{},[1359,1364,1369],{"type":43,"tag":166,"props":1360,"children":1361},{},[1362],{"type":48,"value":1363},"Engine",{"type":43,"tag":166,"props":1365,"children":1366},{},[1367],{"type":48,"value":1368},"Aurora PostgreSQL 16.4",{"type":43,"tag":166,"props":1370,"children":1371},{},[1372],{"type":48,"value":1373},"Wire-compatible, storage auto-scaling",{"type":43,"tag":139,"props":1375,"children":1376},{},[1377,1382,1387],{"type":43,"tag":166,"props":1378,"children":1379},{},[1380],{"type":48,"value":1381},"Writer",{"type":43,"tag":166,"props":1383,"children":1384},{},[1385],{"type":48,"value":1386},"db.r7g.xlarge (provisioned)",{"type":43,"tag":166,"props":1388,"children":1389},{},[1390],{"type":48,"value":1391},"Consistent write load, 4 vCPU \u002F 32 GiB",{"type":43,"tag":139,"props":1393,"children":1394},{},[1395,1400,1405],{"type":43,"tag":166,"props":1396,"children":1397},{},[1398],{"type":48,"value":1399},"Reader(s)",{"type":43,"tag":166,"props":1401,"children":1402},{},[1403],{"type":48,"value":1404},"db.serverless (Serverless v2, 1-16 ACU)",{"type":43,"tag":166,"props":1406,"children":1407},{},[1408],{"type":48,"value":1409},"Variable read traffic",{"type":43,"tag":139,"props":1411,"children":1412},{},[1413,1418,1423],{"type":43,"tag":166,"props":1414,"children":1415},{},[1416],{"type":48,"value":1417},"HA",{"type":43,"tag":166,"props":1419,"children":1420},{},[1421],{"type":48,"value":1422},"Multi-AZ (writer + 2 readers across 3 AZs)",{"type":43,"tag":166,"props":1424,"children":1425},{},[1426],{"type":48,"value":1427},"Production requirement",{"type":43,"tag":139,"props":1429,"children":1430},{},[1431,1436,1440],{"type":43,"tag":166,"props":1432,"children":1433},{},[1434],{"type":48,"value":1435},"Proxy",{"type":43,"tag":166,"props":1437,"children":1438},{},[1439],{"type":48,"value":630},{"type":43,"tag":166,"props":1441,"children":1442},{},[1443],{"type":48,"value":1444},"Lambda consumers",{"type":43,"tag":139,"props":1446,"children":1447},{},[1448,1452,1457],{"type":43,"tag":166,"props":1449,"children":1450},{},[1451],{"type":48,"value":708},{"type":43,"tag":166,"props":1453,"children":1454},{},[1455],{"type":48,"value":1456},"KMS CMK, force SSL",{"type":43,"tag":166,"props":1458,"children":1459},{},[1460],{"type":48,"value":1461},"Compliance requirement",{"type":43,"tag":44,"props":1463,"children":1464},{},[1465,1467,1472],{"type":48,"value":1466},"Include estimated monthly cost range using the ",{"type":43,"tag":73,"props":1468,"children":1470},{"className":1469},[],[1471],{"type":48,"value":1287},{"type":48,"value":1473}," skill.",{"items":1475,"total":1647},[1476,1495,1512,1522,1535,1546,1556,1566,1587,1602,1617,1632],{"slug":1477,"name":1477,"fn":1478,"description":1479,"org":1480,"tags":1481,"stars":1492,"repoUrl":1493,"updatedAt":1494},"agentcore-investigation","investigate Bedrock AgentCore runtime sessions","Investigate Bedrock AgentCore runtime sessions via CloudWatch Logs Insights — resolve session\u002Ftrace IDs, query OTEL spans, filter noise, build timelines. Use when debugging AgentCore agent sessions, tracing tool calls, or analyzing latency.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1482,1483,1486,1489],{"name":21,"slug":22,"type":16},{"name":1484,"slug":1485,"type":16},"Debugging","debugging",{"name":1487,"slug":1488,"type":16},"Logs","logs",{"name":1490,"slug":1491,"type":16},"Observability","observability",9427,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fmcp","2026-07-12T08:37:22.601527",{"slug":1496,"name":1497,"fn":1498,"description":1499,"org":1500,"tags":1501,"stars":1492,"repoUrl":1493,"updatedAt":1511},"amazon-aurora-dsql","amazon aurora dsql","build applications with Aurora DSQL","Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, FK replacement code generation, OCC retry patterns, ORM migration (Django\u002FHibernate\u002FRails), DDL operations, query plan explainability, SQL compatibility validation, and bulk data loading. Triggers on phrases like: DSQL, Aurora DSQL, create DSQL table, DSQL schema, migrate to DSQL, distributed SQL database, serverless PostgreSQL-compatible database, DSQL query plan, DSQL EXPLAIN ANALYZE, why is my DSQL query slow, DSQL foreign key, DSQL OCC retry, DSQL multi-region, load into DSQL, load CSV into DSQL, bulk load DSQL, aurora-dsql-loader.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1502,1503,1504,1505,1508],{"name":24,"slug":25,"type":16},{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":1506,"slug":1507,"type":16},"Serverless","serverless",{"name":1509,"slug":1510,"type":16},"SQL","sql","2026-07-12T08:36:45.053393",{"slug":1513,"name":1514,"fn":1498,"description":1499,"org":1515,"tags":1516,"stars":1492,"repoUrl":1493,"updatedAt":1521},"aurora-dsql","aurora dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1517,1518,1519,1520],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":1506,"slug":1507,"type":16},{"name":1509,"slug":1510,"type":16},"2026-07-12T08:36:42.694299",{"slug":1523,"name":1524,"fn":1498,"description":1499,"org":1525,"tags":1526,"stars":1492,"repoUrl":1493,"updatedAt":1534},"aws-dsql","aws dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1527,1528,1529,1532,1533],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":1530,"slug":1531,"type":16},"Migration","migration",{"name":1506,"slug":1507,"type":16},{"name":1509,"slug":1510,"type":16},"2026-07-12T08:36:38.584057",{"slug":1536,"name":1537,"fn":1498,"description":1499,"org":1538,"tags":1539,"stars":1492,"repoUrl":1493,"updatedAt":1545},"distributed-postgres","distributed postgres",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1540,1541,1542,1543,1544],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":1506,"slug":1507,"type":16},{"name":1509,"slug":1510,"type":16},"2026-07-12T08:36:46.530743",{"slug":1547,"name":1548,"fn":1498,"description":1499,"org":1549,"tags":1550,"stars":1492,"repoUrl":1493,"updatedAt":1555},"distributed-sql","distributed sql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1551,1552,1553,1554],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":1506,"slug":1507,"type":16},{"name":1509,"slug":1510,"type":16},"2026-07-12T08:36:48.104182",{"slug":1557,"name":1557,"fn":1498,"description":1499,"org":1558,"tags":1559,"stars":1492,"repoUrl":1493,"updatedAt":1565},"dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1560,1561,1562,1563,1564],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":1530,"slug":1531,"type":16},{"name":1506,"slug":1507,"type":16},{"name":1509,"slug":1510,"type":16},"2026-07-12T08:36:36.374512",{"slug":1567,"name":1567,"fn":1568,"description":1569,"org":1570,"tags":1571,"stars":1584,"repoUrl":1585,"updatedAt":1586},"cost-efficiency-analyzer","analyze cost efficiency and expenses","Analyzes cost structure, cost efficiency, and expense management from P&L data. Use when the user asks about costs, expenses, COGS, operating expenses, cost ratios, cost control, spending efficiency, margin compression from cost side, or wants to understand where money is going. Also use for \"are we spending too much\", \"cost breakdown\", \"expense analysis\", or \"how efficient are our operations\". NOT for revenue or top-line analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1572,1575,1578,1581],{"name":1573,"slug":1574,"type":16},"Accounting","accounting",{"name":1576,"slug":1577,"type":16},"Analytics","analytics",{"name":1579,"slug":1580,"type":16},"Cost Optimization","cost-optimization",{"name":1582,"slug":1583,"type":16},"Finance","finance",3176,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fagentcore-samples","2026-07-12T08:40:03.29555",{"slug":1588,"name":1588,"fn":1589,"description":1590,"org":1591,"tags":1592,"stars":1584,"repoUrl":1585,"updatedAt":1601},"executive-financial-briefing","generate executive financial briefings","Generates a concise executive-level financial briefing or summary suitable for a CEO, CFO, or board presentation. Use when the user asks for a summary, briefing, executive summary, board update, financial overview, financial health check, or \"how is the business doing\". Covers the full P&L picture in one page. Also use for \"give me the highlights\", \"what do I need to know\", or \"quick financial update\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1593,1594,1595,1598],{"name":21,"slug":22,"type":16},{"name":1582,"slug":1583,"type":16},{"name":1596,"slug":1597,"type":16},"Management","management",{"name":1599,"slug":1600,"type":16},"Reporting","reporting","2026-07-12T08:40:02.066471",{"slug":1603,"name":1603,"fn":1604,"description":1605,"org":1606,"tags":1607,"stars":1584,"repoUrl":1585,"updatedAt":1616},"multi-quarter-trend-analysis","analyze multi-quarter financial trends","Analyzes financial trends across multiple quarters by comparing P&L metrics over time. Use when the user wants to see trends, patterns, trajectories, or directional movement across 3 or more quarters. Also use for \"how are we trending\", \"show me the trend\", \"track performance over time\", \"quarter over quarter comparison across all quarters\", or any multi-period longitudinal analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1608,1609,1610,1613],{"name":1576,"slug":1577,"type":16},{"name":1582,"slug":1583,"type":16},{"name":1611,"slug":1612,"type":16},"Financial Statements","financial-statements",{"name":1614,"slug":1615,"type":16},"Variance Analysis","variance-analysis","2026-07-12T08:40:00.79141",{"slug":1618,"name":1618,"fn":1619,"description":1620,"org":1621,"tags":1622,"stars":1584,"repoUrl":1585,"updatedAt":1631},"pdf","process and manipulate PDF documents","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1623,1626,1629],{"name":1624,"slug":1625,"type":16},"Automation","automation",{"name":1627,"slug":1628,"type":16},"Documents","documents",{"name":1630,"slug":1618,"type":16},"PDF","2026-07-12T08:41:44.135656",{"slug":1633,"name":1633,"fn":1634,"description":1635,"org":1636,"tags":1637,"stars":1584,"repoUrl":1585,"updatedAt":1646},"quarterly-kpi-calculator","calculate quarterly financial KPIs","Calculates quarterly financial KPIs from P&L data. P&L figures can be provided directly by the user or fetched from the financial data MCP server. Use when the user wants KPI calculations such as Gross Margin %, EBITDA Margin %, Operating Expense Ratio, or Revenue Growth % QoQ. Also use for quarterly performance review, P&L analysis, or interpreting financial ratios against benchmarks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1638,1639,1642,1643],{"name":1573,"slug":1574,"type":16},{"name":1640,"slug":1641,"type":16},"Data Analysis","data-analysis",{"name":1582,"slug":1583,"type":16},{"name":1644,"slug":1645,"type":16},"KPI","kpi","2026-07-12T08:39:59.54971",150,{"items":1649,"total":1742},[1650,1664,1679,1691,1703,1714,1727],{"slug":1651,"name":1651,"fn":1652,"description":1653,"org":1654,"tags":1655,"stars":26,"repoUrl":27,"updatedAt":1663},"agentcore","design Amazon Bedrock AgentCore architectures","Deep-dive into Amazon Bedrock AgentCore platform design, service selection, deployment, and production operations. This skill should be used when the user asks to \"design an AgentCore architecture\", \"deploy agents on AgentCore\", \"configure AgentCore Runtime\", \"set up AgentCore Memory\", \"use AgentCore Gateway\", \"configure AgentCore Identity\", \"set up AgentCore Policy\", \"plan agent observability\", \"evaluate agent quality\", \"move agent PoC to production\", or mentions AgentCore, AgentCore Runtime, AgentCore Memory, AgentCore Gateway, AgentCore Identity, AgentCore Policy, AgentCore Evaluations, AgentCore Code Interpreter, AgentCore Browser, A2A protocol, or multi-agent orchestration on AWS.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1656,1659,1662],{"name":1657,"slug":1658,"type":16},"Agents","agents",{"name":1660,"slug":1661,"type":16},"Architecture","architecture",{"name":21,"slug":22,"type":16},"2026-07-12T08:40:11.108951",{"slug":1665,"name":1665,"fn":1666,"description":1667,"org":1668,"tags":1669,"stars":26,"repoUrl":27,"updatedAt":1678},"aidlc-lite","develop AI applications on AWS","Lightweight AI development lifecycle for building on AWS. A simplified take on the AI-DLC philosophy — think together, then build fast. Acts as a design partner that understands intent, proposes alternatives with trade-offs, and ships working code without the ceremony of full requirements\u002Fdesign\u002Fspec documents. Use when a founder says \"build X on AWS\", \"add Y to my stack\", \"scaffold an API\", or \"write the CDK for Z\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1670,1671,1674,1675],{"name":1657,"slug":1658,"type":16},{"name":1672,"slug":1673,"type":16},"AI Infrastructure","ai-infrastructure",{"name":21,"slug":22,"type":16},{"name":1676,"slug":1677,"type":16},"Engineering","engineering","2026-07-12T08:40:40.204103",{"slug":1680,"name":1680,"fn":1681,"description":1682,"org":1683,"tags":1684,"stars":26,"repoUrl":27,"updatedAt":1690},"architect-for-startups","advise on AWS architecture for startups","AWS architecture advisor tailored specifically for startups. Alters AWS architecture recommendations based on startup stage (pre-revenue through Series B+), team size, runway, and credits. ALWAYS use when asked about building on AWS, choosing services, planning infrastructure, managing costs with credits, or preparing architecture for fundraising.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1685,1686,1687],{"name":1660,"slug":1661,"type":16},{"name":21,"slug":22,"type":16},{"name":1688,"slug":1689,"type":16},"Strategy","strategy","2026-07-12T08:41:33.557354",{"slug":1692,"name":1692,"fn":1693,"description":1694,"org":1695,"tags":1696,"stars":26,"repoUrl":27,"updatedAt":1702},"aws-architect","design and review AWS architectures","Design and review AWS architectures following Well-Architected Framework principles. Use when planning new infrastructure, reviewing existing architectures, evaluating trade-offs between AWS services, or when asked about AWS best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1697,1698,1699],{"name":1660,"slug":1661,"type":16},{"name":21,"slug":22,"type":16},{"name":1700,"slug":1701,"type":16},"Infrastructure","infrastructure","2026-07-12T08:40:57.630086",{"slug":1704,"name":1704,"fn":1705,"description":1706,"org":1707,"tags":1708,"stars":26,"repoUrl":27,"updatedAt":1713},"aws-compare","compare AWS architecture options","Compare 2-3 AWS architecture options side-by-side across cost, complexity, performance, security, and operational burden. Use when evaluating trade-offs between approaches or when the user is deciding between options.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1709,1710,1711,1712],{"name":1660,"slug":1661,"type":16},{"name":21,"slug":22,"type":16},{"name":1579,"slug":1580,"type":16},{"name":702,"slug":699,"type":16},"2026-07-12T08:40:23.960287",{"slug":1715,"name":1715,"fn":1716,"description":1717,"org":1718,"tags":1719,"stars":26,"repoUrl":27,"updatedAt":1726},"aws-debug","debug AWS infrastructure and deployment failures","Debug AWS infrastructure issues, deployment failures, and runtime errors. Use when troubleshooting CloudFormation stack failures, Lambda errors, ECS task failures, permission issues, networking problems, or any AWS service misbehavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1720,1721,1722,1725],{"name":21,"slug":22,"type":16},{"name":1484,"slug":1485,"type":16},{"name":1723,"slug":1724,"type":16},"Deployment","deployment",{"name":1490,"slug":1491,"type":16},"2026-07-12T08:40:16.767171",{"slug":1728,"name":1728,"fn":1729,"description":1730,"org":1731,"tags":1732,"stars":26,"repoUrl":27,"updatedAt":1741},"aws-diagram","generate AWS architecture diagrams","Generate AWS architecture diagrams in Mermaid or ASCII from a description, existing IaC, or conversation context. Use when the user wants to visualize an architecture.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1733,1734,1735,1738],{"name":1660,"slug":1661,"type":16},{"name":21,"slug":22,"type":16},{"name":1736,"slug":1737,"type":16},"Diagrams","diagrams",{"name":1739,"slug":1740,"type":16},"Visualization","visualization","2026-07-12T08:40:43.26341",42]