Обычно что-то подобное делается в container_commands .
Причина в том, что это единственный раздел в .ebextentions
, который поддерживает параметр leader_only
:
Запускать команду только на единственном экземпляре , выбранном Elasti c Beanstalk. Команды контейнера только для лидера выполняются перед другими командами контейнера. Команда может быть только лидером или иметь тест, но не оба сразу (лидер_only имеет приоритет).
Это означает, что если ваш EB имеет несколько экземпляров в типе env с балансировкой нагрузки, команда container_commands
с leader_only
будет выполняться только на одном из них . Это, конечно, имеет смысл, когда вы bootstrap свою базу данных, так как вы хотели бы запустить такой logi c только один раз во время развертывания.