[许多文档解释了如何解决此错误。检查了其中许多并尝试。但是,跟随他们并不能为我解决这个问题。
我得到的错误是
“调用PutLifecycleHook操作时发生错误(ValidationError):无法使用IAM角色arn:aws:iam :: XXXXXXXXX:role /发布测试消息到通知目标arn:aws:sqs:xxxxx:XXXXX:kubeeventsqueue.fifo kubeautoscaling。请检查您的目标和角色配置,然后尝试再次放置生命周期挂钩。“
我正在使用的命令是
aws自动缩放put-lifecycle-hook --lifecycle-hook-name终止--auto-scaling-group-name mygroupname --lifecycle-transition自动缩放:EC2_INSTANCE_TERMINATING --role-arn arn:aws:iam :: XXXXXX:role / kubeautoscaling --notification-target-arn arn:aws:sqs:xxxxx:XXXXXXX:kubeeventsqueue.fifo
注意,我已经用XXXXX代替了上面的实际ID。
[相关角色(arn:aws:iam :: XXXXXX:role / kubeautoscaling)与autoscaling.amazonaws.com具有信任关系。它还附加了“ AutoScalingNotificationAccessRole”策略。
[在进行测试时,我还尝试为所有SQS动作(SQS:*)添加一个“允许所有人”权限。 (尽管经过测试后将其删除)。
我还尝试过先创建SQS队列,然后配置--notification-target-arn,但没有成功。
任何对此的帮助将非常有帮助。
似乎您正在使用Amazon SQS FIFO(先进先出)队列。
FIFO队列与生命周期挂钩不兼容。
我不知道这是否是导致您当前错误的原因,但是它将阻止您所需的配置工作。