1.检查AMT标签是否正确
您需要检查每个实例上是否有名为“Schedule”和“ScheduleName”的ec2标签。标签“Schedule”应设置为“True”,而标签“ScheduleName”应设置为您想要调度的计划名称。如果标签名称或标签值有误,则可能导致调度程序无法识别实例并无法按计划执行操作。
以下是示例代码,用于将这些标签添加到实例中:
aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Schedule,Value=True Key=ScheduleName,Value=my-schedule
2.检查IAM角色
调度程序需要一个IAM角色来执行EC2实例上的操作。确保IAM角色与您的计划名称一致。角色必须具有充足的权限来执行启动,停止或重启实例操作。
以下是示例代码,用于创建一个IAM角色:
aws iam create-role --role-name my-schedule-role --assume-role-policy-document file://my-schedule-policy.json
3.检查CloudWatch事件
如果您的调度程序仍然无法识别您的实例,您需要检查与CloudWatch事件相关的问题。确保事件规则正确设置,并且与您的实例匹配。请注意,如果您使用了多个调度器,则必须创建多个事件规则。
以下是示例代码,用于创建一个CloudWatch事件规则:
aws events put-rule --name my-schedule --schedule-expression 'cron(0 1 * * ? *)'
完成这些步骤后,您应该可以开始使用AWS实例调度程序来按计划启动,停止或重启EC2实例。
上一篇:AWS实例调度程序名称未知