aws-rds-spring-boot-integration

Provides patterns to configure AWS RDS (Aurora, MySQL, PostgreSQL) with Spring Boot applications. Configures HikariCP connection pools, implements read/write splitting, sets up IAM database authentication, enables SSL connections, and integrates with AWS Secrets Manager. Use when setting up RDS conn

By giuseppe-trisciuoglio · 2,874 installs

npx skills add giuseppe-trisciuoglio/developer-kit --skill aws-rds-spring-boot-integration

Source repository · Upstream listing

AWS RDS Spring Boot Integration Overview Configure AWS RDS databases (Aurora, MySQL, PostgreSQL) with Spring Boot applications. Provides patterns for datasource configuration, HikariCP connection pooling, SSL connections, environment specific configurations, and AWS Secrets Manager integration. When to Use Use when configuring HikariCP connection pools for RDS workloads, implementing read/write split with Aurora replicas, setting up IAM database authentication, enabling SSL/TLS connections, managing database migrations with Flyway, or troubleshooting RDS connectivity issues. Instructions Follow these steps to configure AWS RDS with Spring Boot: 1. Add Dependencies — Include Spring Data JPA, database driver (MySQL/PostgreSQL), and Flyway 2. Configure Datasource — Set connection properties in application.yml 3. Configure HikariCP — Optimize pool settings for your RDS workload 4. Set Up SSL — Enable encrypted connections to RDS 5. Configure Profiles — Set environment specific configurations (dev/prod) 6. Add Migrations — Create Flyway scripts for schema management 7. Validate Connectivity — Run health check to verify database connection If validation fails : Check security group rules, verify credentials, ensure RDS is accessible from your network, and confirm SSL certificate configuration. 8. Run Migrations — Apply Flyway migrations only after connectivity validation passes Quick Start Step 1: Add Dependencies Maven (pom.xml): Gradle (build.gradle): Step 2: Basic Datasource Configuration Use the configuration in the Examples section below. For PostgreSQL, change: Driver: org.postgresql.Driver URL: jdbc:postgresql://... with ?ssl=true&sslmode=require Dialect: org.hibernate.dialect.PostgreSQLDialect Step 3: Set Up Environment Variables Database Migration Setup Create migration files for Flyway: V1 create users table.sql: Examples Example 1: Aurora MySQL Configuration Example 2: Aurora PostgreSQL with SSL Example 3: Read/Write Split Configuration Constraints and Warnings HikariCP pool size must respect RDS instance connection limits Security groups must allow traffic from your application's IP range Use AWS Secrets Manager instead of hardcoding credentials Enable storage autoscaling to prevent storage exhaustion Best Practices HikariCP : Enable leak detection and configure timeouts for failover scenarios Security : Enable SSL/TLS; use IAM Database Authentication when possible Performance : Disable open in view; use appropriate indexing and batch operations Monitoring : Enable Spring Boot Actuator with database health checks Testing Verify connectivity with this health check endpoint: Support For detailed troubleshooting and advanced configuration, refer to: [AWS RDS Aurora Advanced Configuration](references/advanced configuration.md) [AWS RDS Aurora Troubleshooting Guide](references/troubleshooting.md) [AWS RDS Aurora documentation](https://docs.aws.amazon.com/sdk for java/latest/developer guide/java aurora code examples.html) [Spring Boot Data RDS Aurora documentation](https://www.baeldung.com/aws aurora rds java)