
Aws Sdk Java V2 Rds
Programmatically create, secure, back up, and monitor Amazon RDS from Java services using AWS SDK v2 patterns.
Overview
aws-sdk-java-v2-rds is an agent skill most often used in Build (also Operate) that provides AWS SDK for Java 2.x patterns for Amazon RDS instances, snapshots, parameter groups, backups, and monitoring.
Install
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill aws-sdk-java-v2-rdsWhat is this skill?
- Eight-step workflow: dependencies, RdsClient, createDBInstance, security, backups, status checks, snapshots, failover ha
- Covers Multi-AZ deployments, automated backup windows, retention, and manual snapshots before major changes
- Guidance for VPC security groups, encryption, and connecting Lambda functions to RDS
- Operational patterns via describeDBInstances for instance state and performance monitoring
- 8 numbered instruction steps from dependencies through failover handling
Adoption & trust: 1.1k installs on skills.sh; 271 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need to manage RDS from Java 2.x code but lack a single ordered playbook for clients, security, backups, and lifecycle operations.
Who is it for?
Solo or indie builders shipping Java or Kotlin services on AWS who own RDS provisioning and maintenance in application code.
Skip if: Teams that only manage databases via Terraform or the console with no Java SDK work, or projects on non-AWS relational stores.
When should I use this skill?
Creating, modifying, or deleting RDS database instances; managing DB snapshots, parameter groups, and configurations; setting up Multi-AZ and automated backups; connecting Lambda to RDS; monitoring instance status and pe
What do I get? / Deliverables
Your agent follows concrete SDK steps to provision, secure, back up, snapshot, and observe RDS instances from Java without guessing API shapes.
- RdsClient setup pattern
- DB instance create/modify configuration
- Backup, snapshot, and monitoring procedure notes in code
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
RDS wiring is canonical on the Build shelf because instance creation, drivers, Lambda connectivity, and VPC security are integration work done while shipping the backend. Integrations subphase covers third-party cloud services and SDK client setup—the core deliverable is RdsClient usage and DB instance configuration, not day-two ops alone.
Where it fits
Stand up a new Postgres RDS instance and JDBC driver wiring for a Spring Boot API.
Configure VPC security groups and encryption before exposing the database to app tiers.
Poll describeDBInstances and take a manual snapshot before a schema migration.
How it compares
Procedural Java SDK integration skill—not a Terraform/IaC module or a generic SQL query assistant.
Common Questions / FAQ
Who is aws-sdk-java-v2-rds for?
Indie and solo developers building JVM backends on AWS who want agent-guided RDS lifecycle code using SDK v2 rather than one-off examples.
When should I use aws-sdk-java-v2-rds?
During Build when wiring RDS into your API or Lambda, and during Operate when you need describe, snapshot, or failover-related SDK operations in Java.
Is aws-sdk-java-v2-rds safe to install?
Review the Security Audits panel on this Prism page and restrict agent permissions; the skill allows Bash and file edits that could touch credentials or deployment scripts.
SKILL.md
READMESKILL.md - Aws Sdk Java V2 Rds
# AWS SDK for Java v2 - RDS Management ## Overview This skill provides comprehensive guidance for working with Amazon RDS (Relational Database Service) using the AWS SDK for Java 2.x, covering database instance management, snapshots, parameter groups, and RDS operations. ## When to Use - Creating, modifying, or deleting RDS database instances - Managing DB snapshots, parameter groups, and configurations - Setting up Multi-AZ deployments and automated backups - Connecting Lambda functions to RDS databases - Monitoring instance status and performance ## Instructions Follow these steps to work with Amazon RDS: 1. **Add Dependencies** - Include AWS RDS SDK dependency and database drivers 2. **Create RDS Client** - Instantiate RdsClient with proper region and credentials 3. **Create DB Instance** - Use createDBInstance() with appropriate configuration 4. **Configure Security** - Set up VPC security groups and encryption 5. **Set Up Backups** - Configure automated backup windows and retention 6. **Monitor Status** - Use describeDBInstances() to check instance state 7. **Create Snapshots** - Take manual snapshots before major changes 8. **Handle Failover** - Configure Multi-AZ for high availability ## Getting Started ### RDS Client Setup The `RdsClient` is the main entry point for interacting with Amazon RDS. **Basic Client Creation:** ```java import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.rds.RdsClient; RdsClient rdsClient = RdsClient.builder() .region(Region.US_EAST_1) .build(); // Use client describeInstances(rdsClient); // Always close the client rdsClient.close(); ``` **Client with Custom Configuration:** ```java import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.http.apache.ApacheHttpClient; RdsClient rdsClient = RdsClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create("myprofile")) .httpClient(ApacheHttpClient.builder() .connectionTimeout(Duration.ofSeconds(30)) .socketTimeout(Duration.ofSeconds(60)) .build()) .build(); ``` ### Describing DB Instances ```java DescribeDbInstancesResponse response = rdsClient.describeDBInstances(); for (DBInstance instance : response.dbInstances()) { System.out.println(instance.dbInstanceArn() + " - " + instance.dbInstanceStatus()); } ``` ## Key Operations ### Creating DB Instances ```java CreateDbInstanceRequest request = CreateDbInstanceRequest.builder() .dbInstanceIdentifier(dbInstanceIdentifier) .dbName(dbName) .engine("postgres") .engineVersion("15.4") .dbInstanceClass("db.t3.micro") .allocatedStorage(20) .masterUsername(masterUsername) .masterUserPassword(masterPassword) .publiclyAccessible(false) .build(); CreateDbInstanceResponse response = rdsClient.createDBInstance(request); // VALIDATION CHECKPOINT: Wait for instance to be available rdsClient.waiter().waitUntilDBInstanceAvailable( DescribeDbInstancesRequest.builder().dbInstanceIdentifier(dbInstanceIdentifier).build() ); System.out.println("Instance " + dbInstanceIdentifier + " is available!"); ``` ### Managing DB Parameter Groups ```java CreateDbParameterGroupRequest request = CreateDbParameterGroupRequest.builder() .dbParameterGroupName(groupName) .dbParameterGroupFamily("postgres15") .description(description) .build(); rdsClient.createDBParameterGroup(request); ``` ### Managing DB Snapshots ```java CreateDbSnapshotRequest request = CreateDbSnapshotRequest.builder() .dbInstanceIdentifier(dbInstanceIdentifier) .dbSnapshotIdentifier(sna