ProvisionedClusterInstanceProps Struct
Options for creating a provisioned instance.
Example
declare const vpc: ec2.Vpc;
const cluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_3_01_0 }),
writer: rds.ClusterInstance.provisioned('Instance', {
instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
}),
readers: [rds.ClusterInstance.provisioned('reader')],
instanceUpdateBehaviour: rds.InstanceUpdateBehaviour.ROLLING, // Optional - defaults to rds.InstanceUpdateBehaviour.BULK
vpc,
});
Properties
allowMajorVersionUpgradeoptionalbooleanallow_major_version_upgradeoptionalboolallowMajorVersionUpgradeoptionalBooleanAllowMajorVersionUpgradeoptionalboolAllowMajorVersionUpgradeoptional*bool= false#applyImmediatelyoptionalbooleanapply_immediatelyoptionalboolapplyImmediatelyoptionalBooleanApplyImmediatelyoptionalboolApplyImmediatelyoptional*bool#Default: Changes will be applied immediately
notes
If set to false, changes are applied during the next maintenance window.
Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.
This property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.
autoMinorVersionUpgradeoptionalbooleanauto_minor_version_upgradeoptionalboolautoMinorVersionUpgradeoptionalBooleanAutoMinorVersionUpgradeoptionalboolAutoMinorVersionUpgradeoptional*bool= true#availabilityZoneoptionalstringavailability_zoneoptionalstravailabilityZoneoptionalStringAvailabilityZoneoptionalstringAvailabilityZoneoptional*string#Default: A random, system-chosen Availability Zone in the endpointʼs AWS Region.
For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.
caCertificateoptionalCaCertificateca_certificateoptionalCaCertificatecaCertificateoptionalCaCertificateCaCertificateoptionalCaCertificateCaCertificateoptionalCaCertificate#Default: RDS will choose a certificate authority
Specifying or updating this property triggers a reboot.
For RDS DB engines:
enablePerformanceInsightsoptionalbooleanenable_performance_insightsoptionalboolenablePerformanceInsightsoptionalBooleanEnablePerformanceInsightsoptionalboolEnablePerformanceInsightsoptional*bool#Default: false, unless performanceInsightRetention or performanceInsightEncryptionKey is set.
instanceIdentifieroptionalstringinstance_identifieroptionalstrinstanceIdentifieroptionalStringInstanceIdentifieroptionalstringInstanceIdentifieroptional*string#Default: CloudFormation generated identifier
instanceTypeoptionalInstanceTypeinstance_typeoptionalInstanceTypeinstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceType= db.t3.medium#isFromLegacyInstancePropsoptionalbooleanis_from_legacy_instance_propsoptionalboolisFromLegacyInstancePropsoptionalBooleanIsFromLegacyInstancePropsoptionalboolIsFromLegacyInstancePropsoptional*bool= false#example
// existing cluster
declare const vpc: ec2.Vpc;
const cluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.auroraMysql({
version: rds.AuroraMysqlEngineVersion.VER_3_03_0,
}),
instances: 2,
instanceProps: {
instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
vpc,
},
});
// migration
const instanceProps = {
instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
isFromLegacyInstanceProps: true,
};
const myCluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.auroraMysql({
version: rds.AuroraMysqlEngineVersion.VER_3_03_0,
}),
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
vpc,
writer: rds.ClusterInstance.provisioned('Instance1', {
instanceType: instanceProps.instanceType,
isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps,
}),
readers: [
rds.ClusterInstance.provisioned('Instance2', {
instanceType: instanceProps.instanceType,
isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps,
}),
],
});
parameterGroupoptionalIParameterGroupparameter_groupoptionalIParameterGroupparameterGroupoptionalIParameterGroupParameterGroupoptionalIParameterGroupParameterGroupoptionalIParameterGroup#Default: the cluster parameter group is used
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
parametersoptional{ [key: string]: string }parametersoptionaltyping.Mapping[str, str]parametersoptionalMap<String, String>ParametersoptionalIDictionary<string, string>Parametersoptional*map[string]*string= None#You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup.
performanceInsightEncryptionKeyoptionalIKeyperformance_insight_encryption_keyoptionalIKeyperformanceInsightEncryptionKeyoptionalIKeyPerformanceInsightEncryptionKeyoptionalIKeyPerformanceInsightEncryptionKeyoptionalIKey#Default: default master key
performanceInsightRetentionoptionalPerformanceInsightRetentionperformance_insight_retentionoptionalPerformanceInsightRetentionperformanceInsightRetentionoptionalPerformanceInsightRetentionPerformanceInsightRetentionoptionalPerformanceInsightRetentionPerformanceInsightRetentionoptionalPerformanceInsightRetention= 7#preferredMaintenanceWindowoptionalstringpreferred_maintenance_windowoptionalstrpreferredMaintenanceWindowoptionalStringPreferredMaintenanceWindowoptionalstringPreferredMaintenanceWindowoptional*string#Default: 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
Example: 'Sun:23:45-Mon:00:15'
promotionTieroptionalnumberpromotion_tieroptionalint | floatpromotionTieroptionalNumberPromotionTieroptionaldoublePromotionTieroptional*float64= 2#Can be between 0-15
For provisioned instances this just determines the failover priority. If multiple instances have the same priority then one will be picked at random
publiclyAccessibleoptionalbooleanpublicly_accessibleoptionalboolpubliclyAccessibleoptionalBooleanPubliclyAccessibleoptionalboolPubliclyAccessibleoptional*bool#Default: true if the cluster's vpcSubnets is subnetType: SubnetType.PUBLIC, false otherwise
If not specified, the cluster's vpcSubnets will be used to determine if the instance is internet-facing or not.