Elastic Beanstalk 最大环境变量长度
Posted
技术标签:
【中文标题】Elastic Beanstalk 最大环境变量长度【英文标题】:Elastic Beanstalk Maximum Environment Variable Length 【发布时间】:2020-06-02 09:44:32 【问题描述】:我在运行 Django 的生产 Elastic Beanstalk 中尝试设置超过 100 个环境变量时遇到了困难。 AWS docs 提到了
所有环境属性的总大小不能超过 4,096 以 key=value 格式存储为字符串时的字节数。
据我了解,有 3 种方法可以在 ELB 中设置环境变量。
通过eb cli
例如eb setenv key=value
(不起作用,因为达到最大字符数后由于最大长度会出错)
通过 EB GUI 配置 > 软件 > 环境变量(由于上述相同原因不起作用)
通过
option_settings:
选项名称:CUSTOM_ENV 价值:分期我想 3) 也会因为同样的原因而失败。
我现在正在尝试从我的 S3 存储桶下载我的 variables.env 文件,然后用它替换 /opt/python/current/env
files:
# Private key
"/opt/python/current":
mode: "000400"
owner: root
group: root
authentication: "S3Auth"
source: ****/env
ELB 通过该文件注入环境变量的想法。不幸的是,部署出错了(权限错误)。
有没有办法绕过 ELB 环境变量的 4096 字节限制?
【问题讨论】:
【参考方案1】:似乎没有办法在 EBS 中增加它作为硬编码限制 (EnvironmentVariables default value length is greater than 4096)。它们还链接到那里的解决方法。
否则,您可以尝试减少使用的字符数量,例如TRUE -> 1,如本文https://insights.project-a.com/aws-elastic-beanstalk-when-not-to-use-it-b04dc95b2e9c 中所述。但当然这是不可扩展的,您可能会再次遇到同样的问题。
【讨论】:
以上是关于Elastic Beanstalk 最大环境变量长度的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk Docker 环境变量
Elastic Beanstalk 多容器 Docker 环境变量
Docker 主机的 Elastic Beanstalk 环境变量