Недавно я внес несколько больших изменений кода в свою промежуточную среду, которую я попытался развернуть в своей среде 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