gpt4 book ai didi

amazon-web-services - 为什么在更新期间不使用 AWS Cloudformation UpdatePolicy PauseTime

转载 作者:行者123 更新时间:2023-12-03 07:27:46 25 4
gpt4 key购买 nike

我设置了一个 CloudFormation 堆栈,它创建一个自动缩放组 (ASG) 以及一些其他不相关的项目。

ASG有更新政策如下:

    UpdatePolicy:
AutoScalingReplacingUpdate:
WillReplace: 'false'
AutoScalingScheduledAction:
IgnoreUnmodifiedGroupSizeProperties: 'true'
AutoScalingRollingUpdate:
MinInstancesInService: '0'
MinSuccessfulInstancesPercent: '50'
MaxBatchSize: '2'
PauseTime: PT10M
WaitOnResourceSignals: 'true'

作为发布过程的一部分,我们更新了 CloudFormation 中的启动配置。这会触发 ASG 进行更新,这是我们所期望的。

有一个生命周期 Hook ,设置了 600 秒的超时值,以防止 EC2 实例在完成一些检查之前进入服务状态。如果这些检查失败,我会向 ASG 发回错误信号,并向生命周期 Hook 发送 ABANDON。

/opt/aws/bin/cfn-signal -e 1 --stack ${AWS::StackId} --resource MyASG --region ${AWS::Region}

INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
ASG_NAME=$(aws ec2 --region ${AWS::Region} describe-tags --filters Name=resource-type,Values=instance Name=resource-id,Values=$(/opt/aws/bin/ec2-metadata -i | cut -d\: -f2 | tr -d '[:space:]') Name=key,Values='aws:autoscaling:groupName' | jq '.Tags[] | .Value' -r)
HOOK_NAME=$(aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name $ASG_NAME --region ${AWS::Region} |jq -r '.LifecycleHooks[0].LifecycleHookName')
aws autoscaling complete-lifecycle-action --lifecycle-hook-name $HOOK_NAME --auto-scaling-group-name $ASG_NAME --lifecycle-action-result $1 --instance-id $INSTANCE_ID --region ${AWS::Region}

此操作的作用是取消并终止 EC2 实例。我遇到的问题是,CloudFormation 堆栈中的 ASG 继续处于 UPDATE_IN_PROGRESS 状态一小时,然后因“组不稳定”错误而失败,并且一切都开始回滚。

由于 PauseTime 设置为“PT10M”,我希望它最多等待 10 分钟,并在发送 cfn-signal 错误信号后立即开始回滚。

我无法确定为什么堆栈要等待一个小时。这里有什么想法吗?

最佳答案

考虑到您的用例,您可以从 ASG 中删除 AutoScalingReplacingUpdate 属性。据我所知, AutoScalingReplacingUpdate 和 AutoScalingRollingUpdate 通常是互斥的。这也许可以解释为什么不考虑 PT10M。

另外,PauseTime是新启动的实例触发SUCCESS信号的时间上限。我可能会给 ABANDON 生命周期事件的发生留出一些余地,也许一两分钟。

关于amazon-web-services - 为什么在更新期间不使用 AWS Cloudformation UpdatePolicy PauseTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57824145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com