Требуется помощь, чтобы исправить ошибку и позволить экземпляру запускать скрипт данных пользователя без проблем.
Проблема: cloud-init не может выполнить Команда awscli. Я упомянул настраиваемый сценарий (который будет присутствовать в экземпляре, созданном моим AMI) для запуска как часть данных пользователя. Пользовательский сценарий не работает в разделе, где упоминается команда awscli.
Описание: Я пытаюсь добиться автоматического развертывания содержимого приложения, как только создается экземпляр из определенного AMI. Для этого я поместил настраиваемый сценарий в экземпляр и создал AMI, который будет служить шаблоном для будущих экземпляров. Пользовательский скрипт имеет очень простую логику развертывания и управления жизненным циклом службы приложения (app || web || start || stop || status). Проблема возникает, когда сценарий выполняет команду aswcli для извлечения военного или статического содержимого из корзины S3. Это дает следующую ошибку:
Фрагмент из cloud-init-output.log:
Mar 12 04:06:06 ip-XXX cloud-init: Deploying Static Content XXX.zip at location /var/www/html
Mar 12 04:06:06 ip-XXX cloud-init: /opt/deploy/deployment_V4.sh: line 94: aws: command not found
===================
Mar 12 04:06:06 ip-XXX cloud-init: Deploying WAR XXX.war at location /opt/tomcat/webapps
Mar 12 04:06:06 ip-XXX cloud-init: /opt/deploy/deployment_V4.sh: line 80: aws: command not found
Принимая во внимание, что если я вручную запускаю тот же пользовательский сценарий развертывания из экземпляра, он развертывает контент без ошибок. Также, если я запустил сценарий «Пользовательские данные» вручную на экземпляре, развертывание завершится без каких-либо ошибок.
Фрагмент:
[root@ip-XXX]# cd /var/lib/cloud/instance/scripts/
[root@ip-XXX scripts]# ./part-001
HTTPD Service is Stopped
TOMCAT Service is Stopped
VERSION is V4
Deploying Static Content XXX.zip at location /var/www/html
download: s3://<PATH>/XXX.zip to ../../../../../www/html/XXX.zip
Web Deployment Successful
VERSION is V4
Deploying WAR XXX.war at location /opt/tomcat/webapps
download: s3://<PATH>/XXX.war to ../../../../../../opt/tomcat/webapps/XXX.war
App Deployment Successful
HTTPD Service is Started
TOMCAT Service is Started
Пользовательские данные:
#!/bin/sh
VERSION=V4
AD=/opt/deploy
#Run auto-deployment script
sh /opt/deploy/deployment_${VERSION}.sh stop
sh /opt/deploy/deployment_${VERSION}.sh web
sh /opt/deploy/deployment_${VERSION}.sh app
sh /opt/deploy/deployment_${VERSION}.sh start
ПРИМЕЧАНИЕ:
1) ОС - CentOS7_64Bit
2 ) Экземпляр регистрируется в роли s3 enable при запуске. После перехода на новую рабочую станцию восстановление файлов завершается ошибкой, указанной ниже. Я попытался использовать CloudBerry S3 для доступа к хранилищу ледника, но ...
Я использую резервное копирование CloudBerry на Amazon Glacier.
После перехода на новую рабочую станцию восстановление файлов завершается ошибкой, указанной ниже. Я попытался использовать CloudBerry S3 для доступа к хранилищу ледника, но с той же ошибкой. Как это исправить?
2017-03-12 14:49:28,760 [CL] [13] ERROR - Idly running finished with error for command Copy; Source:us-east-1/...../ (us-east-1/Archive/dgS_sEF8q1Fkqa4012rosbhUj9DMRi_0lcSgdQ); Destination:D:\Temp\
CloudBerryLab.Base.Exceptions.BadRequestException
Invalid marker: null
at rL.B(rG )
at rL.b(rG )
at rL.C(rG )
at rM.II(rG )
at aFG.aFI.MoveNext()
at aFn.aFp.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at aFn.A(ICancelable )
at aFD.a(ICancelable )
at aFD.jV(ICancelable )
at XT.A(Object )
CloudBerryLab.S3Client.Glacier.Exceptions.GlacierWebException
**Invalid marker: null**
System.Net.WebException
The remote server returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.GetResponse()
at rL.A(rG )
NA: Но пища для размышлений...
У меня та же самая ошибка ((400) Bad Request / Invalid marker: null) с 2 клиентами, использующими разные версии CloudBerry Explorer, подключенными к 2 отдельным учетным записям AWS. Ни один из них не использует AWS: мы-восток
Я позвонил в службу поддержки CloudBerryLabs (CBL). Человек, перенаправляющий звонки, заикался о том, что это известная проблема, а также о том, что это проблема с API. Они также сказали что-то вроде того, что CBL работает над устранением проблемы или выпуском обновления программного обеспечения.
.Это было вызвано некоторыми изменениями API на стороне AWS. Однако, в новом релизе все снова работает нормально.
.Последующие действия;
Я получил письмо по электронной почте от службы поддержки CBL с сообщением о новом выпуске CloudBerry Explorer for AWS.
Я скачал и установил его в одном из мест, где он, кажется, работает.
Arjan, CBL сделали резервную копию CloudBerry ревизии доступной на 2017/03/14.
WBW
.