From 47c22ee10ef3bcc264933ff54b02b3aa7d69af42 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Tue, 8 Oct 2024 10:10:40 -0400 Subject: [PATCH] update bastion machine type to variable in AWS HA terraform (#47297) * update bastion machine type to variable in AWS HA terraform * Include instance type variables in README and Makefile for AWS HA terraform * update comments and spacing for aws ha terraform Co-authored-by: Gus Luxton * fix variable assignment for Makefile,README in aws ha terraform --------- Co-authored-by: Gus Luxton --- .../aws/terraform/ha-autoscale-cluster/Makefile | 17 +++++++++++++++++ .../terraform/ha-autoscale-cluster/README.md | 16 ++++++++++++++++ .../terraform/ha-autoscale-cluster/bastion.tf | 2 +- .../aws/terraform/ha-autoscale-cluster/vars.tf | 6 ++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/examples/aws/terraform/ha-autoscale-cluster/Makefile b/examples/aws/terraform/ha-autoscale-cluster/Makefile index 08511b95cc6..331959ff44e 100644 --- a/examples/aws/terraform/ha-autoscale-cluster/Makefile +++ b/examples/aws/terraform/ha-autoscale-cluster/Makefile @@ -21,6 +21,23 @@ TF_VAR_license_path ?= # FIPS 140-2 images are also available for Enterprise customers, look for '-fips' on the end of the AMI's name TF_VAR_ami_name ?= + +# Instance types used for authentication server auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_auth_instance_type ?= m7g.large + +# Instance types used for proxy server auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_proxy_instance_type ?= m7g.large + +# Instance types used for Teleport node auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_node_instance_type ?= t4g.medium + +# Instance type used for bastion server +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_bastion_instance_type ?= t4g.medium + # Route 53 zone to use, should be the zone registered in AWS, e.g. example.com TF_VAR_route53_zone ?= diff --git a/examples/aws/terraform/ha-autoscale-cluster/README.md b/examples/aws/terraform/ha-autoscale-cluster/README.md index bd08ff909e1..4fd138f0a43 100644 --- a/examples/aws/terraform/ha-autoscale-cluster/README.md +++ b/examples/aws/terraform/ha-autoscale-cluster/README.md @@ -48,6 +48,22 @@ export TF_VAR_cluster_name="teleport.example.com" # FIPS 140-2 images are also available for Enterprise customers, look for '-fips' on the end of the AMI's name export TF_VAR_ami_name="teleport-ent-16.4.2-arm64" +# Instance types used for authentication server auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_auth_instance_type ?= m7g.large + +# Instance types used for proxy auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_proxy_instance_type ?= m7g.large + +# Instance types used for Teleport node auto scaling group +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_node_instance_type ?= t4g.medium + +# Instance type used for bastion server +# This should match to the AMI instance architecture type, ARM or x86 +TF_VAR_bastion_instance_type ?= t4g.medium + # AWS SSH key name to provision in installed instances, should be available in the region export TF_VAR_key_name="example" diff --git a/examples/aws/terraform/ha-autoscale-cluster/bastion.tf b/examples/aws/terraform/ha-autoscale-cluster/bastion.tf index 26d9d6f3763..3d26ef7f07a 100644 --- a/examples/aws/terraform/ha-autoscale-cluster/bastion.tf +++ b/examples/aws/terraform/ha-autoscale-cluster/bastion.tf @@ -5,7 +5,7 @@ resource "aws_instance" "bastion" { count = "1" ami = data.aws_ami.base.id - instance_type = "t4g.medium" + instance_type = var.bastion_instance_type key_name = var.key_name associate_public_ip_address = true source_dest_check = false diff --git a/examples/aws/terraform/ha-autoscale-cluster/vars.tf b/examples/aws/terraform/ha-autoscale-cluster/vars.tf index cfca1cde15f..21e45b9e943 100644 --- a/examples/aws/terraform/ha-autoscale-cluster/vars.tf +++ b/examples/aws/terraform/ha-autoscale-cluster/vars.tf @@ -38,6 +38,12 @@ variable "node_instance_type" { default = "t4g.medium" } +// Instance type used for bastion server +variable "bastion_instance_type" { + type = string + default = "t4g.medium" +} + // SSH key name to provision instances withx variable "key_name" { type = string