问题标签 [ebextensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
215 浏览

amazon-elastic-beanstalk - EB:在配置更改时触发容器命令/部署脚本

我在 Elastic Beanstalk 上运行我的 Web 服务器,并使用 Papertrail 进行日志记录。我正在使用官方 .ebextensions 脚本在部署期间设置 papertrail,但我遇到了问题。当 remote_syslog 将日志上传到 papertrail 时,我将环境变量用作我的主机名的一部分,该主机名用作发送者,虽然这在部署期间工作正常,但当01_set_logger_hostname触发容器命令时,每当我通过修改环境的配置来更改环境变量时,我都会遇到问题,因为看起来eb config调用只会重新启动应用程序服务器,不会运行部署期间运行的任何脚本,包括 ebextensions 容器命令。

如您所见,由于我的主机名依赖于${SOME_VARIABLE},因此每当${SOME_VARIABLE}eb config.

有没有办法在运行命令时触发脚本eb config运行,这样我不仅可以重新启动我的 Web 应用程序,还可以重新配置并remote_syslog使用更新的主机名重新启动?

0 投票
1 回答
527 浏览

amazon-web-services - 在 Elastic beanstalk 和 EC2 上部署 ebextensions

最近,我在使用部署到 Elastic Beanstalk 和 EC2 的应用程序时遇到了超时问题。最初,60 秒后错误为 504,在阅读了一些论坛/讨论后,我将 EC2 负载均衡器空闲时间更改为 600 秒。当我再次尝试时,它在 60 秒后变为错误 502(另一个超时)。因此,我相信这个超时来自应用程序本身,我试图将 ebextension 文件包含到项目目录中。

我将项目打包为战争并将其上传到 aws tomcat 服务器。我的war文件结构如下:

我在 .ebextensions 位置方面做错了吗?似乎它没有读取配置文件,或者配置文件无法解决我的超时问题?

.ebextensions 中配置文件的内容是:

希望你们中的任何人都可以提供帮助。谢谢你。

0 投票
1 回答
1020 浏览

amazon-web-services - AWS EB + nginx:更新 access.log 格式以混淆敏感的获取请求参数

我遇到了与此问题中所述相同的问题:如何不在 nginx 访问日志中记录获取请求参数?

但是,由于 nginx 是通过 AWS 配置的,所以我在部署时不确定如何修改它。我不清楚这些配置的去向。AWS 支持无法提供帮助,因为这是 nginx 而不是 AWS 的问题。

任何可以为我指明正确方向的信息将不胜感激。

到目前为止,我所拥有的只是我可以./ebextensions/nginx.config在部署到 EB 的存储库中进行修改,但其中需要设置的内容尚不清楚。

==================================

好的,所以一些有趣的更新。基本上,AWS EB 环境为其实例设置了默认的 nginx.configs。在这些配置中,它包括某个路径中的所有 *.config 文件,包括一个包含服务器指令的自动生成文件。它将所有这些注入到 nginx.config 的 http 指令中。

确实可以选择完全覆盖 nginx 配置。但是,作为一个对那里发生的一切以及这样做的潜在危险几乎一无所知的人,我认为最好不要尽可能地修改默认行为。因此,我决定找到一种方法来修改这个自动生成的 .config 文件并重新启动 nginx。

到目前为止,我所拥有的是我的./ebextensions/01_proxy.config

files:行声明我正在创建一些文件以添加到 EC2 实例。在这里,我的目标是创建一个 bash 脚本来完成我的任务。如评论中所述,我的任务是首先使用 log_format 添加一行。然后,找到带有 的行server{,在它下面我需要locations /my/sensitive/endpoint完整地注入指令。

对于编写这个我完全不熟悉的 bash 脚本的任何帮助,将不胜感激。

0 投票
1 回答
668 浏览

amazon-web-services - AWS Elastic Beanstalk .ebestensions/nginx/nginx.conf 没有覆盖 AWS 的默认 nginx.conf

我有一个 AWS 环境,我正在尝试覆盖使用的 nginx.conf。

根据他们的文档,这可以通过在以下位置包含您自己的文件来完成.ebextensions/nginx/nginx.conf

要完全覆盖 Elastic Beanstalk 的默认 nginx 配置,请在源包中的 .ebextensions/nginx/nginx.conf 中包含一个配置

我这样做无济于事。我已经尝试创建一个全新的应用程序环境,以确保它不是由于实例没有完全重新启动,但原始nginx.conf的仍在使用中。我还有另一个.ebextensions/配置文件,它正在按预期创建一个文件。

关于我为什么nginx.conf不服用的任何线索?我可以提供的任何细节可以提供一些见解吗?我在里面搜索了错误,eb-activity.log但没有看到任何错误。它确实说它是日志中inflated.ebextensions/nginx/目录和文件,它对源包中的其余文件/目录执行此操作。但是,它没有任何地方表明它试图使用我的 nginx.conf。created.ebextensions/nginx/nginx.conf

0 投票
1 回答
184 浏览

amazon-web-services - 为 AWS ELB 生成公有/后端密钥

我正在尝试为 aws 经典负载均衡器实现端到端加密。我看到了 AWs 提供的这个参考资料,除了最后一个是添加公钥 .ebextensions/https-backendauth.config 之外,我有点正确地遵循了所有说明。您能否指导我如何生成公钥/后端密钥?我在 ssl 上很弱,我确实了解在应用程序中应用的证书组件,但是对于这个我仍然无法弄清楚。

0 投票
1 回答
1336 浏览

amazon-web-services - 我可以在多行上放置一个 eb 扩展容器命令吗?如果可以的话?

我发现的只是:https ://forums.aws.amazon.com/thread.jspa?threadID=112988

我知道我可以这样做:

但我可以这样做吗?

我仍然需要 && 来分隔命令还是将它们作为单独的命令执行?还是仍然只有一个命令?

0 投票
1 回答
204 浏览

ruby-on-rails - 警告:已经在 config/routes.rb 中初始化了常量

我在config/routes.rb. 当我通过 Elastic Beanstalk 使用.ebextensions包含启动后部署脚本的文件部署应用程序时,delayed_job我收到:

内的类config/routes.rb

0 投票
1 回答
565 浏览

django - django-celery-beat 不能在主管中手动启动

我已经在我的 Django 1.10 项目中安装了 Celery[sqs] 和 django-celery-beat。我尝试使用 Supervisor on 和 Elastic Beanstalk 实例同时运行它们(worker 和 beat)。

使用以下脚本动态创建 Supervisor 配置:

之后运行以下 ebextension:

登录Instance,运行时

当 celery-worker 运行时,celery-beat 已经“未启动”(带有一个空的日志文件)。最奇怪的部分是,如果我手动运行它(例如

它运行没有错误。

任何人都知道如何调试它?为什么稍后加载时它不会在 eb_extension 中加载?也许这与 Django 尚未启动并且正在使用django_celery_beat.schedulers:DatabaseScheduler配置的事实有关?

0 投票
1 回答
148 浏览

amazon-web-services - 在 ebextension 中添加私有 IP 地址作为 JVM 选项

我在 AWS 弹性 beantalk 中运行 Tomcat。我需要添加一个 JVM 选项,其中包括运行代码的任何 EC2 实例的私有 IP 地址。

我需要添加这个属性来启用 JMX:-Djava.rmi.server.hostname=1.2.3.4

我尝试了这些不同的方法,但它只是将文字字符串添加为 env 属性。如果我对 IP 地址进行硬编码,它工作得很好,但它是一个自动缩放设置,所以 IP 总是不同的。

如果我不能这样做option_settings,有没有办法可以创建一个脚本来附加到CATALINA_OPTS变量?我试过了:

0 投票
1 回答
1394 浏览

bash - sudo yum install 或重新安装

我正在通过 EB 将我的 nodejs 应用程序部署到 Linux EC2 上,并且在 .ebextensions 中我需要安装一个字体包并且我必须使用 yum:

不幸的是,虽然这是第一次工作,但如果我再次重新部署它第二次就不能工作,它会抱怨包已经在那里。

所以我要做的是使用这个:

不幸的是,虽然这适用于第二次,依此类推,但如果包不存在,则第一次不起作用,并给出错误:

这让我发疯了。

有没有解决的办法?不太擅长 Linux bash 脚本,如果第一次使用这个命令,我可以喜欢那个命令吗?

我可以创建一个 bash 脚本:

等等...