4 votes

Longueur maximale des variables d'environnement d'Elastic Beanstalk

J'ai du mal à configurer plus de 100 variables d'environnement dans mon Elastic Beanstalk de production exécutant Django. La documentation AWS mentionne que "la taille combinée de toutes les propriétés d'environnement ne peut dépasser 4 096 octets lorsqu'elles sont stockées sous forme de chaînes au format clé=valeur".

D'après ce que j'ai compris, il existe trois façons de définir les paramètres d'environnement dans ELB.

1) Par eb cli Par exemple eb setenv key=value (Cela ne fonctionne pas car il y aura une erreur à cause de la longueur maximale après avoir atteint le nombre maximum de caractères).

2) Par l'interface EB GUI Configuration > Software > Env variables (ne fonctionne pas pour la même raison que ci-dessus).

3) Par le biais

option_settings:
  - option_name: CUSTOM_ENV
    value: staging

J'imagine que le point 3) échouerait aussi pour la même raison.

Je suis en train d'expérimenter le téléchargement de mon variables.env de mon seau S3, puis en remplaçant le fichier /opt/python/current/env avec elle

files:
  # Private key
  "/opt/python/current":
    mode: "000400"
    owner: root
    group: root
    authentication: "S3Auth"
    source: ****/env

l'idée étant que ELB injecte des variables d'environnement à travers ce fichier. Malheureusement, le déploiement échoue (erreur de permission).

Existe-t-il un moyen de contourner la limitation à 4096 octets des variables d'environnement ELB ?

0voto

mattigrthr Points 44

Il semble qu'il n'y ait aucun moyen de l'augmenter dans EBS, car il s'agit d'une limite codée en dur ( La longueur de la valeur par défaut des variables d'environnement est supérieure à 4096. ). Ils proposent également un lien vers une solution de contournement.

Sinon, vous pouvez essayer de réduire le nombre de caractères utilisés, par exemple TRUE -> 1, comme décrit dans cet article. https://insights.project-a.com/aws-elastic-beanstalk-when-not-to-use-it-b04dc95b2e9c . Mais bien entendu, cette solution n'est pas extensible et vous risquez de rencontrer à nouveau le même problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X