Skip to content

feat(database): enable Data API and connection logging#123

Merged
konokenj merged 2 commits intomainfrom
feature/122
Mar 20, 2026
Merged

feat(database): enable Data API and connection logging#123
konokenj merged 2 commits intomainfrom
feature/122

Conversation

@konokenj
Copy link
Contributor

Issue

close #122

Problem

The Aurora Serverless v2 cluster lacks operational tooling for debugging and diagnostics:

  • No Data API: Operators must use SSH tunneling via Bastion Host to run ad-hoc SQL queries, which is cumbersome during incident response.
  • No connection logging: Diagnosing unexpected auto-pause resumes or connection pool exhaustion requires guesswork, as PostgreSQL connection events are not recorded.

Solution

Add three CDK-native properties to the existing DatabaseCluster construct:

  1. enableDataApi: true — Enables the RDS Data API, allowing direct SQL execution from AWS CLI/Console without SSH tunneling.
  2. log_connections / log_disconnections — Standard PostgreSQL parameters that record connection open/close events in the PostgreSQL log.
  3. cloudwatchLogsExports: ["postgresql"] with 1-week retention — Exports PostgreSQL logs to CloudWatch Logs for centralized analysis (Aurora PostgreSQL CloudWatch Publishing).

Changes

  • cdk/lib/constructs/database.ts:
    • Added import * as logs from "aws-cdk-lib/aws-logs"
    • Added enableDataApi: true to DatabaseCluster
    • Added cloudwatchLogsExports: ["postgresql"] and cloudwatchLogsRetention: logs.RetentionDays.ONE_WEEK
    • Added log_connections: "1" and log_disconnections: "1" to the existing ParameterGroup

Verification

  • npm run build passes in cdk/
  • After deployment:
    • aws rds-data execute-statement can run SQL against the cluster
    • CloudWatch log group /aws/rds/cluster/<cluster-name>/postgresql is created
    • Connection/disconnection events appear in the log stream

Why: The Aurora Serverless v2 cluster lacks operational tooling for
debugging and diagnostics. Without Data API, operators must use SSH
tunneling via Bastion Host to run ad-hoc queries. Without connection
logs, diagnosing unexpected auto-pause resumes or connection pool
exhaustion requires guesswork.

What:
- Enable RDS Data API for direct SQL execution from AWS CLI/Console
- Add log_connections and log_disconnections parameters
- Export PostgreSQL logs to CloudWatch Logs with 1-week retention
@konokenj konokenj merged commit e32dc7a into main Mar 20, 2026
5 checks passed
@konokenj konokenj deleted the feature/122 branch March 20, 2026 04:10
konokenj pushed a commit that referenced this pull request Mar 22, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.1.0](v2.0.0...v2.1.0)
(2026-03-22)


### Features

* add /update-snapshot comment trigger to update_snapshot workflow
([764a4fa](764a4fa))
* add CloudWatch LogGroup with retention policy to Lambda functions
([#117](#117))
([53877bb](53877bb)),
closes
[#103](#103)
* **database:** enable Data API and connection logging
([#123](#123))
([e32dc7a](e32dc7a))
* increase webapp Lambda memory from 512MB to 1024MB
([#116](#116))
([03c5a00](03c5a00)),
closes
[#101](#101)


### Bug Fixes

* add lambda:InvokeFunction permission for CloudFront OAC
([#83](#83))
([3cc66bf](3cc66bf))
* **auth:** improve auth error handling and fix Link CORS issue
([#120](#120))
([84be605](84be605))
* disable Cognito self sign-up by default
([#115](#115))
([9396e6f](9396e6f)),
closes
[#106](#106)
* prevent CloudFront cache poisoning for Next.js RSC responses
([#119](#119))
([70cddda](70cddda))
* **prisma:** add retry for Aurora Serverless v2 connection errors
([#121](#121))
([7c05dfb](7c05dfb))
* support Amazon Linux 2023 for NAT instance
([#81](#81))
([0c41aa8](0c41aa8))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(database): Aurora Serverless v2 の Data API 有効化と接続ログの追加

1 participant