An open API service indexing awesome lists of open source software.

https://github.com/telus/terraform-aws_rds_cluster


https://github.com/telus/terraform-aws_rds_cluster

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

# terraform-aws_rds_cluster

A terraform module for managing RDS instances

* Assumes you're making your instances in a VPC

# Module Input Variables

Defaults:

- `engine` - The type of RDS isntance you want to use. Defaults to mysql
- `engine_version` - The RDS version you want to use. Defaults to 5.7.17
- `instance_class` - The RDS instance class. Defaults to db.m4.large
- `multi_az` - Specifies if the RDS instance is multi-AZ. Defaults to true
- `port` - RDS port. Defaults to 3306
- `vpc_security_group_ids` - VPC security group ID for cluster.
- `db_subnet_group_name` - Subnet group name for cluster. Defaults to rds-main
- `parameter_group_name` - Parameter group name for cluster. Defaults to default.mysql5.7
- `allocated_storage` - The amount of storage for the RDS instance. Defaults to 10
- `storage_type` - The storage type for the RDS instance. Defaults to gp2
- `backup_window` - The backup window for the instance. Defaults to 09:46-10:16
- `backup_retention_period` - The retention period for backups. Defaults to 7
- `storage_encrypted` - Ensure your database data is encrypted at rest. Default to true
- `delete_automated_backups` - Remove your database snapshots automatically when the RDS instance is deleted. Defaults to false
- `deletion_protection` - Set deletion protection on the instance. Defaults to true
- `monitoring_interval` - The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. Defaults to 30
- `performance_insights_enabled` - Specifies whether Performance Insights are enabled. Defaults to false.
- `performance_insights_retention_period` - The amount of time in days to retain Performance Insights data. Defaults to 7. Alternative of 2 years (731 days)

Required:

- `name` - Name of the RDS instance
- `username` - Username for the RDS instance, max 16 characters
- `password` - Password for the RDS instance

# Module Outputs

- `name` - Name of the instance

# Usage

You can use this in your terraform template with the following steps.

1. Adding a module resource to your template, e.g. main.tf

```
module "instance" {
source = "git::ssh://git@github.com/telus/terraform-aws_rds_cluster"

name = "my-rds-instance"
username = "my-username"
password = "my-password"
instance_class = "db.m4.large"
}
```

# Authors

Created and maintained by [Alex Podobnik](https://github.com/alexandarp) (alexandar.podobnik@telus.com)