AWS CloudFormation
User Guide (API 版本 2010-05-15)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon EC2 Auto Scaling AutoScalingGroup LifecycleHookSpecification

LifecycleHookSpecification 属性类型为 Auto Scaling 组定义生命周期挂钩,它指定在 Auto Scaling 启动或终止实例时执行的操作。有关更多信息,请参阅 Auto Scaling 用户指南 中的 Auto Scaling 生命周期挂钩

AWS::AutoScaling::AutoScalingGroup 资源的 LifecycleHookSpecificationList 属性包含一个 LifecycleHookSpecification 属性类型列表。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "DefaultResult" : String, "HeartbeatTimeout" : Integer, "LifecycleHookName" : String, "LifecycleTransition" : String, "NotificationMetadata" : String, "NotificationTargetARN" : String, "RoleARN" : String }

属性

有关每个属性 (包括约束) 的更多信息,请参阅 Auto Scaling API 参考 中的 PutLifecycleHook

DefaultResult

在生命周期挂钩超时到期或发生意外故障时 Auto Scaling 组应执行的操作。

有效值CONTINUEABANDON (默认值)

必需:否

类型:字符串

更新要求无需中断

HeartbeatTimeout

在生命周期挂钩超时到期之前经过的最长时间 (秒)。如果生命周期挂钩超时,Auto Scaling 将执行默认操作。

必需:否

类型:整数

更新要求无需中断

LifecycleHookName

生命周期钩子的名称。有关约束,请参阅 Auto Scaling API 参考 中的 PutLifecycleHook

必需:是

类型:字符串

更新要求无需中断

LifecycleTransition

要将生命周期挂钩附加到的 EC2 实例的状态。有关生命周期挂钩类型列表,请参阅 Auto Scaling API 参考 中的 DescribeLifecycleHookTypes

必需:是

类型:字符串

更新要求无需中断

NotificationMetadata

Auto Scaling 向通知目标发送消息时包含的其他信息。有关约束,请参阅 Auto Scaling API 参考 中的 PutLifecycleHook

必需:否

类型:字符串

更新要求无需中断

NotificationTargetARN

在实例处于生命周期挂钩的转换状态时 Auto Scaling 将通知发送到的目标的 Amazon 资源名称 (ARN)。通知目标可以是 Amazon SQS 队列或 Amazon SNS 主题。

必需:否

类型:字符串

更新要求无需中断

RoleARN

IAM 角色的 ARN,该角色允许 Auto Scaling 组发布到指定通知目标。

必需:否

类型:字符串

更新要求无需中断

示例

以下代码段为 AWS::AutoScaling::AutoScalingGroup 资源指定一个生命周期挂钩。

JSON

{ "Resources": { "ASG": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "AvailabilityZones": [ { "Ref": "AZParameter" } ], "VPCZoneIdentifier": { "Ref": "Subnets" }, "DesiredCapacity": "0", "MaxSize": "0", "MinSize": "0", "LaunchConfigurationName": { "Ref": "LC" }, "LifecycleHookSpecificationList": [ { "LifecycleTransition": "autoscaling: EC2_INSTANCE_LAUNCHING", "LifecycleHookName": "myFirstLifecycleHook", "HeartbeatTimeout": 4800, "NotificationTargetARN": { "Fn::GetAtt": [ "SQS", "Arn" ] } } ] } }, "SQS": { "Type": "AWS::SQS::Queue" } } }

YAML

Resources: ASG: Type: 'AWS::AutoScaling::AutoScalingGroup' Properties: AvailabilityZones: - !Ref AZParameter VPCZoneIdentifier: !Ref Subnets DesiredCapacity: '0' MaxSize: '0' MinSize: '0' LaunchConfigurationName: !Ref LC LifecycleHookSpecificationList: - LifecycleTransition: 'autoscaling:EC2_INSTANCE_LAUNCHING' LifecycleHookName: 'myFirstLifecycleHook' HeartbeatTimeout: 4800 NotificationTargetARN: !GetAtt SQS.Arn SQS: Type: 'AWS::SQS::Queue'

另请参阅

本页内容: