问题标签 [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 投票
5 回答
12877 浏览

java - 在 WAR 中的何处添加 .ebextensions?

设想:

  • AWS Elastic Beanstalk
  • Java 应用程序
  • .ebextensions 当前放置在 src/main/resources/.ebextensions

命令没有被执行。

Java 应用程序中的 .ebextensions 应该放在哪里?

0 投票
1 回答
609 浏览

amazon-elastic-beanstalk - 以编程方式在 EC2 实例上将 statsd 作为守护程序运行

编辑: 我的目标是能够从我的 spring-boot 应用程序发出指标并将它们发送到Graphite服务器。为此,我正在尝试设置statsd. 如果您可以建议一种更清洁的方法,那就更好了。

我有一个 Beanstalk 应用程序,它需要statsd作为后台进程运行。我能够通过ebextensions配置文件指定命令和包,如下所示:

当我尝试将应用程序部署到新环境时,EC2 节点从未完全启动。我登录以检查可能发生的情况并注意到/var/log/cfn-init.log其中01_nodejs_install02_mkdir_statsd03_fetch_statsd成功执行。所以我猜系统卡在第四个命令(04_run_statsd)上。

我需要以下帮助:

  • 如果在实例化环境时有更好的安装和运行方法statsd,如果您能提供有关该方法的详细信息,我将不胜感激。这个当前的方案看起来很老套。

  • 如果这是我需要坚持的方法,我该如何运行第四个命令以便statsd可以作为后台进程运行?

0 投票
1 回答
2251 浏览

amazon-web-services - 使用 AWS ebextensions,按照他们的文档传递一组命令的正确方法是什么?

文档

我试图在一个conainter_commands条目中传递多个命令并不断收到错误。然而,当我传递与单个条目相同的命令时,它工作正常。

作品:

失败/bin/sh: rm -f /tmp/db.dump: No such file or directory.

0 投票
1 回答
123 浏览

docker - 如何升级elasticbeanstalk docker版本

Docker 有一个相当快的发布时间表,通常具有重要且有价值的特性。Amazon 的 elasticbeanstalk 映像不会经常更新,但由于您可以完全控制机器,您应该能够手动更新 docker。怎么可能呢?

0 投票
3 回答
9085 浏览

amazon-web-services - 环境特定的 ebextensions Beanstalk 命令

我有一个 spring-boot 应用程序,我需要为其指定石墨服务器和端口(以发送指标)。为此,我必须安装和配置statsd. 我使用ebextensions文件来做到这一点。

此配置的问题是我只能在此处为所有环境指定 1 个石墨服务器。

所以我决定将命令 04 和 05 移动到container_commands. 我正在考虑ENV_NAME 使用 beanstalk 控制台/UI定义一个名为的环境变量,并根据环境将其设置为devqa或。prod然后我可以使用test选项container_commands04 和 05 仅针对基于此的特定环境运行命令ENV_NAME

所以我的问题是 - 我如何使用 AWS 控制台来定义环境变量?我尝试使用 Beanstalk 控制台来定义我的变量,如此处文档中所述 但它不起作用。我还发现(请参阅 5 个赞成的答案)此方法仅设置 JVM 属性而不设置 ENV 变量。

我不能使用定义环境变量,ebextensions因为那样我会遇到同样的问题 - 不能为不同的环境定义不同的环境变量:)

所以我需要帮助:

  • ENV_NAME使用 beanstalk UI设置环境变量。

或者

  • 建议一种使用ENV_NAME系统属性的方法,container_commands以根据 的值来判断是否运行命令ENV_NAME

如果您知道为不同环境指定不同 Graphite 服务器的更简单/更好的方法,请随时加入。

0 投票
1 回答
1421 浏览

node.js - AWS Elastic Beanstalk ebextension 未执行 shell 脚本以使用 npm install

我需要安装一个单独的框架,该框架是我在弹性 beantalk 上运行的节点 js 应用程序中创建的。

我尝试将脚本放在我的主 package.json 文件中,但安装时出现权限错误。

所以我创建了一个配置文件并尝试从 container_commands 运行 npm install。它不想运行 npm,因为它说命令丢失。我尝试将正确的环境路径变量添加到 npm,它在通过 ssh 手动完成时工作,但它给出了相同的错误,即找不到 npm 命令。

所以最后。

我通过安装应用程序的 ebextension 创建了一个 bash 脚本,然后从 container_commands 运行该脚本。

该脚本被正确创建但从未运行。如果我 ssh 进入实例并作为 sudo 手动执行它,它就可以工作。该应用程序部署没有错误,但似乎从未执行脚本,我知道这一点,因为从未创建 node_modules 文件夹。

我不确定在我的日志中在哪里寻找错误,当我尝试时,我没有发现任何有用的东西。

这是我的 ebextension:

0 投票
1 回答
656 浏览

amazon-web-services - 尝试安装 GhostScript 9.10 时,Elastic Beanstalk 配置失败

我正在尝试在 Elastic Beanstalk 上安装 GhostScript 9.10,因为目前只有 Ghostscript 8.70 可以通过 yum 包获得。

安装在 EC2 实例上通过 SSH 进行,但配置文件总是失败,我不明白是什么原因。

这是我的 .ebextensions 配置文件:

这里是弹性豆茎错误日志部分:

我知道命令 5 失败,因为该文件不存在。但是,当我通过 SSH 手动执行这些步骤时,文件存在并且所有命令都可以按此顺序执行。

我想念什么?

编辑:我玩弄了 configure 参数并尝试了:

/bin/bash: ./configure

。/配置

重击 ./配置

所有参数都失败并出现相同的错误“没有这样的文件或目录”。如果我通过 SSH 连接并输入配置命令之一,那么它可以正常工作。

有人知道这里发生了什么吗?

0 投票
1 回答
142 浏览

amazon-web-services - Elastic Beanstalk - Configure the load balancer to redirect HTTP to HTTPS

I've been struggling and googling this issue for a while and although it seems to me like a pretty standard requirement I couldn't find a working solution anywhere.

I don't want to disable HTTP, only redirect it to HTTPS. Not between the load balancer and the EC2 instances, but between the browser and the load balancer.

I have created an Elastic Beanstalk environment (Linux) for my Spring Boot app, configured the load balancer for HTTP + HTTPS using the management console and configured environment variables and IP tables using .config files in an .ebextensions folder zipped with the app's JAR file.

Then I tried adding an NGINX configuration for a permanent HTTP to HTTPS redirect using a config file with a "files" key, but it doesn't seem to have any effect.

Thanks

0 投票
0 回答
789 浏览

.net - 向 EBS AWS 中 wwwroot 中的文件夹授予 DefaultAppPool 写入权限

我一直在尝试使用 .ebextensions container_commands 授予 IIS APPPOOL\DefaultAppPool 用户对 wwwroot 文件夹下两个文件夹的写入权限。

我需要涵盖两种情况:

  1. 发布到新的 EBS 环境时,能够授予 DefaultAppPool 用户写入权限,其中 wwwroot 文件夹在 .ebextensions 运行时不包含我的解决方案。
  2. 能够重新发布到现有的 EBS 环境,并在 .ebextensions 运行时在 wwwroot 文件夹包含我的解决方案的位置保留 DefaultAppPool 写入权限

我已经能够执行后者,但不能执行前者。前者失败是因为我指定了 wwwroot 下文件夹的路径,我想更改谁的权限,但解决方案尚未部署到 wwwroot,导致出现错误消息:“系统找不到指定的文件。”

我尝试了另一种方法,我将 DefaultAppPool 写入权限授予整个 wwwroot 文件夹,希望在提取项目时,新添加的文件夹将继承 wwwroot 的权限。当我这样做并将 icacls 命令的输出记录到文件时,我可以验证确实为 wwwroot 添加了写权限。尽管能够验证 .ebextensions 运行时是否添加了写权限,但它们在部署过程的后期会以某种方式更改回其原始状态(只读),可能是通过:

这是我用来验证权限是否更改的 .config 文件:

因此我问:

  1. 有没有办法授予 DefaultAppPool 用户对这两个文件夹的写入权限,这两个文件夹在发布到新 EBS 环境和重新发布到现有环境时都有效?

  2. 有没有办法在应用程序部署到 wwwroot 之后运行命令,但不能像 container_commands 那样运行?

  3. 当我查看 .ebextensions .config 文件中的日志时,我发现它们运行了两次,这正常吗?

0 投票
1 回答
2287 浏览

amazon-web-services - AWS Elastic Beanstalk .ebextensions 优先顺序

如果我在 .ebextensions 文件夹中的两个配置文件中应用设置,最后一个文件是否会覆盖第一个文件中的设置?

例如,使用定义了实例角色设置的两个文件:

.ebextensions/0001-base.config

.ebextensions/0010-app.config

Beanstalk EC2 实例将被赋予哪个角色?aws-ec2-role 还是 aws-app-role?