AWS 文档 SDK 示例
将 PutLifecycleHook 与 CLI 配合使用
以下代码示例演示如何使用 PutLifecycleHook。
- CLI
-
- AWS CLI
-
示例 1:创建生命周期挂钩
此示例创建一个生命周期挂钩,该挂钩将在任何新启动的实例上调用,超时时间为 4800 秒。这对于在用户数据脚本完成之前保持实例处于等待状态,或使用 EventBridge 调用 AWS Lambda 函数很有用。
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-namemy-asg\ --lifecycle-hook-namemy-launch-hook\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING\ --heartbeat-timeout4800此命令不生成任何输出。如果已存在同名的生命周期挂钩,则该挂钩将被新的生命周期挂钩覆盖。
有关更多信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Amazon EC2 Auto Scaling 生命周期挂钩。
示例 2:发送 Amazon SNS 电子邮件以通知您实例状态转换
此示例创建一个包含 Amazon SNS 主题和 IAM 角色的生命周期挂钩,用于在实例启动时接收通知。
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-namemy-asg\ --lifecycle-hook-namemy-launch-hook\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING\ --notification-target-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic\ --role-arnarn:aws:iam::123456789012:role/my-auto-scaling-role此命令不生成任何输出。
有关更多信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Amazon EC2 Auto Scaling 生命周期挂钩。
示例 3:向 Amazon SQS 队列发布消息
此示例创建一个生命周期挂钩,该挂钩将包含元数据的消息发布到指定的 Amazon SQS 队列。
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-namemy-asg\ --lifecycle-hook-namemy-launch-hook\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING\ --notification-target-arnarn:aws:sqs:us-west-2:123456789012:my-sqs-queue\ --role-arnarn:aws:iam::123456789012:role/my-notification-role\ --notification-metadata"SQS message metadata"此命令不生成任何输出。
有关更多信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Amazon EC2 Auto Scaling 生命周期挂钩。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutLifecycleHook
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 1:此示例将指定的生命周期挂钩添加到指定的自动扩缩组。
Write-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName "myLifecycleHook" -LifecycleTransition "autoscaling:EC2_INSTANCE_LAUNCHING" -NotificationTargetARN "arn:aws:sns:us-west-2:123456789012:my-sns-topic" -RoleARN "arn:aws:iam::123456789012:role/my-iam-role"-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 PutLifecycleHook。
-
- Tools for PowerShell V5
-
示例 1:此示例将指定的生命周期挂钩添加到指定的自动扩缩组。
Write-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName "myLifecycleHook" -LifecycleTransition "autoscaling:EC2_INSTANCE_LAUNCHING" -NotificationTargetARN "arn:aws:sns:us-west-2:123456789012:my-sns-topic" -RoleARN "arn:aws:iam::123456789012:role/my-iam-role"-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V5)》中的 PutLifecycleHook。
-