我已经部署了一个 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": "*"
}
]
}
为了进行调试,您可以 ssh 到实例并查看/var/log/aws-sqsd/default.log 以查看日志。如果您想避免通过 ssh 连接到实例,您还可以从 AWS 控制台对日志进行快照,如下所示 here .
您可以阅读有关辅助角色环境的更多信息 here .
关于node.js - 工作线程启动时出现 Elastic Beanstalk SQSD 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23922231/