Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Terraform - AWS: RDS

Back


RDS


Parameter Group

resource "aws_db_parameter_group" "default" {
  name   = "rds-pg"
  family = "mysql5.6"

  parameter {
    name  = "character_set_server"
    value = "utf8"
  }

  parameter {
    name  = "character_set_client"
    value = "utf8"
  }
}

Subnet Group

resource "aws_docdb_subnet_group" "default" {
  name       = "main"
  subnet_ids = [aws_subnet.frontend.id, aws_subnet.backend.id]

  tags = {
    Name = "My docdb subnet group"
  }
}

RDS Instance

resource "aws_db_instance" "default" {
  db_name              = "mydb"

  allocated_storage    = 10             # storage
  engine               = "mysql"
  engine_version       = "8.0"
  instance_class       = "db.t3.micro"
  username             = "foo"
  password             = "foobarbaz"

  db_subnet_group_name = ${aws_docdb_subnet_group.default.name}
  parameter_group_name = ${aws_db_parameter_group.default.name}

  multi_az                  = "false"   # true for HA
  vpc_security_group_ids    = ${aws_security_group.allow-mysql.id}

  backup_retention_period = 30      # The backup retention period.
}