Cloud-init не выполняет команду awscli в пользовательских данных

Требуется помощь, чтобы исправить ошибку и позволить экземпляру запускать скрипт данных пользователя без проблем.

Проблема: 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 )
0
задан 31 May 2017 в 22:02
3 ответа

NA: Но пища для размышлений...

У меня та же самая ошибка ((400) Bad Request / Invalid marker: null) с 2 клиентами, использующими разные версии CloudBerry Explorer, подключенными к 2 отдельным учетным записям AWS. Ни один из них не использует AWS: мы-восток

Я позвонил в службу поддержки CloudBerryLabs (CBL). Человек, перенаправляющий звонки, заикался о том, что это известная проблема, а также о том, что это проблема с API. Они также сказали что-то вроде того, что CBL работает над устранением проблемы или выпуском обновления программного обеспечения.

.
0
ответ дан 4 December 2019 в 16:20

Это было вызвано некоторыми изменениями API на стороне AWS. Однако, в новом релизе все снова работает нормально.

.
1
ответ дан 4 December 2019 в 16:20

Последующие действия;

Я получил письмо по электронной почте от службы поддержки CBL с сообщением о новом выпуске CloudBerry Explorer for AWS.

Я скачал и установил его в одном из мест, где он, кажется, работает.

Arjan, CBL сделали резервную копию CloudBerry ревизии доступной на 2017/03/14.

WBW

.
0
ответ дан 4 December 2019 в 16:20

Теги

Похожие вопросы