我们正在带有Ruby堆栈的Puma上运行多个ELB环境。我们最近达到了环境变量的4096字节限制。因此,我尝试删除一些旧的env变量,以便为新的环境变量释放一些空间。
但是,看来我只能更新变量的值。
例如。我可以将MY_SECRET=secret
更改为MY_SECRET=a
,然后将其反映在所有实例上。如果我尝试将其完全删除,则该值将还原为前一个值(MY_SECRET=secret
-不是 a
)。
我尝试通过Web UI和eb cli工具(eb setenv MY_SECRET=
)删除它们。两者都声称已成功完成,但是未删除环境变量。对于不同的环境变量,其行为相同。
有人知道为什么会这样吗?
预先感谢
答案 0 :(得分:1)
当您说eb setenv MY_SECRET=
没有取得任何成功时,您是说它只是错误了吗?如果是这样,建议您尝试eb setenv 'MY_SECRET='
。在您尝试失败的过程中,Bash(或您所使用的任何外壳程序)未按预期处理“ =”。我已经能够验证我的方法有效。
答案 1 :(得分:0)
我遇到了完全相同的问题。解决方案是使用 AWS CLI,而不是使用 --options-to-remove
。这产生了与直接使用 eb setenv
或 AWS 控制台 UI 相同的结果。而是将选项的值设置为 null,例如:
aws elasticbeanstalk update-environment
--environment-name <env_name>
--option-settings
Namespace=aws:elasticbeanstalk:application:environment,OptionName=MY_SECRET,Value=null
这终于解决了我的问题,希望它能解决其他人遇到的问题。