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 ?