- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我更新与 aws_launch_template
关联的 AMI 时,Terraform 按预期创建启动模板的新版本,并更新 aws_autoscaling_group
以指向启动模板的新版本。
但是,没有执行“滚动更新”来使用基于新 AMI 的新实例切换现有实例,我必须手动终止现有实例,然后 ASG 使用新 AMI 启动新实例。
我必须对配置进行哪些更改才能让 Terraform 执行滚动更新?
现有代码如下:
resource "aws_launch_template" "this" {
name_prefix = "my-launch-template-"
image_id = var.ami_id
instance_type = "t3.small"
key_name = "testing"
vpc_security_group_ids = [ aws_security_group.this.id ]
lifecycle {
create_before_destroy = true
}
}
resource "aws_autoscaling_group" "this" {
name_prefix = "my-asg-"
vpc_zone_identifier = var.subnet_ids
target_group_arns = var.target_group_arns
health_check_type = "ELB"
health_check_grace_period = 300
default_cooldown = 10
min_size = 4
max_size = 4
desired_capacity = 4
launch_template {
id = aws_launch_template.this.id
version = aws_launch_template.this.latest_version
}
lifecycle {
create_before_destroy = true
}
}
最佳答案
我最近研究了完全相同的场景。
我们使用 random_pet
资源生成一个人类可读的随机名称,该名称与 AMI 更改相关联。
resource "random_pet" "ami_random_name" {
keepers = {
# Generate a new pet name every time we change the AMI
ami_id = var.ami_id
}
}
name_prefix
:
resource "aws_autoscaling_group" "this" {
name_prefix = "my-asg-${random_pet.ami_random_name.id}"
vpc_zone_identifier = var.subnet_ids
target_group_arns = var.target_group_arns
health_check_type = "ELB"
health_check_grace_period = 300
default_cooldown = 10
min_size = 4
max_size = 4
desired_capacity = 4
launch_template {
id = aws_launch_template.this.id
version = aws_launch_template.this.latest_version
}
lifecycle {
create_before_destroy = true
}
}
关于terraform - 使用启动模板滚动更新 ASG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60391297/
当我更新与 aws_launch_template 关联的 AMI 时,Terraform 按预期创建启动模板的新版本,并更新 aws_autoscaling_group 以指向启动模板的新版本。 但
我正在尝试使用eksctl在AWS EKS集群上创建Kubernetes,并使用适当的IAM权限启用了自动缩放功能。按照documentation: You can create a cluster
AWS ASG 冷却期(当我想更新我的自动扩展组时可以编辑)和扩展策略中的预热期有什么区别? 最佳答案 冷却时间防止失控的缩放事件。如果您的系统在 CPU 上运行很高,并且您的自动缩放规则添加了一个实
我已经成功创建了一个带有滚动更新的 ASG,该更新似乎有效。然而,我有一个相当独特的用例。我想要一个并行运行的更新策略(EC2_old 和 EC2_new)。意思是,我想确保新的在 15-30 分钟的
我们管理由多个国家/地区运营的 Azure 订阅。他们每个人都非常独立于他们可以做的事情(创建/编辑/删除资源)。良好实践指南已发送给他们,但我们(安全团队)希望确保系统地将一组 NSG 应用于创建的
我正在使用 AWS 和 Terraform 来启动基础设施,但特别是我在使用混合实例策略启动 ASG 时遇到了问题。我正在尝试启动一个 ASG,其中一个实例始终是按需提供的,其余位置(所有类型都相同)
我们最近部署了一个新应用程序,该应用程序使用配置为启动带有加密 EBS 根卷的实例的 ASG。我们有大量现有应用程序完全使用此设置工作,但我们的新 ASG 拒绝启动实例。这些实例甚至没有出现,我们在
在 AWS 的 Cloudformation 中,如何将自动缩放组 (ASG) 附加到 Application Load Balancer 目标组? 尽管可以使用 AQWS CLI 或 API,但似乎
我有一个脚本,它将使用新的 AMI_ID 创建一个新的 LaunchConfiguration,并保留所有现有的元数据(例如 user_data 等)。然后我触发 ASG 实例刷新以使用新的 LC 启
我有一个 Terraform 脚本,它创建一个启动配置、自动缩放组、一个 ALB、一个目标组和一个监听器。实例是使用自动缩放组启动的。 如何在同一脚本中通过 Terraform 在目标组中添加新启动的
使用 Ansible 我创建了一个 ubuntu 实例的 AMI,然后使用这个 AMI 创建一个 Launch 配置,然后更新和自动缩放组,我可以采取任何快捷方式来加速 ASG 和 AMI 步骤,需要
错误:-状态转换原因:Server.InternalErrorClient.InternalError:启动时出现客户端错误 当使用启动模板启动实例时,它工作正常,但如果我使用带有启动模板的 ASG,
有没有办法从 ASG 或 UserData 中提取或导出 InstanceID,以便我可以将其作为资源中的变量传递,例如 ${InstanceID}?我有一个用于服务的 CF NFS 模板,主要用于它
我有一个 CloudFormation 模板,用于创建 AWS::ElasticBeanstalk::Environment 和 AWS::ElasticLoadBalancingV2::Target
我正在使用我的一位讲师创建的自定义游戏引擎。 我有 4 个输入可供用户玩乒乓游戏。这些输入按预期工作,但是一旦 Sprite (乒乓 Racket )接触到顶部或底部,它们就会卡在那里并且无法移动。添
这是我的对流层文件的相关部分: LaunchConfiguration = t.add_resource(LaunchConfiguration( "LaunchConfigA", I
我正在尝试创建一个 SNS 主题并在 ASG 中引用该主题,以便在实例启动或终止时获取通知。这是我正在使用的对流层代码的一部分: email_topic = self.template.add
我有一个由 CloudFormation 创建的自动缩放组。当发生扩展或缩减事件时,我配置了一个 SNS 主题来触发 lambda 函数。一切都按预期工作,除了当我删除我的 CloudFormatio
我尝试使用以下代码从 ASG 获取 ip,它是使用 Terraform 创建的?这是一个好习惯还是坏习惯?但我得到了正确的输出,正如我所料。 data "aws_instances" "test" {
谁能给我解释一下吗?我会很高兴举一些例子?也许是一个虚拟的例子呵呵。我想通过一个很好的例子来真正了解何时以及为何使用它:) 谢谢:) 最佳答案 AutoScalingScheduledAction当您
我是一名优秀的程序员,十分优秀!