工作人员启动时出现Elastic Beanstalk SQSD错误

时间:2014-05-28 21:32:35

标签: node.js amazon-web-services elastic-beanstalk amazon-sqs

我已经部署了一个nodejs worker。但是,每当我尝试启动它时,它会变为红色并显示此错误: 错误实例:i-6eef007a模块:AWSEBAutoScalingGroup ConfigSet:null命令在实例上失败。返回码:1输出:构建期间发生错误:命令01-start-sqsd失败。

我不知道它是否相关,有时我在屏幕上出现此错误: IamInstanceProfile:环境没有与之关联的IAM实例配置文件。要提高部署速度,请将IAM实例配置文件与环境相关联。

我已经获得了SQS的许可,并设置了关键和秘密。我不知道还能做什么。

记录附件。

非常感谢。

1 个答案:

答案 0 :(得分:5)

您需要拥有具有相应权限的IAM角色才能创建Elastic Beanstalk工作线程环境。

IAM角色应具有以下权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "QueueAccess",
      "Action": [
        "sqs:ChangeMessageVisibility",
        "sqs:DeleteMessage",
        "sqs:ReceiveMessage"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Sid": "MetricsAccess",
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}               

详细文档:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.roles.aeb.html#AWSHowTo.iam.policies.actions.worker

对于调试,您可以ssh到实例并查看/var/log/aws-sqsd/default.log以查看日志。如果您想避免ssh访问实例,您还可以从AWS控制台快照日志here

您可以阅读有关工作人员角色环境here的更多信息。