Как запустить скрипт оболочки при запуске экземпляра среды aws эластичного beanstalk

Я использую скрипт Terraform для создания среды aws эластичного beanstalk, мне нужно запустить скрипт оболочки при запуске экземпляра

Я уже попробовал следующее

resource "aws_elastic_beanstalk_environment" "Environment" {
    name = "${var.ebs_env_name}"
    application = "${var.ebs_app_name}"
    ---
    ---
    ---
    setting = {
      namespace = "aws:autoscaling:launchconfiguration"
      name = "user_data"
      value = "${file("user-data.sh")}"
   }
}

Это ошибка

Ошибка применения плана:

1 ошибка (ы) произошла:

aws_elastic_beanstalk_environment.Environment: ConfigurationValidationException: исключение проверки конфигурации: недопустимая спецификация параметра (Пространство имен: 'aws: автоматическое масштабирование:launchconfiguration', OptionName: 'user_data'): неизвестный параметр конфигурации. код состояния: 400, идентификатор запроса: xxxxx-xxxxxx

Пожалуйста помоги

2 ответа

Решение

Спасибо за ответ, я нашел решение

Я создал папку.ebextensions и создал файл внутри папки с именем 99delayed_job.config (вы можете дать любое имя)

commands: 
  create_post_dir: 
    command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/pre"
    ignoreErrors: true
files: 
  /opt/elasticbeanstalk/hooks/appdeploy/pre/99_restart_delayed_job.sh: 
    group: root
    mode: "000755"
    owner: root
    content: |-
        #!/usr/bin/env bash
        <My shell script here>

A и заархивировал 'Dockerrun.aws.json' этот zip, который я отправляю на s3 и использовал для развертывания.

Работает нормально:)

Я не смог найти какую-либо информацию о сервисе AWS Elastic Beanstalk, в которой представлены средства для изменения user_data в случаях. Однако вы можете настроить используемый AMI, чтобы вы могли использовать такой инструмент, как Packer, для создания собственного AMI, который включает user_data в этом.

Другие вопросы по тегам