Amazon CodeDeploy. Ошибка развертывания

Я настраивал AWS CodeDeploy несколько дней, и мое первое развертывание не удалось. Сообщение об ошибке, которое я получаю, гласит: «Общее развертывание завершилось неудачно, потому что слишком много отдельных экземпляров не удалось развернуть, слишком мало работоспособных экземпляров доступно для развертывания или некоторые экземпляры в вашей группе развертывания испытывают проблемы».

Чтобы получить более подробную информацию, я установил агент AWS CodeDeploy на экземпляр Windows, и, похоже, он не работает. Все, что мне удалось прочитать в файле code-deploy-agent-log.txt, - это повторяющиеся строки.

2016-05-31 16:05:24 DEBUG [codedeploy-agent (4872)]: InstanceAgent :: Plugins :: CodeDeployPlugin :: CommandPoller: спящий 90 секунд. 2016-05-31 16:06:55 DEBUG [codedeploy-agent (4872)]: InstanceAgent :: Plugins :: CodeDeployPlugin :: CommandPoller: Вызов PollHostCommand: 2016-05-31 16:06:55 INFO [codedeploy-agent ( 4872)]: файл версии находится в C: /ProgramData/Amazon/CodeDeploy/.version. 2016-05-31 16:06:55 ОШИБКА [codedeploy-agent (4872)]: InstanceAgent :: Plugins :: CodeDeployPlugin :: CommandPoller: Отсутствуют учетные данные - проверьте, был ли этот экземпляр запущен с профилем экземпляра IAM

Мой вопрос в том, как я могу получить дополнительную информацию о сообщении об ошибке, которое я получаю при развертывании. Какие учетные данные отсутствуют (указаны неверно), что приводит к появлению сообщения об ошибке в файле журнала?


person Slava Mvv    schedule 31.05.2016    source источник


Ответы (3)


Я думаю, вам не хватает service-role-arn при создании группы развертывания. Сервисная роль ARN позволяет AWS CodeDeploy действовать от имени пользователя при взаимодействии с сервисами AWS. Роль службы ARN относится к роли развертывания кода, которую вы могли создать ранее.

Кроме того, убедитесь, что ваша политика развертывания установлена ​​на CodeDeployDefault.OneAtATime. Это сделано для того, чтобы не отключать все экземпляры, если вы нажимаете неправильную или неудачную сборку.

person Suken Shah    schedule 01.06.2016
comment
Спасибо. Похоже, это проблема со служебными ролями. Однако я создал новый инстанс и указал для него список политик: AmazonEC2FullAccess, AmazonEC2RoleforAWSCodeDeploy, AWSCodeDeployFullAccess, AWSCodeDeployRole, PowerUserAccess. Затем я попытался развернуть пример Hello World Amazon, и это не удалось с тем же исключением. Я использовал политику в роли службы AWSCodeDeployRole. Какие политики я должен установить для роли экземпляра? - person Slava Mvv; 01.06.2016
comment
Хорошо, поэтому создайте новую роль под названием say my-code-deploy. Назначьте ему политику AWSCodeDeployRole. Затем перейдите в группу развертывания кода и назначьте свою роль службы my-code-deploy. Надеюсь это поможет! - person Suken Shah; 02.06.2016
comment
К сожалению, это не помогло. То же сообщение об ошибке. Думаю, проблема в мельчайших деталях. :) Сообщу как (если) решит проблему. - person Slava Mvv; 02.06.2016
comment
Сукен, ваша подсказка мне очень помогла! Проблема заключалась в том, что целевой EC2 не имел роли IAM. - person Slava Mvv; 03.06.2016
comment
Это потрясающе! Извините за поздний ответ. Я отсутствовал последние несколько дней. - person Suken Shah; 06.06.2016

Я попробовал шаги Сукен Шаха, которые мне не помогли. Для меня решено:

1) Создание IamInstanceProfile, скажем, веб-сервера.

2) Добавление AWSCodeDeployRole на веб-сервер IamInstanceProfile.

3) Добавление следующего в отношения доверия AWSCodeDeployRole: "codedeploy.amazonaws.com", "ec2.amazonaws.com", "codedeploy.MY_REGION.amazonaws.com"

4) Перезагрузка ec2

person ishandutta2007    schedule 12.03.2017
comment
Какое-то время чесал в затылке, потому что все выглядело хорошо ... просто нужно было перезагрузить мои экземпляры EC2! - person danwild; 18.03.2017
comment
Я. Если вы думаете, что у вас все в порядке, но он все еще не работает, остановите / запустите ec2. Работал у меня. - person Braden Holt; 30.01.2018

Убедитесь, что роль, которую вы используете для EC2, имеет политику AWSCodeDeployRole, а доверительные отношения имеют службу ec2.amazonaws.com. если вам нужно изменить роль, перезапустите EC2

person vedat    schedule 06.06.2018