在Terraform中为价格配置AWS自动扩展组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Terraform中为价格配置AWS自动扩展组?相关的知识,希望对你有一定的参考价值。
我创建了一个AMI,当使用systemd启动计算机时,该AMI将执行工作。由于工作不是时间紧迫的,因此我想使用AWS自动缩放组来优化成本。我正在使用Terraform来管理我的基础架构。
这是我到目前为止的内容:
# ...
resource "aws_launch_template" "default"
name = "autoscaling-launch-template"
capacity_reservation_specification
capacity_reservation_preference = "open"
credit_specification
cpu_credits = "standard"
iam_instance_profile
name = aws_iam_instance_profile.default.name
image_id = data.aws_ami.default.id
instance_market_options
market_type = "spot"
instance_type = "t2.small"
key_name = var.master_key
monitoring
enabled = true
placement
availability_zone = "us-east-1a"
vpc_security_group_ids = [ "$aws_security_group.default.id" ]
tag_specifications
resource_type = "instance"
user_data = base64encode(local.user_data)
resource "aws_autoscaling_group" "default"
name = "my-autoscaling-group"
min_size = 1
max_size = 5
desired_capacity = 2
availability_zones = [ "us-east-1a" ]
launch_template
id = aws_launch_template.default.id
version = "$Latest"
lifecycle
create_before_destroy = true
# ...
我想实现以下目标:
- 现货实例价格低时,扩大到最大值
- 当现货实例价格很高时,请缩小到最小值
“高”和“低”价格应大致使用滚动平均值或类似方法定义。我不想维持最低和最高价格。
我一直想使用t2.small
。
如何在Terraform中实现这一目标?
答案
terraform注册表具有一个不错的经过验证的模块,用于创建自动缩放组:
https://registry.terraform.io/modules/terraform-aws-modules/autoscaling/aws/3.4.0
您可以使用spot_price
变量将竞价型实例启动到ASG中。
以上是关于在Terraform中为价格配置AWS自动扩展组?的主要内容,如果未能解决你的问题,请参考以下文章
您可以将 AWS Multi-Attach EBS 卷挂载到 Terraform 中的自动扩展组吗?
Terraform 中的 ECS 服务如何连接到 AWS 自动缩放组
使用 terraform 自动扩展 AWS spotfleet 会重置目标容量