我们将AWS Elastic Beanstalk用于应用程序,每个应用程序都有三个环境测试,uat和prod。
我们面临的问题是,每当应用程序激活扩展选项时,我们会在缩放冷却时丢失应用程序日志。
当我们重写我们的应用程序以将其日志发送到syslog服务时,我们需要一个临时解决方案,这是通过ebextensions部署的批处理脚本。
批处理脚本的一部分是安排任务每天运行它(现在)但我们无法传递AWS Elastic Beanstalk提供的自定义变量。
示例:
schtasks /create /SC daily /ST 00:00:00 /f /TN s3sync /TR "c:\s3sync.bat {PARAM2}"
我们尝试使用* container_commands *,运气不好。
示例:
02_schedule_s3sync:
command: "c:\\s3sync.bat {$PARAM2}"
任何建议,替代方法或解决方案都会有所帮助吗?
答案 0 :(得分:3)
我清除了忘记这个问题,所以我想我会用任何遇到同样问题的人的正确答案更新它。
02_schedule_s3sync:
command: schtasks /create /sc hourly /st 00:00:00 /f /ru System /tn s3sync /tr "C:\s3sync.bat %PARAM2% %PARAM3% %PARAM4%" /v1
答案 1 :(得分:1)
自定义环境属性仅在容器内可用。设置这些属性后,它们将作为系统属性提供给您的AWS Elastic Beanstalk应用程序。
它们不能直接在EC2实例上使用。
由于它仅用于解决方法,因此一种选择是向应用程序添加API以返回参数值。
希望它有所帮助。