Commit 71993d8d authored by Danny's avatar Danny

add kms key

parent d7595ae4
Pipeline #6528 passed with stage
in 18 seconds
......@@ -2,6 +2,7 @@
# Variables
#############################################################################################################
variable "vpc_id" {}
variable "security_groups" {
type = "list"
}
......@@ -21,12 +22,12 @@ variable "rds_engine_version" {
}
variable "rds_tcp_port" {
default = "3306"
default = "3306"
}
variable "rds_allocated_storage" {
description = "The allocated storage in GBs"
default = "100"
default = "100"
}
variable "rds_storage_type" {
......@@ -65,9 +66,11 @@ variable "read_replica_count" {
}
variable "parameter_group" {
default = "default.mysql5.6"
default = "default.mysql5.6"
}
variable "kms_key_id" {}
variable "route53_zone" {}
#############################################################################################################
......@@ -91,66 +94,66 @@ resource "aws_security_group" "rds" {
#############################################################################################################
resource "aws_db_subnet_group" "default" {
name = "${var.rds_instance_name}-subnet"
description = "RDS Subnet group for ${var.rds_instance_name}"
subnet_ids = ["${var.subnet_ids}"]
name = "${var.rds_instance_name}-subnet"
description = "RDS Subnet group for ${var.rds_instance_name}"
subnet_ids = ["${var.subnet_ids}"]
}
#############################################################################################################
# RDS Instances
#############################################################################################################
resource "aws_db_instance" "default" {
identifier = "${var.rds_instance_name}"
engine = "${var.rds_engine}"
engine_version = "${var.rds_engine_version}"
identifier = "${var.rds_instance_name}"
engine = "${var.rds_engine}"
engine_version = "${var.rds_engine_version}"
allocated_storage = "${var.rds_allocated_storage}"
storage_type = "${var.rds_storage_type}"
allocated_storage = "${var.rds_allocated_storage}"
storage_type = "${var.rds_storage_type}"
instance_class = "${var.rds_instance_class}"
instance_class = "${var.rds_instance_class}"
username = "${var.rds_username}"
password = "${var.rds_password}"
username = "${var.rds_username}"
password = "${var.rds_password}"
multi_az = "${var.rds_multi_az}"
publicly_accessible = "${var.rds_publicly_accessible}"
vpc_security_group_ids = ["${aws_security_group.rds.id}"]
db_subnet_group_name = "${aws_db_subnet_group.default.name}"
multi_az = "${var.rds_multi_az}"
publicly_accessible = "${var.rds_publicly_accessible}"
vpc_security_group_ids = ["${aws_security_group.rds.id}"]
db_subnet_group_name = "${aws_db_subnet_group.default.name}"
parameter_group_name = "${var.parameter_group}"
parameter_group_name = "${var.parameter_group}"
backup_retention_period = "${var.backup_retention_period}"
backup_window = "${var.backup_window}"
maintenance_window = "${var.maintenance_window}"
kms_key_id = "${var.kms_key_id}"
}
resource "aws_db_instance" "read_replica" {
identifier = "${var.rds_instance_name}-read-replica"
engine = "${var.rds_engine}"
engine_version = "${var.rds_engine_version}"
identifier = "${var.rds_instance_name}-read-replica"
engine = "${var.rds_engine}"
engine_version = "${var.rds_engine_version}"
allocated_storage = "${var.rds_allocated_storage}"
storage_type = "${var.rds_storage_type}"
allocated_storage = "${var.rds_allocated_storage}"
storage_type = "${var.rds_storage_type}"
instance_class = "${var.rds_instance_class}"
instance_class = "${var.rds_instance_class}"
username = "${var.rds_username}"
password = "${var.rds_password}"
username = "${var.rds_username}"
password = "${var.rds_password}"
multi_az = "${var.rds_multi_az}"
publicly_accessible = "${var.rds_publicly_accessible}"
vpc_security_group_ids = ["${aws_security_group.rds.id}"]
db_subnet_group_name = "${aws_db_subnet_group.default.name}"
multi_az = "${var.rds_multi_az}"
publicly_accessible = "${var.rds_publicly_accessible}"
vpc_security_group_ids = ["${aws_security_group.rds.id}"]
db_subnet_group_name = "${aws_db_subnet_group.default.name}"
parameter_group_name = "${var.parameter_group}"
parameter_group_name = "${var.parameter_group}"
backup_retention_period = "${var.backup_retention_period}"
backup_window = "${var.backup_window}"
maintenance_window = "${var.maintenance_window}"
replicate_source_db = "${aws_db_instance.default.name}"
count = "${var.read_replica_count}"
replicate_source_db = "${aws_db_instance.default.name}"
count = "${var.read_replica_count}"
}
#############################################################################################################
......@@ -158,42 +161,42 @@ resource "aws_db_instance" "read_replica" {
#############################################################################################################
resource "aws_route53_record" "private_rds_default" {
zone_id = "${var.route53_zone}"
name = "${var.rds_engine}.${var.rds_instance_name}.aws"
type = "CNAME"
ttl = "60"
records = ["${aws_db_instance.default.address}"]
count = "${length(split(",", "var.route53_zone"))}"
zone_id = "${var.route53_zone}"
name = "${var.rds_engine}.${var.rds_instance_name}.aws"
type = "CNAME"
ttl = "60"
records = ["${aws_db_instance.default.address}"]
count = "${length(split(",", "var.route53_zone"))}"
}
resource "aws_route53_record" "private_rds_read-replica" {
zone_id = "${var.route53_zone}"
name = "readonly-${var.rds_engine}.${var.rds_instance_name}.aws"
type = "CNAME"
ttl = "60"
records = ["${aws_db_instance.read_replica.address}"]
count = "${length(split(",", "var.route53_zone")) * var.read_replica_count}"
zone_id = "${var.route53_zone}"
name = "readonly-${var.rds_engine}.${var.rds_instance_name}.aws"
type = "CNAME"
ttl = "60"
records = ["${aws_db_instance.read_replica.address}"]
count = "${length(split(",", "var.route53_zone")) * var.read_replica_count}"
}
#############################################################################################################
# Outputs
#############################################################################################################
output "rds_instance_id" {
value = "${aws_db_instance.default.id}"
value = "${aws_db_instance.default.id}"
}
output "rds_instance_address" {
value = "${aws_db_instance.default.address}"
value = "${aws_db_instance.default.address}"
}
output "read_replica_rds_instance_id" {
value = "${var.read_replica_count == "0" ? "null" : element(concat(aws_db_instance.read_replica.*.id, list("")), 0) }"
value = "${var.read_replica_count == "0" ? "null" : element(concat(aws_db_instance.read_replica.*.id, list("")), 0) }"
}
output "read_replica_rds_instance_address" {
value = "${var.read_replica_count == "0" ? "null" : element(concat(aws_db_instance.read_replica.*.address, list("")), 0) }"
value = "${var.read_replica_count == "0" ? "null" : element(concat(aws_db_instance.read_replica.*.address, list("")), 0) }"
}
output "subnet_group_id" {
value = "${aws_db_subnet_group.default.id}"
value = "${aws_db_subnet_group.default.id}"
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment