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 最大环境变量长度的主要内容,如果未能解决你的问题,请参考以下文章