diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/common.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/common.tf new file mode 100644 index 0000000..10568c1 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/common.tf @@ -0,0 +1,11 @@ + +################################################################################ +# This is the bucket holding this specific setup tfstate +################################################################################ +terraform { + backend "s3" { + bucket = "performance-cto-group" + region = "us-east-1" + } +} + diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/db.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/db.tf new file mode 100644 index 0000000..39689be --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/db.tf @@ -0,0 +1,40 @@ + +module "cluster" { + source = "terraform-aws-modules/rds-aurora/aws" + + name = "vector-benchmark-aurora-db-r6gd-2xlarge-postgres-16-1" + engine = "aurora-postgresql" + engine_version = "16.1" + instance_class = "db.r6gd.large" + instances = { + one = { + instance_class = "db.r6gd.2xlarge" + } + } + manage_master_user_password = false + master_password = "performance" + master_username = "postgres" + + vpc_id = data.terraform_remote_state.shared_resources.outputs.performance_cto_vpc_id + db_subnet_group_name = "perf-cto-us-east-2-documentdb-subnetgroup" + + security_group_rules = { + ex1_ingress = { + cidr_blocks = ["10.20.0.0/20"] + } + ex1_ingress = { + source_security_group_id = "${data.terraform_remote_state.shared_resources.outputs.performance_cto_sg_id}" + } + } + + storage_encrypted = true + apply_immediately = true + monitoring_interval = 10 + skip_final_snapshot = true + + + tags = { + "Name" = "vector-benchmark-aurora-db-r6gd-2xlarge-postgres-16-1" + Project = "Vector-Competitive-Aurora" + } +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/output.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/output.tf new file mode 100644 index 0000000..91bceb3 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/output.tf @@ -0,0 +1,5 @@ + +output "primary_endpoint_address" { + sensitive = true + value = ["${module.cluster}"] +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/shared_resources.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/shared_resources.tf new file mode 100644 index 0000000..824e6b9 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/shared_resources.tf @@ -0,0 +1,17 @@ +# provider +provider "aws" { + region = var.region +} + +################################################################################ +# This is the shared resources bucket key -- you will need it across environments like security rules,etc... +# !! do not change this !! +################################################################################ +data "terraform_remote_state" "shared_resources" { + backend = "s3" + config = { + bucket = "performance-cto-group" + key = "benchmarks/infrastructure/shared_resources.tfstate" + region = "us-east-1" + } +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/variables.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/variables.tf new file mode 100644 index 0000000..0a84a53 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r6gd.2xlarge/variables.tf @@ -0,0 +1,5 @@ + + +variable "region" { + default = "us-east-2" +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/common.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/common.tf new file mode 100644 index 0000000..10568c1 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/common.tf @@ -0,0 +1,11 @@ + +################################################################################ +# This is the bucket holding this specific setup tfstate +################################################################################ +terraform { + backend "s3" { + bucket = "performance-cto-group" + region = "us-east-1" + } +} + diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/db.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/db.tf new file mode 100644 index 0000000..6db8dfc --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/db.tf @@ -0,0 +1,41 @@ + +module "cluster" { + source = "terraform-aws-modules/rds-aurora/aws" + + name = "vector-benchmark-aurora-db-postgres-16-1" + engine = "aurora-postgresql" + engine_version = "16.1" + instance_class = "db.r7g.large" + instances = { + one = { + instance_class = "db.r7g.2xlarge" + } + } + manage_master_user_password = false + master_password = "performance" + master_username = "postgres" + + vpc_id = data.terraform_remote_state.shared_resources.outputs.performance_cto_vpc_id + db_subnet_group_name = "perf-cto-us-east-2-documentdb-subnetgroup" + + security_group_rules = { + ex1_ingress = { + cidr_blocks = ["10.20.0.0/20"] + } + ex1_ingress = { + source_security_group_id = "${data.terraform_remote_state.shared_resources.outputs.performance_cto_sg_id}" + } + } + + storage_encrypted = true + apply_immediately = true + monitoring_interval = 10 + skip_final_snapshot = true + + # enabled_cloudwatch_logs_exports = ["postgresql"] + + tags = { + "Name" = "vector-benchmark-aurora-db-postgres-16-1" + Project = "Vector-Competitive-Aurora" + } +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/output.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/output.tf new file mode 100644 index 0000000..91bceb3 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/output.tf @@ -0,0 +1,5 @@ + +output "primary_endpoint_address" { + sensitive = true + value = ["${module.cluster}"] +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/shared_resources.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/shared_resources.tf new file mode 100644 index 0000000..824e6b9 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/shared_resources.tf @@ -0,0 +1,17 @@ +# provider +provider "aws" { + region = var.region +} + +################################################################################ +# This is the shared resources bucket key -- you will need it across environments like security rules,etc... +# !! do not change this !! +################################################################################ +data "terraform_remote_state" "shared_resources" { + backend = "s3" + config = { + bucket = "performance-cto-group" + key = "benchmarks/infrastructure/shared_resources.tfstate" + region = "us-east-1" + } +} diff --git a/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/variables.tf b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/variables.tf new file mode 100644 index 0000000..0a84a53 --- /dev/null +++ b/terraform/aurora-postgres16-1-primaries-0-replicas-r7g.2xlarge/variables.tf @@ -0,0 +1,5 @@ + + +variable "region" { + default = "us-east-2" +}