Go服务器拒绝EBS工作层上SQS的cronJob生成的消息

时间:2019-07-16 19:17:13

标签: amazon-web-services go amazon-elastic-beanstalk vpc

我目前正在尝试将golang包部署到AWS ElasticBeanstalk,它将通过cron.yaml生成SQS消息。当我从我的应用中提取日志时,表明我的go应用正在拒绝SQS的POST请求。

/var/log/nginx/error.log:

  

* 156 connect()失败(111:连接被拒绝),同时连接到上游,客户端:127.0.0.1,服务器:,请求:“ POST / runTask   HTTP / 1.1”,上游:“ http://127.0.0.1:5000/runTask”,主机:   “本地主机”

/var/log/nginx/access.log:

  

[14 / Jul / 2019:19:15:00 +0000]“ POST / runTask HTTP / 1.1” 502173“-”   “ aws-sqsd / 2.4”“-”

我目前正在运行EBS提供的所有默认设置的环境。我注意到EBS将ec2实例放入我的数据库VPC中,但我不认为这会造成麻烦。

以下是go服务器正在运行的代码:

application.go:

func buildHandler(res http.ResponseWriter, req *http.Request) {
    go run()
    res.WriteHeader(http.StatusOK)
    res.Write([]byte(""))
}

func main() {
    http.HandleFunc("/runTask", buildHandler)
    http.ListenAndServe(":5000", nil)
}

cron.yaml:

version: 1
cron:
  - name: "Run Build task"
    url: "/runTask"
    schedule: "*/5 * * * *"

我对整个AWS堆栈还很陌生,我很想听听我所缺少的内容,或者为什么它无法按我期望的方式工作。

0 个答案:

没有答案