在Heat中完全使用aws的语法创建一套autoscaling的template。
流程:
Create
LaunchConfig (Create basic instance, send mem status to ALARM) ->
Create
ASGroup (Define instance num range) ->
Create
ScaleUpPolicy (+1 instance when mem_alarm_high) ->
Create
MEMAlarmHigh (Monitor mem status) ->
Create
ScaleDownPolicy (-1 instance when mem_alarm_low) ->
Create
MEMAlarmLow (monitor mem status)
Template模板:
"
ASGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"AvailabilityZones" : ["nova"],
"LaunchConfigurationName" : { "Ref" : "
LaunchConfig" },
"MinSize" : "1",
"MaxSize" : "10"
}
},
"
ScaleUpPolicy" : {
"Type" : "AWS::AutoScaling::ScalingPolicy",
"Properties" : {
"AdjustmentType" : "ChangeInCapacity",