DatabaseInstanceProps Struct
Construction properties for a DatabaseInstance.
Example
declare const vpc: ec2.Vpc;
const iopsInstance = new rds.DatabaseInstance(this, 'IopsInstance', {
engine: rds.DatabaseInstanceEngine.mysql({ version: rds.MysqlEngineVersion.VER_8_0_39 }),
vpc,
storageType: rds.StorageType.IO1,
iops: 5000,
});
const gp3Instance = new rds.DatabaseInstance(this, 'Gp3Instance', {
engine: rds.DatabaseInstanceEngine.mysql({ version: rds.MysqlEngineVersion.VER_8_0_39 }),
vpc,
allocatedStorage: 500,
storageType: rds.StorageType.GP3,
storageThroughput: 500, // only applicable for GP3
});
Properties
allocatedStorageoptionalnumberallocated_storageoptionalint | floatallocatedStorageoptionalNumberAllocatedStorageoptionaldoubleAllocatedStorageoptional*float64= 100#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: no preference
backupRetentionoptionalDurationbackup_retentionoptionalDurationbackupRetentionoptionalDurationBackupRetentionoptionalDurationBackupRetentionoptionalDuration#Default: Duration.days(1) for source instances, disabled for read replicas
Set to zero to disable backups. When creating a read replica, you must enable automatic backups on the source database instance by setting the backup retention to a value other than zero.
caCertificateoptionalCaCertificateca_certificateoptionalCaCertificatecaCertificateoptionalCaCertificateCaCertificateoptionalCaCertificateCaCertificateoptionalCaCertificate#Default: RDS will choose a certificate authority
Specifying or updating this property triggers a reboot.
For RDS DB engines:
characterSetNameoptionalstringcharacter_set_nameoptionalstrcharacterSetNameoptionalStringCharacterSetNameoptionalstringCharacterSetNameoptional*string#Default: RDS default character set name
cloudwatchLogsExportsoptionalstring[]cloudwatch_logs_exportsoptionaltyping.List[str]cloudwatchLogsExportsoptionalList<String>CloudwatchLogsExportsoptionalstring[]CloudwatchLogsExportsoptional*[]*string#Default: no log exports
cloudwatchLogsRetentionoptionalRetentionDayscloudwatch_logs_retentionoptionalRetentionDayscloudwatchLogsRetentionoptionalRetentionDaysCloudwatchLogsRetentionoptionalRetentionDaysCloudwatchLogsRetentionoptionalRetentionDays#Default: logs never expire
When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to Infinity.
cloudwatchLogsRetentionRoleoptionalIRolecloudwatch_logs_retention_roleoptionalIRolecloudwatchLogsRetentionRoleoptionalIRoleCloudwatchLogsRetentionRoleoptionalIRoleCloudwatchLogsRetentionRoleoptionalIRole#Default: a new role is created.
copyTagsToSnapshotoptionalbooleancopy_tags_to_snapshotoptionalboolcopyTagsToSnapshotoptionalBooleanCopyTagsToSnapshotoptionalboolCopyTagsToSnapshotoptional*bool= true#credentialsoptionalCredentialscredentialsoptionalCredentialscredentialsoptionalCredentialsCredentialsoptionalCredentialsCredentialsoptionalCredentials#Default: A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password
databaseInsightsModeoptionalDatabaseInsightsModedatabase_insights_modeoptionalDatabaseInsightsModedatabaseInsightsModeoptionalDatabaseInsightsModeDatabaseInsightsModeoptionalDatabaseInsightsModeDatabaseInsightsModeoptionalDatabaseInsightsMode#Default: DatabaseInsightsMode.STANDARD when performance insights are enabled, otherwise not set.
databaseNameoptionalstringdatabase_nameoptionalstrdatabaseNameoptionalStringDatabaseNameoptionalstringDatabaseNameoptional*string#Default: no name
deleteAutomatedBackupsoptionalbooleandelete_automated_backupsoptionalbooldeleteAutomatedBackupsoptionalBooleanDeleteAutomatedBackupsoptionalboolDeleteAutomatedBackupsoptional*bool= true#deletionProtectionoptionalbooleandeletion_protectionoptionalbooldeletionProtectionoptionalBooleanDeletionProtectionoptionalboolDeletionProtectionoptional*bool#Default: true if removalPolicy is RETAIN, false otherwise
Default: Do not join domain
domainRoleoptionalIRoleRefdomain_roleoptionalIRoleRefdomainRoleoptionalIRoleRefDomainRoleoptionalIRoleRefDomainRoleoptionalIRoleRef#Default: The role will be created for you if DatabaseInstanceNewProps#domain is specified
The role needs the AWS-managed policy AmazonRDSDirectoryServiceAccess or equivalent.
enablePerformanceInsightsoptionalbooleanenable_performance_insightsoptionalboolenablePerformanceInsightsoptionalBooleanEnablePerformanceInsightsoptionalboolEnablePerformanceInsightsoptional*bool#Default: false, unless performanceInsightRetention or performanceInsightEncryptionKey is set.
engineIInstanceEngineengineIInstanceEngineengineIInstanceEngineEngineIInstanceEngineEngineIInstanceEnginerequired#engineLifecycleSupportoptionalEngineLifecycleSupportengine_lifecycle_supportoptionalEngineLifecycleSupportengineLifecycleSupportoptionalEngineLifecycleSupportEngineLifecycleSupportoptionalEngineLifecycleSupportEngineLifecycleSupportoptionalEngineLifecycleSupport#Default: undefined - AWS RDS default setting is EngineLifecycleSupport.OPEN_SOURCE_RDS_EXTENDED_SUPPORT
This setting applies only to RDS for MySQL and RDS for PostgreSQL.
iamAuthenticationoptionalbooleaniam_authenticationoptionalbooliamAuthenticationoptionalBooleanIamAuthenticationoptionalboolIamAuthenticationoptional*bool= false#instanceIdentifieroptionalstringinstance_identifieroptionalstrinstanceIdentifieroptionalStringInstanceIdentifieroptionalstringInstanceIdentifieroptional*string#Default: a CloudFormation generated name
If you specify a name, AWS CloudFormation converts it to lowercase.
instanceTypeoptionalInstanceTypeinstance_typeoptionalInstanceTypeinstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceType#Default: m5.large (or, more specifically, db.m5.large)
Default: no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is always 3,000 IOPS).
The value must be equal to or greater than 1000.
licenseModeloptionalLicenseModellicense_modeloptionalLicenseModellicenseModeloptionalLicenseModelLicenseModeloptionalLicenseModelLicenseModeloptionalLicenseModel#Default: RDS default license model
manageMasterUserPasswordoptionalbooleanmanage_master_user_passwordoptionalboolmanageMasterUserPasswordoptionalBooleanManageMasterUserPasswordoptionalboolManageMasterUserPasswordoptional*bool= false#When enabled, RDS generates and manages the master user password in Secrets Manager. Cannot be used together with credentials containing a password.
maxAllocatedStorageoptionalnumbermax_allocated_storageoptionalint | floatmaxAllocatedStorageoptionalNumberMaxAllocatedStorageoptionaldoubleMaxAllocatedStorageoptional*float64#Default: No autoscaling of RDS instance
monitoringIntervaloptionalDurationmonitoring_intervaloptionalDurationmonitoringIntervaloptionalDurationMonitoringIntervaloptionalDurationMonitoringIntervaloptionalDuration#Default: no enhanced monitoring
monitoringRoleoptionalIRoleRefmonitoring_roleoptionalIRoleRefmonitoringRoleoptionalIRoleRefMonitoringRoleoptionalIRoleRefMonitoringRoleoptionalIRoleRef#Default: A role is automatically created for you
multiAzoptionalbooleanmulti_azoptionalboolmultiAzoptionalBooleanMultiAzoptionalboolMultiAzoptional*bool= false#networkTypeoptionalNetworkTypenetwork_typeoptionalNetworkTypenetworkTypeoptionalNetworkTypeNetworkTypeoptionalNetworkTypeNetworkTypeoptionalNetworkType= IPV4#optionGroupoptionalIOptionGroupoption_groupoptionalIOptionGroupoptionGroupoptionalIOptionGroupOptionGroupoptionalIOptionGroupOptionGroupoptionalIOptionGroup#Default: no option group
parameterGroupoptionalIParameterGroupparameter_groupoptionalIParameterGroupparameterGroupoptionalIParameterGroupParameterGroupoptionalIParameterGroupParameterGroupoptionalIParameterGroup#Default: no 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.
performanceInsightEncryptionKeyoptionalIKeyRefperformance_insight_encryption_keyoptionalIKeyRefperformanceInsightEncryptionKeyoptionalIKeyRefPerformanceInsightEncryptionKeyoptionalIKeyRefPerformanceInsightEncryptionKeyoptionalIKeyRef#Default: default master key
performanceInsightRetentionoptionalPerformanceInsightRetentionperformance_insight_retentionoptionalPerformanceInsightRetentionperformanceInsightRetentionoptionalPerformanceInsightRetentionPerformanceInsightRetentionoptionalPerformanceInsightRetentionPerformanceInsightRetentionoptionalPerformanceInsightRetention#Default: 7 this is the free tier
If you set databaseInsightsMode to DatabaseInsightsMode.ADVANCED, you must set this property to PerformanceInsightRetention.MONTHS_15.
Default: the default port for the chosen engine.
preferredBackupWindowoptionalstringpreferred_backup_windowoptionalstrpreferredBackupWindowoptionalStringPreferredBackupWindowoptionalstringPreferredBackupWindowoptional*string#Default: a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow
Constraints:
- Must be in the format
hh24:mi-hh24:mi. - Must be in Universal Coordinated Time (UTC).
- Must not conflict with the preferred maintenance window.
- Must be at least 30 minutes.
preferredMaintenanceWindowoptionalstringpreferred_maintenance_windowoptionalstrpreferredMaintenanceWindowoptionalStringPreferredMaintenanceWindowoptionalstringPreferredMaintenanceWindowoptional*string#Default: a 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. To see the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
Format: ddd:hh24:mi-ddd:hh24:mi Constraint: Minimum 30-minute window
processorFeaturesoptionalProcessorFeaturesprocessor_featuresoptionalProcessorFeaturesprocessorFeaturesoptionalProcessorFeaturesProcessorFeaturesoptionalProcessorFeaturesProcessorFeaturesoptionalProcessorFeatures#Default: the default number of CPU cores and threads per core for the chosen instance class. See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor
publiclyAccessibleoptionalbooleanpublicly_accessibleoptionalboolpubliclyAccessibleoptionalBooleanPubliclyAccessibleoptionalboolPubliclyAccessibleoptional*bool#Default: true if the instance's vpcSubnets is subnetType: SubnetType.PUBLIC, false otherwise
If not specified, the instance's vpcSubnets will be used to determine if the instance is internet-facing or not.
removalPolicyoptionalRemovalPolicyremoval_policyoptionalRemovalPolicyremovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicy#Default: RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data)
s3ExportBucketsoptionalIBucket[]s3_export_bucketsoptionaltyping.List[IBucket]s3ExportBucketsoptionalList<IBucket>S3ExportBucketsoptionalIBucket[]S3ExportBucketsoptional*[]IBucket= None#This property must not be used if s3ExportRole is used.
For Microsoft SQL Server:
s3ExportRoleoptionalIRoles3_export_roleoptionalIRoles3ExportRoleoptionalIRoleS3ExportRoleoptionalIRoleS3ExportRoleoptionalIRole#Default: New role is created if s3ExportBuckets is set, no role is defined otherwise
This property must not be used if s3ExportBuckets is used.
For Microsoft SQL Server:
s3ImportBucketsoptionalIBucket[]s3_import_bucketsoptionaltyping.List[IBucket]s3ImportBucketsoptionalList<IBucket>S3ImportBucketsoptionalIBucket[]S3ImportBucketsoptional*[]IBucket= None#This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.
This property must not be used if s3ImportRole is used.
For Microsoft SQL Server:
s3ImportRoleoptionalIRoles3_import_roleoptionalIRoles3ImportRoleoptionalIRoleS3ImportRoleoptionalIRoleS3ImportRoleoptionalIRole#Default: New role is created if s3ImportBuckets is set, no role is defined otherwise
This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.
This property must not be used if s3ImportBuckets is used.
For Microsoft SQL Server:
securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#Default: a new security group is created
storageEncryptedoptionalbooleanstorage_encryptedoptionalboolstorageEncryptedoptionalBooleanStorageEncryptedoptionalboolStorageEncryptedoptional*bool#Default: true if storageEncryptionKey has been provided, false otherwise
storageEncryptionKeyoptionalIKeyRefstorage_encryption_keyoptionalIKeyRefstorageEncryptionKeyoptionalIKeyRefStorageEncryptionKeyoptionalIKeyRefStorageEncryptionKeyoptionalIKeyRef#Default: default master key if storageEncrypted is true, no key otherwise
storageThroughputoptionalnumberstorage_throughputoptionalint | floatstorageThroughputoptionalNumberStorageThroughputoptionaldoubleStorageThroughputoptional*float64#Default: 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for SQL Server where the default is always 125 MiBps).
Only applicable for GP3.
storageTypeoptionalStorageTypestorage_typeoptionalStorageTypestorageTypeoptionalStorageTypeStorageTypeoptionalStorageTypeStorageTypeoptionalStorageType= StorageType.GP2#Storage types supported are gp2, gp3, io1, io2, and standard.
subnetGroupoptionalIDBSubnetGroupRefsubnet_groupoptionalIDBSubnetGroupRefsubnetGroupoptionalIDBSubnetGroupRefSubnetGroupoptionalIDBSubnetGroupRefSubnetGroupoptionalIDBSubnetGroupRef#Default: a new subnet group will be created.
timezoneoptionalstringtimezoneoptionalstrtimezoneoptionalStringTimezoneoptionalstringTimezoneoptional*string#Default: RDS default timezone
This is currently supported only by Microsoft Sql Server.
vpcSubnetsoptionalSubnetSelectionvpc_subnetsoptionalSubnetSelectionvpcSubnetsoptionalSubnetSelectionVpcSubnetsoptionalSubnetSelectionVpcSubnetsoptionalSubnetSelection#Default: private subnets