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)