我们正在为一组VM使用云形成模板,每次代码部署后,我们都需要在模板参数上编辑软件包版本以进行自动扩展,以从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"
}
}
},
答案 0 :(得分:1)
您可以查看文档并查看您在CF模板上修改的属性上的Update requires:
字段。
如果显示Replacement
,它将使用新的逻辑ID
如果它显示Some Interruption
它将使实例不可用,在ec2情况下,重新启动它,但不会重新创建实例,保持相同的逻辑ID
如果它显示No interruption
,它将不会影响实例
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html