You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fine grained control of individual cluster instances
15
15
- Custom endpoints
16
+
- RDS multi-AZ support (not Aurora)
16
17
17
18
## Usage
18
19
@@ -207,10 +208,11 @@ module "cluster" {
207
208
## Examples
208
209
209
210
-[Autoscaling](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/autoscaling): A PostgreSQL cluster with enhanced monitoring and autoscaling enabled
210
-
-[Global Cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/global_cluster): A PostgreSQL global cluster with clusters provisioned in two different region
211
+
-[Global Cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/global-cluster): A PostgreSQL global cluster with clusters provisioned in two different region
212
+
-[Multi-AZ](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/multi-az): A multi-AZ RDS cluster (not using Aurora engine)
211
213
-[MySQL](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/mysql): A simple MySQL cluster
212
214
-[PostgreSQL](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/postgresql): A simple PostgreSQL cluster
213
-
-[S3 Import](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/s3_import): A MySQL cluster created from a Percona Xtrabackup stored in S3
215
+
-[S3 Import](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/s3-import): A MySQL cluster created from a Percona Xtrabackup stored in S3
214
216
-[Serverless](https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/tree/master/examples/serverless): Serverless V1 and V2 (PostgreSQL and MySQL)
215
217
216
218
## Documentation
@@ -265,6 +267,7 @@ No modules.
265
267
266
268
| Name | Description | Type | Default | Required |
| <aname="input_allocated_storage"></a> [allocated\_storage](#input\_allocated\_storage)| The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. (This setting is required to create a Multi-AZ DB cluster) |`number`|`null`| no |
268
271
| <aname="input_allow_major_version_upgrade"></a> [allow\_major\_version\_upgrade](#input\_allow\_major\_version\_upgrade)| Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`|`bool`|`false`| no |
269
272
| <aname="input_allowed_cidr_blocks"></a> [allowed\_cidr\_blocks](#input\_allowed\_cidr\_blocks)| A list of CIDR blocks which are allowed to access the database |`list(string)`|`[]`| no |
270
273
| <aname="input_allowed_security_groups"></a> [allowed\_security\_groups](#input\_allowed\_security\_groups)| A list of Security Group ID's to allow access to |`list(string)`|`[]`| no |
@@ -278,11 +281,14 @@ No modules.
278
281
| <aname="input_autoscaling_scale_out_cooldown"></a> [autoscaling\_scale\_out\_cooldown](#input\_autoscaling\_scale\_out\_cooldown)| Cooldown in seconds before allowing further scaling operations after a scale out |`number`|`300`| no |
279
282
| <aname="input_autoscaling_target_connections"></a> [autoscaling\_target\_connections](#input\_autoscaling\_target\_connections)| Average number of connections threshold which will initiate autoscaling. Default value is 70% of db.r4/r5/r6g.large's default max\_connections |`number`|`700`| no |
280
283
| <aname="input_autoscaling_target_cpu"></a> [autoscaling\_target\_cpu](#input\_autoscaling\_target\_cpu)| CPU threshold which will initiate autoscaling |`number`|`70`| no |
284
+
| <aname="input_availability_zones"></a> [availability\_zones](#input\_availability\_zones)| List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next Terraform apply |`list(string)`|`null`| no |
281
285
| <aname="input_backtrack_window"></a> [backtrack\_window](#input\_backtrack\_window)| The target backtrack window, in seconds. Only available for `aurora` engine currently. To disable backtracking, set this value to 0. Must be between 0 and 259200 (72 hours) |`number`|`null`| no |
282
286
| <aname="input_backup_retention_period"></a> [backup\_retention\_period](#input\_backup\_retention\_period)| The days to retain backups for. Default `7`|`number`|`7`| no |
283
287
| <aname="input_ca_cert_identifier"></a> [ca\_cert\_identifier](#input\_ca\_cert\_identifier)| The identifier of the CA certificate for the DB instance |`string`|`null`| no |
288
+
| <aname="input_cluster_members"></a> [cluster\_members](#input\_cluster\_members)| List of RDS Instances that are a part of this cluster |`list(string)`|`null`| no |
284
289
| <aname="input_cluster_tags"></a> [cluster\_tags](#input\_cluster\_tags)| A map of tags to add to only the cluster. Used for AWS Instance Scheduler tagging |`map(string)`|`{}`| no |
285
290
| <aname="input_cluster_timeouts"></a> [cluster\_timeouts](#input\_cluster\_timeouts)| Create, update, and delete timeout configurations for the cluster |`map(string)`|`{}`| no |
291
+
| <aname="input_cluster_use_name_prefix"></a> [cluster\_use\_name\_prefix](#input\_cluster\_use\_name\_prefix)| Whether to use `name` as a prefix for the cluster |`bool`|`false`| no |
286
292
| <aname="input_copy_tags_to_snapshot"></a> [copy\_tags\_to\_snapshot](#input\_copy\_tags\_to\_snapshot)| Copy all Cluster `tags` to snapshots |`bool`|`null`| no |
287
293
| <aname="input_create_cluster"></a> [create\_cluster](#input\_create\_cluster)| Whether cluster should be created (affects nearly all resources) |`bool`|`true`| no |
288
294
| <aname="input_create_db_cluster_parameter_group"></a> [create\_db\_cluster\_parameter\_group](#input\_create\_db\_cluster\_parameter\_group)| Determines whether a cluster parameter should be created or use existing |`bool`|`false`| no |
@@ -293,6 +299,7 @@ No modules.
293
299
| <aname="input_create_security_group"></a> [create\_security\_group](#input\_create\_security\_group)| Determines whether to create security group for RDS cluster |`bool`|`true`| no |
294
300
| <aname="input_database_name"></a> [database\_name](#input\_database\_name)| Name for an automatically created database on cluster creation |`string`|`null`| no |
295
301
| <aname="input_db_cluster_db_instance_parameter_group_name"></a> [db\_cluster\_db\_instance\_parameter\_group\_name](#input\_db\_cluster\_db\_instance\_parameter\_group\_name)| Instance parameter group to associate with all instances of the DB cluster. The `db_cluster_db_instance_parameter_group_name` is only valid in combination with `allow_major_version_upgrade`|`string`|`null`| no |
302
+
| <aname="input_db_cluster_instance_class"></a> [db\_cluster\_instance\_class](#input\_db\_cluster\_instance\_class)| The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines |`string`|`null`| no |
296
303
| <aname="input_db_cluster_parameter_group_description"></a> [db\_cluster\_parameter\_group\_description](#input\_db\_cluster\_parameter\_group\_description)| The description of the DB cluster parameter group. Defaults to "Managed by Terraform" |`string`|`null`| no |
297
304
| <aname="input_db_cluster_parameter_group_family"></a> [db\_cluster\_parameter\_group\_family](#input\_db\_cluster\_parameter\_group\_family)| The family of the DB cluster parameter group |`string`|`""`| no |
298
305
| <aname="input_db_cluster_parameter_group_name"></a> [db\_cluster\_parameter\_group\_name](#input\_db\_cluster\_parameter\_group\_name)| The name of the DB cluster parameter group |`string`|`""`| no |
@@ -328,11 +335,12 @@ No modules.
328
335
| <aname="input_instance_timeouts"></a> [instance\_timeouts](#input\_instance\_timeouts)| Create, update, and delete timeout configurations for the cluster instance(s) |`map(string)`|`{}`| no |
329
336
| <aname="input_instances"></a> [instances](#input\_instances)| Map of cluster instances and any specific/overriding attributes to be created |`any`|`{}`| no |
330
337
| <aname="input_instances_use_identifier_prefix"></a> [instances\_use\_identifier\_prefix](#input\_instances\_use\_identifier\_prefix)| Determines whether cluster instance identifiers are used as prefixes |`bool`|`false`| no |
338
+
| <aname="input_iops"></a> [iops](#input\_iops)| The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster |`number`|`null`| no |
331
339
| <aname="input_is_primary_cluster"></a> [is\_primary\_cluster](#input\_is\_primary\_cluster)| Determines whether cluster is primary cluster with writer instance (set to `false` for global cluster and replica clusters) |`bool`|`true`| no |
332
340
| <aname="input_kms_key_id"></a> [kms\_key\_id](#input\_kms\_key\_id)| The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to `true`|`string`|`null`| no |
333
341
| <aname="input_master_password"></a> [master\_password](#input\_master\_password)| Password for the master DB user. Note - when specifying a value here, 'create\_random\_password' should be set to `false`|`string`|`null`| no |
334
342
| <aname="input_master_username"></a> [master\_username](#input\_master\_username)| Username for the master DB user |`string`|`"root"`| no |
335
-
| <aname="input_monitoring_interval"></a> [monitoring\_interval](#input\_monitoring\_interval)| The interval, in seconds, between points when Enhanced Monitoring metrics are collected for instances. Set to `0` to disble. Default is `0`|`number`|`0`| no |
343
+
| <aname="input_monitoring_interval"></a> [monitoring\_interval](#input\_monitoring\_interval)| The interval, in seconds, between points when Enhanced Monitoring metrics are collected for instances. Set to `0` to disable. Default is `0`|`number`|`0`| no |
336
344
| <aname="input_monitoring_role_arn"></a> [monitoring\_role\_arn](#input\_monitoring\_role\_arn)| IAM role used by RDS to send enhanced monitoring metrics to CloudWatch |`string`|`""`| no |
337
345
| <aname="input_name"></a> [name](#input\_name)| Name used across resources created |`string`|`""`| no |
338
346
| <aname="input_performance_insights_enabled"></a> [performance\_insights\_enabled](#input\_performance\_insights\_enabled)| Specifies whether Performance Insights is enabled or not |`bool`|`null`| no |
@@ -347,17 +355,18 @@ No modules.
347
355
| <aname="input_random_password_length"></a> [random\_password\_length](#input\_random\_password\_length)| Length of random password to create. Defaults to `10`|`number`|`10`| no |
348
356
| <aname="input_replication_source_identifier"></a> [replication\_source\_identifier](#input\_replication\_source\_identifier)| ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica |`string`|`null`| no |
349
357
| <aname="input_restore_to_point_in_time"></a> [restore\_to\_point\_in\_time](#input\_restore\_to\_point\_in\_time)| Map of nested attributes for cloning Aurora cluster |`map(string)`|`{}`| no |
350
-
| <aname="input_s3_import"></a> [s3\_import](#input\_s3\_import)| Configuration map used to restore from a Percona Xtrabackup in S3 (only MySQL is supported) |`map(string)`|`null`| no |
358
+
| <aname="input_s3_import"></a> [s3\_import](#input\_s3\_import)| Configuration map used to restore from a Percona Xtrabackup in S3 (only MySQL is supported) |`map(string)`|`{}`| no |
351
359
| <aname="input_scaling_configuration"></a> [scaling\_configuration](#input\_scaling\_configuration)| Map of nested attributes with scaling properties. Only valid when `engine_mode` is set to `serverless`|`map(string)`|`{}`| no |
352
360
| <aname="input_security_group_description"></a> [security\_group\_description](#input\_security\_group\_description)| The description of the security group. If value is set to empty string it will contain cluster name in the description |`string`|`null`| no |
353
-
| <aname="input_security_group_egress_rules"></a> [security\_group\_egress\_rules](#input\_security\_group\_egress\_rules)| A map of security group egress rule defintions to add to the security group created |`map(any)`|`{}`| no |
361
+
| <aname="input_security_group_egress_rules"></a> [security\_group\_egress\_rules](#input\_security\_group\_egress\_rules)| A map of security group egress rule definitions to add to the security group created |`map(any)`|`{}`| no |
354
362
| <aname="input_security_group_tags"></a> [security\_group\_tags](#input\_security\_group\_tags)| Additional tags for the security group |`map(string)`|`{}`| no |
355
363
| <aname="input_security_group_use_name_prefix"></a> [security\_group\_use\_name\_prefix](#input\_security\_group\_use\_name\_prefix)| Determines whether the security group name (`name`) is used as a prefix |`bool`|`true`| no |
356
364
| <aname="input_serverlessv2_scaling_configuration"></a> [serverlessv2\_scaling\_configuration](#input\_serverlessv2\_scaling\_configuration)| Map of nested attributes with serverless v2 scaling properties. Only valid when `engine_mode` is set to `provisioned`|`map(string)`|`{}`| no |
357
365
| <aname="input_skip_final_snapshot"></a> [skip\_final\_snapshot](#input\_skip\_final\_snapshot)| Determines whether a final snapshot is created before the cluster is deleted. If true is specified, no snapshot is created |`bool`|`null`| no |
358
366
| <aname="input_snapshot_identifier"></a> [snapshot\_identifier](#input\_snapshot\_identifier)| Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot |`string`|`null`| no |
359
367
| <aname="input_source_region"></a> [source\_region](#input\_source\_region)| The source region for an encrypted replica DB cluster |`string`|`null`| no |
360
368
| <aname="input_storage_encrypted"></a> [storage\_encrypted](#input\_storage\_encrypted)| Specifies whether the DB cluster is encrypted. The default is `true`|`bool`|`true`| no |
369
+
| <aname="input_storage_type"></a> [storage\_type](#input\_storage\_type)| Specifies the storage type to be associated with the DB cluster. (This setting is required to create a Multi-AZ DB cluster). Valid values: `io1`, Default: `io1`|`string`|`null`| no |
361
370
| <aname="input_subnets"></a> [subnets](#input\_subnets)| List of subnet IDs used by database subnet group created |`list(string)`|`[]`| no |
362
371
| <aname="input_tags"></a> [tags](#input\_tags)| A map of tags to add to all resources |`map(string)`|`{}`| no |
363
372
| <aname="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id)| ID of the VPC where to create security group |`string`|`""`| no |
0 commit comments