Назад | Перейти на главную страницу

Elastic Beanstalk - Ошибка тайм-аута развертывания

Недавно я внес несколько больших изменений кода в свою промежуточную среду, которую я попытался развернуть в своей среде ElasticBeanstalk, но это не удалось, и я застрял в том, что могло вызвать ошибку, потому что это произошло из-за тайм-аута в развертывании. Я попытался запустить развертывание с 20-минутным тайм-аутом, но по-прежнему столкнулся с той же проблемой, что заставляет меня думать, что что-то не так, кроме развертывания, для выполнения которого требуется больше времени.

Это первый раз, когда я столкнулся с этой проблемой, и я не могу получить доступ к журналам из пользовательского интерфейса, потому что развертывание оставляет потенциально поврежденную версию после попытки, и когда я запускаю журналы извлечения, наступает время ожидания. Изменения кода выполняются без проблем на моем локальном хосте, но есть несколько сценариев миграции, которые необходимо запустить.

Есть две области, которые, как я могу предположить, могут быть связаны с проблемой тайм-аута, но у меня нет доказательств, подтверждающих это, только знание того, что это может повлиять на сервер.

1) Моя память вышла за пределы хранилища для этой среды?

EC2 Instance Type: t2.micro

2) Может ли ebextension быть фактором, вызывающим тайм-аут, или, если произошла ошибка, он остановит сервер и отобразит журнал ошибок?

Вот мои ebextensions:

00_nginx_https_rw.config:

files:
  "/tmp/45_nginx_https_rw.sh":
    owner: root
    group: root
    mode: "000644"
    content: |
      #! /bin/bash

      CONFIGURED=`grep -c "return 301 https" /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf`

      if [ $CONFIGURED = 0 ]
        then
          sed -i '/listen 8080;/a \    if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri; }\n' /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf
          logger -t nginx_rw "https rewrite rules added"
          exit 0
        else
          logger -t nginx_rw "https rewrite rules already set"
          exit 0
      fi

container_commands:
  00_appdeploy_rewrite_hook:
    command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/appdeploy/enact
  01_configdeploy_rewrite_hook:
    command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact
  02_rewrite_hook_perms:
    command: chmod 755 /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh
  03_rewrite_hook_ownership:
    command: chown root:users /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh

01_sequelize_db_migration.config:

container_commands:
  00_node_binary:
    command: "sudo ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"
  00_npm_binary:
    command: "sudo ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"
  50_migrations:
    command: "./node_modules/.bin/sequelize db:migrate"
    leader_only: true