Skip to content

RDS controller: DBInstance creation fails inside DBCluster due to “InvalidParameterCombination: You can’t modify the Database Insights mode” #2683

@gecube

Description

@gecube

Summary

When trying to create a DBInstance inside an existing Aurora MySQL DBCluster using the ACK RDS controller, the instance creation fails with the following terminal condition:

api error InvalidParameterCombination: You can't modify the Database Insights mode for DB instances within a DB cluster. To modify the Database Insights mode, you must modify the DB cluster.

The DBCluster itself is created successfully via a Kubernetes manifest.


Steps to Reproduce

  1. Create a DBCluster manifest:
apiVersion: rds.services.k8s.aws/v1alpha1
kind: DBCluster
metadata:
  name: postdeal-uat-2025-11-11
spec:
  dbClusterIdentifier: postdeal-uat-2025-11-11
  databaseName: postdeal
  engine: aurora-mysql
  engineMode: provisioned
  engineVersion: "8.0.mysql_aurora.3.08.2"
  masterUsername: "root"
  masterUserPassword:
    namespace: infra-uat
    name: password
    key: password
  dbSubnetGroupName: "rds-subnet"
  backupRetentionPeriod: 30
  copyTagsToSnapshot: true
  enableCloudwatchLogsExports:
    - audit
    - error
    - general
    - slowquery
  deletionProtection: true
  1. Then create a DBInstance manifest referring to the cluster:
apiVersion: rds.services.k8s.aws/v1alpha1
kind: DBInstance
metadata:
  name: postdeal-uat-2025-11-11
spec:
  databaseInsightsMode: standard
  dbInstanceClass: db.r5.large
  dbClusterIdentifier: postdeal-uat-2025-11-11
  dbInstanceIdentifier: postdeal-uat-2025-11-11
  engine: aurora-mysql
  engineVersion: "8.0.mysql_aurora.3.08.2"
  dbSubnetGroupName: "rds-subnet"
  1. Observe that the DB instance fails to create. Running:
kubectl describe DBInstance postdeal-uat-2025-11-11

shows:

status:
  conditions:
  - message: 'api error InvalidParameterCombination: You can''t modify the Database
      Insights mode for DB instances within a DB cluster. To modify the Database Insights
      mode, you must modify the DB cluster.'
    status: "True"
    type: ACK.Terminal

Expected Behavior

The DBInstance should be successfully created inside the existing Aurora MySQL cluster.


Actual Behavior

The resource enters a terminal error state and is never created.
The controller seems to apply databaseInsightsMode to a clustered instance, which RDS does not allow.


Possible Cause / Suggestion

The controller likely includes the DatabaseInsightsMode parameter in the CreateDBInstance API request even when dbClusterIdentifier is specified.
This field should probably be omitted when creating instances that belong to a cluster.


Environment

  • Region: eu-west-2
  • Engine: aurora-mysql
  • Engine version: 8.0.mysql_aurora.3.08.2

Workaround

Remove the line

databaseInsightsMode: standard

from the DBInstance spec.
After removing it, the instance is created successfully.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions