node.js - 工作线程启动时出现 Elastic Beanstalk SQSD 错误

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

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

我不知道是否相关,有时我会在屏幕上看到此错误: IamInstanceProfile:环境没有与其关联的 IAM 实例配置文件。为了提高部署速度,请将 IAM 实例配置文件与环境关联。

我已经向 SQS 授予了权限并设置了 key 和 secret 。我不知道还能做什么。

附上日志。

非常感谢。

最佳答案

您需要拥有具有适当权限的 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 .

关于node.js - 工作线程启动时出现 Elastic Beanstalk SQSD 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23922231/

相关文章:

postgresql - AWS 安全组错误

php - AWS Elastic Beanstalk 更改挂载目录的权限

javascript - 什么使 JavaScript 函数异步?

amazon-web-services - 如何获取AWS Cloudformation模板文件中的用户名?

command-line - 如何获取 Amazon EC2 集群中所有节点的公有 IP 地址?

amazon-web-services - 从服务器上的容器访问AWS S3存储桶

java - 如何在 AWS Elastic Beanstalk 上安装/运行 Spark Java 框架?

javascript - 用 var 重新声明对象

javascript - 在 Node.JS 中从 AWS Secrets Manager 设置 Secrets

html - Chrome 16 网络套接字 hybi-17