From 55bf0526c86c88f5ae0d20bad6587c72cd91e835 Mon Sep 17 00:00:00 2001 From: clarkzjw Date: Tue, 31 Jan 2023 14:24:47 -0800 Subject: add ec2, rds --- infra/rds.tf | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 infra/rds.tf (limited to 'infra/rds.tf') diff --git a/infra/rds.tf b/infra/rds.tf new file mode 100644 index 0000000..d9ba204 --- /dev/null +++ b/infra/rds.tf @@ -0,0 +1,58 @@ +resource "aws_db_parameter_group" "mastodon" { + name = var.name + family = var.rds_parameter_group +} + +resource "aws_db_instance" "mastodon" { + identifier = var.name + instance_class = var.rds_instance_class + allocated_storage = var.rds_storage_size + engine = var.rds_engine + engine_version = var.rds_engine_version + username = var.rds_username + password = random_password.rds_password.result + port = var.rds_port + db_subnet_group_name = aws_db_subnet_group.mastodon.name + vpc_security_group_ids = [aws_security_group.rds.id] + parameter_group_name = aws_db_parameter_group.mastodon.name + publicly_accessible = true + skip_final_snapshot = true + + backup_retention_period = 7 + performance_insights_enabled = true +} + +resource "random_password" "rds_password" { + length = 16 + special = false +} + +resource "aws_ssm_parameter" "rds_host" { + name = "/${var.name}/rds/host" + type = "String" + value = aws_db_instance.mastodon.address +} + +resource "aws_ssm_parameter" "rds_port" { + name = "/${var.name}/rds/port" + type = "String" + value = aws_db_instance.mastodon.port +} + +resource "aws_ssm_parameter" "mastodon_db_name" { + name = "/${local.name}/rds/name" + type = "String" + value = aws_db_instance.mastodon.db_name +} + +resource "aws_ssm_parameter" "mastodon_db_user" { + name = "/${local.name}/rds/username" + type = "String" + value = aws_db_instance.mastodon.username +} + +resource "aws_ssm_parameter" "mastodon_db_password" { + name = "/${local.name}/rds/password" + type = "SecureString" + value = random_password.rds_password.result +} -- cgit v1.2.3