К основному содержанию
скилл CX Codex

aws-rds-spring-boot-integration — скилл для Claude Code: RDS и Spring

Скилл подсказывает, как подключить Aurora, MySQL или PostgreSQL к Spring Boot: пул HikariCP, SSL, IAM-аутентификация, секреты.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add giuseppe-trisciuoglio/developer-kit --skill aws-rds-spring-boot-integration -a claude-code
Открыть на GitHub

Что делает aws-rds-spring-boot-integration

Скилл описывает шаги настройки источника данных для AWS RDS в приложении на Spring Boot. Внутри — порядок действий: добавить зависимости Spring Data JPA, драйвер базы и Flyway, прописать параметры подключения в application.yml, настроить пул HikariCP, включить SSL, развести конфигурации по профилям dev и prod, создать миграции Flyway и проверить соединение health-check-эндпоинтом.

Отдельно разобраны три сценария: Aurora MySQL, Aurora PostgreSQL с sslmode=require и разделение чтения и записи через RoutingDataSource с writer- и reader-источниками. Есть готовые фрагменты для Maven и Gradle, примеры переменных окружения и SQL-миграции. Скилл работает с файлами и командами через Read, Write, Edit, Bash, Glob и Grep.

Если проверка соединения падает, скилл советует смотреть на правила security group, учётные данные, доступность RDS из вашей сети и сертификат SSL. Миграции он предлагает запускать только после успешной проверки — это повод не гнать flyway migrate сразу после правки конфига. Размер пула HikariCP придётся согласовать с лимитом подключений на инстансе RDS, иначе приложение упрётся в отказы.

Какие задачи решает

  • настроить пул HikariCP под нагрузку RDS
  • развести чтение и запись между writer и Aurora-репликой
  • включить IAM-аутентификацию вместо пароля в конфиге
  • поднять SSL-соединение с sslmode=require
  • завести миграции Flyway и проверить соединение health-check-эндпоинтом

Примеры запросов агенту

  • Помоги настроить подключение Spring Boot к Aurora PostgreSQL с SSL и HikariCP
  • Сделай конфигурацию с разделением чтения и записи через RoutingDataSource
  • Разберись, почему health check не видит базу RDS

Как установить aws-rds-spring-boot-integration

1Через Skills CLI (Vercel)

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

2Вручную: положить файлы

~/.claude/skills/aws-rds-spring-boot-integration/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/aws-rds-spring-boot-integration/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора93

aws-sdk-java-v2-messaging Набор шаблонов для работы с очередями AWS SQS и топиками SNS через AWS SDK for Java 2.x. Помогает настроить клиентов, long polling, DLQ и публикацию событий в Java или Spring Boot. CX Codex +1 3 700установок aws-sdk-java-v2-bedrock Скилл подсказывает агенту, как вызывать модели Amazon Bedrock через AWS SDK for Java 2.x: текст, картинки, эмбеддинги и стриминг. CX Codex +1 3 700установок nextjs-deployment Готовит конфигурацию для деплоя Next.js в продакшен. Настраивает многоэтапный Dockerfile, CI/CD через GitHub Actions, мониторинг OpenTelemetry и проверку работоспособности сервиса. CX Codex +1 3 700установок aws-sdk-java-v2-lambda Скилл подсказывает агенту, как вызывать и обновлять функции AWS Lambda через AWS SDK for Java 2.x. Пригодится, если пишешь на Java и работаешь с Lambda. CX Codex +1 3 700установок aws-sdk-java-v2-dynamodb Скилл даёт шаблоны работы с Amazon DynamoDB через AWS SDK for Java 2.x и Enhanced Client. Он помогает настроить типизированный CRUD, запросы по ключам и транзакции в Spring Boot. CX Codex +1 3 700установок langchain4j-testing-strategies Помогает тестировать Java-приложения на LangChain4j: от моков ChatModel до RAG-пайплайнов и интеграции с Testcontainers. CX Codex +1 3 700установок aws-sdk-java-v2-s3 Даёт агенту готовые примеры работы с Amazon S3 через AWS SDK for Java 2.x: бакеты, загрузка объектов, multipart, presigned URL. CX Codex +1 3 700установок langchain4j-mcp-server-patterns Скилл помогает проектировать MCP-серверы на Java и подключать их к LangChain4j. Пригодится при вызове инструментов в Spring Boot и фильтрации прав доступа. CX Codex +1 3 700установок

Похожие

aws-rds devops-skills Скилл для развёртывания и обслуживания баз Amazon RDS: бэкапы, реплики, параметры и мониторинг через AWS CLI. CX Codex +1 331установок create-spring-boot-java-project официальный github Создаёт каркас Spring Boot на Java с Maven, базами данных и Docker Compose. Подходит для старта API, которому нужны PostgreSQL, Redis и MongoDB. 9 516установок create-spring-boot-kotlin-project официальный github Скилл создаёт каркас Spring Boot на Kotlin с Gradle и настраивает PostgreSQL, Redis и MongoDB. Подойдёт, если нужен стартовый проект с реактивными зависимостями и тестами. 8 700установок creating-amazon-aurora-db-cluster-with-instances aws Создаёт Aurora-кластер с инстансами, настраивает пароль через Secrets Manager и следит за статусом с повторами. Для MySQL и PostgreSQL. CX Codex +1 6 000установок amazon-aurora-postgresql aws Скилл для работы с Aurora PostgreSQL: создаёт кластеры, считает ACU и сравнивает варианты экономии. Полезен, когда база живёт в AWS и нужны действия, а не советы. CX Codex +1 5 600установок 322-frameworks-spring-boot-testing-integration-tests Juan Antonio Breña Moral Скилл для написания и разбора интеграционных тестов Spring Boot 4.0.x: Testcontainers, срезы персистентности, HTTP-проверки. CX Codex +1 357установок

Рядом в теме «Облака: AWS, Azure, GCP»

Всё по теме «Облака: AWS, Azure, GCP» →

Вопросы о aws-rds-spring-boot-integration

Как установить aws-rds-spring-boot-integration в Claude?

Выполните npx skills add giuseppe-trisciuoglio/developer-kit --skill aws-rds-spring-boot-integration -a claude-code. Файл скилла появится по пути ~/.claude/skills/aws-rds-spring-boot-integration/SKILL.md.

Что делает aws-rds-spring-boot-integration?

Описывает шаги подключения AWS RDS к Spring Boot: зависимости, параметры источника данных, пул HikariCP, SSL, профили окружений, миграции Flyway и проверку соединения.

Какие базы поддерживает скилл?

Aurora, MySQL и PostgreSQL. Для PostgreSQL в примерах меняются драйвер org.postgresql.Driver, схема URL jdbc:postgresql:// и диалект org.hibernate.dialect.PostgreSQLDialect.

Исходный текст

SKILL.md · MIT
---
name: aws-rds-spring-boot-integration
description: 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 connections in Spring Boot, configuring connection pooling, or managing database credentials securely.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
---

# 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):**
```xml
<dependencies>
    <!-- Spring Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- Aurora MySQL Driver -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.2.0</version>
        <scope>runtime</scope>
    </dependency>

    <!-- Aurora PostgreSQL Driver (alternative) -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- Flyway for database migrations -->
    <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
    </dependency>

    <!-- Validation -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
</dependencies>
```

**Gradle (build.gradle):**
```gradle
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-validation'

    // Aurora MySQL
    runtimeOnly 'com.mysql:mysql-connector-j:8.2.0'

    // Aurora PostgreSQL (alternative)
    runtimeOnly 'org.postgresql:postgresql'

    // Flyway
    implementation 'org.flywaydb:flyway-core'
}
```

### 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

```bash
# Production environment variables
export DB_PASSWORD=YourStrongPassword123!
export SPRING_PROFILES_ACTIVE=prod

# For development
export SPRING_PROFILES_ACTIVE=dev
```

## Database Migration Setup

Create migration files for Flyway:

```
src/main/resources/db/migration/
├── V1__create_users_table.sql
├── V2__add_phone_column.sql
└── V3__create_orders_table.sql
```

**V1__create_users_table.sql:**
```sql
CREATE TABLE users (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

## Examples

### Example 1: Aurora MySQL Configuration

```yaml
spring:
  datasource:
    url: jdbc:mysql://myapp-aurora-cluster.cluster-abc123xyz.us-east-1.rds.amazonaws.com:3306/devops
    username: admin
    password: ${DB_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5
      connection-timeout: 20000
  jpa:
    hibernate:
      ddl-auto: validate
    open-in-view: false
```

### Example 2: Aurora PostgreSQL with SSL

```properties
spring.datasource.url=jdbc:postgresql://myapp-aurora-pg-cluster.cluster-abc123xyz.us-east-1.rds.amazonaws.com:5432/devops?ssl=true&sslmode=require
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.hikari.maximum-pool-size=30
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
```

### Example 3: Read/Write Split Configuration

```java
@Configuration
public class DataSourceConfiguration {

    @Bean
    @Primary
    public DataSource dataSource(
            @Qualifier("writerDataSource") DataSource writerDataSource,
            @Qualifier("readerDataSource") DataSource readerDataSource) {
        Map<Object, Object> targetDataSources = new HashMap<>();
        targetDataSources.put("writer", writerDataSource);
        targetDataSources.put("reader", readerDataSource);

        RoutingDataSource routingDataSource = new RoutingDataSource();
        routingDataSource.setTargetDataSources(targetDataSources);
        routingDataSource.setDefaultTargetDataSource(writerDataSource);

        return routingDataSource;
    }
}
```

## 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:

```java
@RestController
@RequestMapping("/api/health")
public class DatabaseHealthController {
    @Autowired
    private DataSource dataSource;

    @GetMapping("/db-connection")
    public ResponseEntity<Map<String, Object>> testDatabaseConnection() {
        Map<String, Object> response = new HashMap<>();
        try (Connection connection = dataSource.getConnection()) {
            response.put("status", "success");
            response.put("database", connection.getCatalog());
            response.put("connected", true);
            return ResponseEntity.ok(response);
        } catch (Exception e) {
            response.put("status", "failed");
            response.put("error", e.getMessage());
            response.put("connected", false);
            return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(response);
        }
    }
}
```

```bash
curl http://localhost:8080/api/health/db-connection
```

## 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)

© giuseppe-trisciuoglio · MIT · giuseppe-trisciuoglio/developer-kit

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой