搭配使用 PutLifecycleHook 與 CLI - AWS SDK 程式碼範例

AWS文件開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例。

搭配使用 PutLifecycleHook 與 CLI

下列程式碼範例示範如何使用 PutLifecycleHook

CLI
AWS CLI

範例 1:建立 lifecycle hook

此範例建立可在任何新啟動的執行個體上調用的 lifecycle hook,逾時時間為 4800 秒。這有助於將執行個體維持在等待狀態,直到使用者資料指令碼完成,或使用 EventBridge 調用 AWS Lambda 函式。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --heartbeat-timeout 4800

此命令不會產生輸出。如果具有相同名稱的 lifecycle hook 已存在,則會被新的 lifecycle hook 覆寫。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 2:傳送 Amazon SNS 電子郵件訊息通知您執行個體狀態轉移

此範例建立具有 Amazon SNS 主題和 IAM 角色的 lifecycle hook,以用於在執行個體啟動時接收通知。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --role-arn arn:aws:iam::123456789012:role/my-auto-scaling-role

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 3:發佈訊息至 Amazon SQS 佇列

此範例會建立 lifecycle hook,將具有中繼資料的訊息發佈至指定的 Amazon SQS 佇列。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sqs:us-west-2:123456789012:my-sqs-queue \ --role-arn arn:aws:iam::123456789012:role/my-notification-role \ --notification-metadata "SQS message metadata"

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutLifecycleHook

PowerShell
Tools for PowerShell V4

範例 1:此範例將指定的 lifecycle hook 新增至指定的 Auto Scaling 群組。

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 參考 (V4)》中的 PutLifecycleHook

Tools for PowerShell V5

範例 1:此範例將指定的 lifecycle hook 新增至指定的 Auto Scaling 群組。

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 參考 (V5)》中的 PutLifecycleHook