我们对一组虚拟机使用云形成模板,每次代码部署后,我们都需要编辑模板参数上的包版本以进行自动缩放,以从 s3 存储桶中获取最新的包。
问题是,编辑云形成模板会触发基于云形成的实例升级(这涉及销毁现有机器并从头开始创建新机器,这非常耗时)。
我们有什么办法可以阻止这种情况发生吗?
基本上,我们不需要云形成模板来在编辑它时销毁并重新创建实例。?
编辑:这是我的自动缩放组设置
"*********":{
"Type":"AWS::AutoScaling::AutoScalingGroup",
"Properties":{
"AvailabilityZones":[
{
"Ref":"PrimaryAvailabilityZone"
}
],
"Cooldown":"300",
"DesiredCapacity":"2",
"HealthCheckGracePeriod":"300",
"HealthCheckType":"EC2",
"LoadBalancerNames":[
{
"Ref":"elbxxbalancer"
}
],
"MaxSize":"8",
"MinSize":"1",
"VPCZoneIdentifier":[
{
"Ref":"PrivateSubnetId"
}
],
"Tags":[
{
"Key":"Name",
"Value":"my-Server",
"PropagateAtLaunch":"true"
},
{
"Key":"VPCRole",
"Value":{
"Ref":"VpcRole"
},
"PropagateAtLaunch":"true"
}
],
"TerminationPolicies":[
"Default"
],
"LaunchConfigurationName":{
"Ref":"xxlaunch"
}
},
"CreationPolicy":{
"ResourceSignal":{
"Timeout":"PT10M",
"Count":"1"
}
},
"UpdatePolicy":{
"AutoScalingRollingUpdate":{
"MinInstancesInService":"1",
"MaxBatchSize":"1",
"PauseTime":"PT10M",
"WaitOnResourceSignals":"true"
}
}
},
最佳答案
您可以查看文档并查看您在 CF 模板上修改的属性的更新要求:
字段。
如果显示Replacement
,它将使用新的逻辑 ID 重新创建实例
如果它显示Some Interruption
,在 ec2 的情况下,它将使实例不可用,重新启动它,但不会重新创建实例,保持相同的逻辑 ID
如果显示无中断
,则根本不会影响实例
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html
关于amazon-web-services - 编辑云形成模板会终止现有实例并创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48204389/