aws-cdk-lib.aws_rds.ClusterInstanceProps

interface ClusterInstanceProps

LanguageType name
.NETAmazon.CDK.AWS.RDS.ClusterInstanceProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsrds#ClusterInstanceProps
Javasoftware.amazon.awscdk.services.rds.ClusterInstanceProps
Pythonaws_cdk.aws_rds.ClusterInstanceProps
TypeScript (source)aws-cdk-lib » aws_rds » ClusterInstanceProps

Common options for creating cluster instances (both serverless and provisioned).

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_kms as kms } from 'aws-cdk-lib';
import { aws_rds as rds } from 'aws-cdk-lib';

declare const clusterInstanceType: rds.ClusterInstanceType;
declare const key: kms.Key;
declare const parameterGroup: rds.ParameterGroup;
const clusterInstanceProps: rds.ClusterInstanceProps = {
  instanceType: clusterInstanceType,

  // the properties below are optional
  allowMajorVersionUpgrade: false,
  autoMinorVersionUpgrade: false,
  enablePerformanceInsights: false,
  instanceIdentifier: 'instanceIdentifier',
  isFromLegacyInstanceProps: false,
  parameterGroup: parameterGroup,
  parameters: {
    parametersKey: 'parameters',
  },
  performanceInsightEncryptionKey: key,
  performanceInsightRetention: rds.PerformanceInsightRetention.DEFAULT,
  promotionTier: 123,
  publiclyAccessible: false,
};

Properties

NameTypeDescription
instanceTypeClusterInstanceTypeThe type of cluster instance to create.
allowMajorVersionUpgrade?booleanWhether to allow upgrade of major version for the DB instance.
autoMinorVersionUpgrade?booleanWhether to enable automatic upgrade of minor version for the DB instance.
enablePerformanceInsights?booleanWhether to enable Performance Insights for the DB instance.
instanceIdentifier?stringThe identifier for the database instance.
isFromLegacyInstanceProps?booleanOnly used for migrating existing clusters from using instanceProps to writer and readers.
parameterGroup?IParameterGroupThe DB parameter group to associate with the instance.
parameters?{ [string]: string }The parameters in the DBParameterGroup to create automatically.
performanceInsightEncryptionKey?IKeyThe AWS KMS key for encryption of Performance Insights data.
performanceInsightRetention?PerformanceInsightRetentionThe amount of time, in days, to retain Performance Insights data.
promotionTier?numberThe promotion tier of the cluster instance.
publiclyAccessible?booleanIndicates whether the DB instance is an internet-facing instance.

instanceType

Type: ClusterInstanceType

The type of cluster instance to create.

Can be either provisioned or serverless v2


allowMajorVersionUpgrade?

Type: boolean (optional, default: false)

Whether to allow upgrade of major version for the DB instance.


autoMinorVersionUpgrade?

Type: boolean (optional, default: true)

Whether to enable automatic upgrade of minor version for the DB instance.


enablePerformanceInsights?

Type: boolean (optional, default: false, unless performanceInsightRentention or performanceInsightEncryptionKey is set.)

Whether to enable Performance Insights for the DB instance.


instanceIdentifier?

Type: string (optional, default: CloudFormation generated identifier)

The identifier for the database instance.


isFromLegacyInstanceProps?

Type: boolean (optional, default: false)

Only used for migrating existing clusters from using instanceProps to writer and readers.


parameterGroup?

Type: IParameterGroup (optional, default: the cluster parameter group is used)

The DB parameter group to associate with the instance.

This is only needed if you need to configure different parameter groups for each individual instance, otherwise you should not provide this and just use the cluster parameter group


parameters?

Type: { [string]: string } (optional, default: None)

The parameters in the DBParameterGroup to create automatically.

You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup.


performanceInsightEncryptionKey?

Type: IKey (optional, default: default master key)

The AWS KMS key for encryption of Performance Insights data.


performanceInsightRetention?

Type: PerformanceInsightRetention (optional, default: 7)

The amount of time, in days, to retain Performance Insights data.


promotionTier?

Type: number (optional, default: 2)

The promotion tier of the cluster instance.

This matters more for serverlessV2 instances. If a serverless instance is in tier 0-1 then it will scale with the writer.

For provisioned instances this just determines the failover priority. If multiple instances have the same priority then one will be picked at random


publiclyAccessible?

Type: boolean (optional, default: true if the instance is placed in a public subnet)

Indicates whether the DB instance is an internet-facing instance.