【发布时间】:2019-09-09 02:33:56
【问题描述】:
我们使用的是 Elastic Beanstalk(Postgres,Node.js 在 64 位 Amazon Linux/3.2.0 上运行),我今天醒来时收到严重健康警告,导致所有请求都以 502 Bad Gateway 响应。自 2019 年 4 月 9 日以来我没有手动部署,所以不知道为什么会突然发生这种情况。
我们得到的原始错误是:
Application deployment failed at 2019-04-18T15:39:51Z with exit status 1 and error: Package listed in EBExtension failed to install.
Yum does not have postgresql96-devel available for installation.
我继承的repo有点乱,我在三个不同的文件中找到了postgres96-devel的实例:
- .ebextensions/config.yml
- .ebextensions/proxy.config
- proxy.config
我的 config.yml 文件如下所示:
packages:
rpm:
postgresql: https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-ami201503-96-9.6-2.noarch.rpm
yum:
postgresql96-devel: []
perl-CPAN: []
我注意到 rpm 链接返回 404,在寻找更好的 url 时,我在 Postgres RPM page 上看到了这个警告:
截至 2019 年 4 月 15 日,每个发行版只有一个存储库 RPM,并且 它包括所有可用 PostgreSQL 的存储库信息 发布
我尝试过的:
- 重新部署 2019 年 4 月 9 日最后成功的构建
- 将 config.yml 文件更改为如下所示
// 很明显我在这里打嗝
packages:
rpm:
postgresql: https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum:
postgresql11-devel: []
perl-CPAN: []
- According to this AWS support article,我终止了实例,让 EB 启动一个新实例。
通过所有这些试验 + 重新部署,我仍然看到如下错误:
应用程序部署在 2019-04-18T17:40:41Z 失败,退出状态为 1 并出现错误:EBExtension 中列出的包安装失败。
Yum 没有可供安装的 postgresql96-devel。 应用程序版本不正确“app-v1_4_1-190418_084747”(部署 98)。预期版本“app-v1_4_1-190409_140626”(部署 104)。 进程默认状态不正常 42 分钟 (Target.FailedHealthChecks)。
我不确定为什么它抱怨 postgres96-devel,因为我将配置文件更改为指向 postgres11-devel。
任何想法如何让事情恢复正常运行?
【问题讨论】:
标签: postgresql amazon-web-services amazon-elastic-beanstalk