问题标签 [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.
amazon-web-services - Elastic Beanstalk 扩展:命令何时完成?
我有一个 AWS Elastic Beanstalk 设置,其中包含一些.ebextensions
文件container_commands
。这些命令之一是脚本。脚本完成,但下一个命令未运行。
如您所见,我的脚本是一个缺陷僵尸,但cfn-init
没有为它进行 wait(2) 系统调用。
当我从命令行运行脚本时,它会正确终止。
我不得不假设cfn-init
正在获取SIGCHLD
. 为什么不等待(2)继续前进?
另外,有没有更好的方法来调查这个?我一直在查看正在运行的进程并阅读完全无用的/var/log/eb-*
日志。
FWIW,脚本很简单:
它 nohups 的事情非常简单:
$RDS_USERNAME | tee ~ec2-user/nhlog > ~ec2-user/fifo
apache - AWS ebextensions 创建带有 logfomat 更改的 httpd.conf,如 AWS 文档中所述。但是apache日志打印了两次
我正在使用 AWS ElasticBeanstalk 进行产品部署。
我想在 apache 访问日志中为每个请求添加响应时间。根据 AWS 文档,我在源包中创建了一个配置文件.ebextensions/httpd/conf/httpd.conf
(采用默认文件并修改了日志格式)
生成响应时间,但日志语句打印两次。
提前致谢。
windows - 从 .ebextensions 将可执行文件添加到 Windows PATH,然后在后续命令中调用可执行文件
我有一个 Windows Elastic Beanstalk 实例。commands.config
我的项目中有以下内容.ebextensions
这两个命令正在工作。但是,我也有一个container-commands.config
文件需要调用choco
,但由于'choco' is not recognized as an internal or external command
如何获取后续命令以获取更新的PATH
? 是否有更合适的方法来安装二进制文件并将它们设置为PATH
在 ESB 实例创建期间的窗口?
但即使这样也给了我类似的错误。
amazon-web-services - 在 .ebextensions 中调试 PowerShell 脚本
我正在尝试按照https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/SSLNET.SingleInstance.html上的说明在Elastic Beanstalk 开发实例上安装自签名证书。也就是说,我有(除了那里列出的其他先决条件),一个 .ebextensions/https-instance-dotnet.config 文件的形式:
我正在使用 AWS Toolkit 从 Visual Studio 发布到 AWS EB,但没有看到错误。根据 YAML 验证器,该文件的格式似乎正确。但我无法判断脚本是否正常工作,甚至是否正在运行,或者是否在我的环境中创建了 C:\certs\install-cert.ps1 和 log.txt。
我的问题是:我如何调试或跟踪它,以便我可以看到(例如)Echo 命令的结果?
amazon-web-services - 如何在 .ebextensions 配置中为 crontab 多个环境使用条件(AWS Elastic Beanstalk)
我想在cron.config
文件中添加一个条件。ENV_ID
如果环境 ID 与生产服务器匹配,我需要检查(环境 ID)然后 cron 将在 crontab 中设置,否则 cron 将不设置检查。
cron.config
crontab
另外,我检查条件,但现在可以工作。
我无法找到缺少的内容和错误的脚本。
amazon-web-services - Elastic Beanstalk 实例未附加到自定义负载均衡器
我有一个带有以下.ebextensions
配置文件的 Elastic Beanstalk 实例来设置自定义负载均衡器。
但是,每当重建 beanstalk 环境时,我的自定义负载均衡器都会按定义创建,但是 EC2 实例本身并未附加到它。
如何让实例使用我的自定义负载均衡器?
django - 使用 ebextensions 验证 apache 服务器的 HTTP_HOST 标头
我有一个托管在 AWS 上的 Django 应用程序。我使用 Elastic Beanstalk 并使用.ebextensions/django.config
文件来输入我的所有自定义服务器端设置。
我已经ALLOWED_HOSTS
设置好,如果有人试图从无效的主机头连接到我的网站,他们会被 Django 阻止。
我收到各种 Django 错误记录电子邮件说Invalid HTTP_HOST header: 123.456.789
。-- 本质上是试图连接和/或上传恶意内容的机器人/扫描程序。
我想在服务器端阻止这些不良请求,因为拥有额外的阻止层似乎更安全,而且我不喜欢收到所有的电子邮件。
在Django 文档中,他们写道“[他们建议] 配置您的 Web 服务器以确保它验证传入的 HTTP 主机标头。” 我想在我的.ebextensions/django.config
文件中这样做。
这是我当前的.ebextensions/django.config
文件:
我相信这都是 apache 配置。我在这个主题上找到了这个 SO 答案,上面写着“拒绝没有设置主机的请求,你可以使用:”
但是,我不确定该代码在做什么(以及它是否是我需要的),以及如何将其转换为 .ebextensions。
最终,我想找出可以添加到 .ebextensions 文件中的内容,以使其在 HTTP_HOST 标头到达 Django 之前对其进行验证。
amazon-web-services - 如何在 ebextensions 中最好地使用 AWS Secrets Manager?
我希望使用 AWS Secrets Manager 来获取密钥并将它们设置为我的 Elastic Beanstalk 实例上的环境变量。
我在 ebextensions 文件上编写了一个脚本,该脚本调用 Secrets Manager CLI 来获取我的密钥,并使用该密钥填充我的 EB 实例的 env 变量。由于它是 linux 实例,我正在尝试export ENV_VAR_NAME=env_value
. 这是我到目前为止所拥有的:
当我在 中运行脚本时container_commands
,会打印出正确的环境变量,因为它是我在脚本中设置的环境变量以及我在 EB AWS 控制台上的 EB 环境变量中设置的内容。但是,在我的应用程序中打印它们时,我看不到我通过脚本设置的环境变量。
当我在 中运行脚本时commands
,我似乎根本没有写入正确的环境变量集。
有没有办法按照我在这里尝试的方式设置 EB 环境变量?也许我应该使用一个特殊的命令而不是export
?
amazon-web-services - 如何通过 ebextensions 覆盖 Elastic Beanstalk 环境变量?
我的 EB 环境有一些我通过 AWS Web 控制台设置的环境变量。但是,我现在希望通过 ebextensions 设置这些环境变量。
问题是我似乎无法覆盖我最初通过 AWS Web 控制台设置的变量。
不过,覆盖由 ebextensions 显式设置的环境变量很好。
这是我的 ebextensions 文件的外观:
newVar
每当我更新我的 ebextensions 文件时更新。但是oldVar
,我通过控制台设置的 var 拒绝更新。
关于如何让 ebextensions 按需要工作的任何想法?我真的很想避免这样一种情况,即我必须删除我以前设置的环境变量并使用 ebextensions 更改快速部署更新。谢谢。
devops - 为什么在使用 AWSJavaScriptSDK 时忽略 ElasticBeanstalk .ebextensions?
当使用 AWS JavaScript SDK 更新 ElasticBeanstalk 环境时,我.ebextensions/*
被忽略了。我将应用程序源包作为 .zip 文件上传到 S3,这会触发 Lambda 使用以下代码部署新的应用程序版本:
在 AWS 管理控制台中上传相同的源包时,我的所有内容.ebextensions
都按预期执行。
*.config 文件内部没有什么特别之处。我只是根据环境变量创建一些文件以供以后使用,例如
因此,/home/ec2-user/prepare_key.sh
不会生成(或更新)文件,并且set_up
不会在 Lambda 部署期间执行命令。
我仔细检查了源包。我所有的.ebextensions/*.config
文件都在那里。我的项目目录中没有.ebignore
文件。