aws terraform_在AWS第1部分中使用Terraform自动缩放组:基本步骤

林运浩
2023-12-01

aws terraform

因此,您想使用Terraform在AWS上创建一个自动缩放组。 以下是达到此目的的最少步骤。

在编写实际代码之前,应指定aws terraform提供程序以及provider.tf文件上的区域。

 provider "aws" { 
   version = "~> 2.0" 
   region = "eu-west-1"  }  terraform { 
   required_version = "~>0.12.0"  } 

然后我们将

第一步是在variables.tf文件上定义一些变量。

 variable "vpc_id" { 
   type = string 
   default = "your-vpc-id"  }  variable "launch_configuration_name" { 
   type = string 
   default = "launch_configuration_name"  }  variable "auto_scalling_group_name" { 
   type = string 
   default = "auto_scalling_group_name"  }  variable "image_id" { 
   type = string 
   default = "image-id-based-on-the-region"  }  variable "instance_type" { 
   type = "string" 
   default = "t2.micro"  } 

然后,我们将在autoscalling_group.tf文件上具有自动缩放组配置。

 data "aws_subnet_ids" "subnets" { 
   vpc_id = var.vpc_id  }  data "aws_subnet" "subnet_values" { 
   for_each = data.aws_subnet_ids.subnets.ids 
   id = each.value  }  resource "aws_launch_configuration" "launch-configuration" { 
   name = var.launch_configuration_name 
   image_id = var.image_id 
   instance_type = var.instance_type  }  resource "aws_autoscaling_group" "autoscalling_group_config" { 
   name = var.auto_scalling_group_name 
   max_size = 3 
   min_size = 2 
   health_check_grace_period = 300 
   health_check_type = "EC2" 
   desired_capacity = 3 
   force_delete = true 
   vpc_zone_identifier = [ for s in data.aws_subnet.subnet_values: s. id ] 
   launch_configuration = aws_launch_configuration.launch-configuration.name 
   lifecycle { 
     create_before_destroy = true 
   }  } 

让我们分解一下。 需要vpc id才能识别自动伸缩组使用的子网。 因此,值vpc_zone_identifier将从定义的vpc派生子网。

然后,您必须创建启动配置。 启动配置应指定基于您所在地区和实例类型的映像ID。

要执行此操作,前提是您拥有aws凭证,因此必须进行初始化,然后应用

 > terraform init  > terraform apply 

翻译自: https://www.javacodegeeks.com/2020/01/autoscaling-groups-with-terraform-on-aws-part-1-basic-steps.html

aws terraform

 类似资料: