0

Я пытаюсь развертывания кода настройки с помощью АМС, но когда я пытаюсь выполнить развертывание, я получаю эту ошибку:AWS Код Deploy - развертывание не удалось

2016-06-08 23:57:11 ERROR [codedeploy-agent(1207)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Cannot reach InstanceService: Aws::CodeDeployCommand::Errors::AccessDeniedException - 
2016-06-08 23:58:41 INFO [codedeploy-agent(1207)]: Version file found in /opt/codedeploy-agent/.version. 
2016-06-08 23:58:41 INFO [codedeploy-agent(1207)]: [Aws::CodeDeployCommand::Client 400 0.055741 0 retries] poll_host_command(host_identifier:"IAM-user-ARN") Aws::CodeDeployCommand::Errors::AccessDeniedException 

У меня есть два IAM роли - один для EC2 и один для приложения для развертывания. S3 ведро имеет набор разрешений для IAM роли, которая используется для развертывания:

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "XXXXXXXX:role/TestRole" 
      }, 
      "Action": [ 
       "s3:Get*", 
       "s3:List*" 
      ], 
      "Resource": "arn:aws:s3:::pmcdeploy/*" 
     } 
    ] 
} 

Что происходит?

ответ

1

Является ли ошибка последовательной? При просмотре кода агента кажется, что у агента может возникнуть проблема с разговором с EC2. Если это постоянная проблема, вы можете поделиться профилем экземпляра EC2.

Также, начинающий агент с verbose option enabled дает намного больше информации о том, что происходит.

Thanks

0

У нас было то, что я думаю, та же проблема. У наших систем был /root/.aws/credentials, который использует CodeDeploy абсолютно, и я не нашел способ сказать ему, чтобы он этого не делал. Особенно нет документации ...

В конце концов, мы переписали все на нашем конце, чтобы гарантировать, что нам больше не понадобится файл учетных данных. С этого момента CodeDeploy использовал профиль экземпляра, и он работал нормально.

0

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

Исключения есть, когда у Вас есть установка корень учетный который имеет приоритет над профилем экземпляра в соответствии с: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence

Тогда AWS SDK используется хост-агент будет использовать учетные данные, сконфигурированные для корневого пользователя вместо экземпляра для настройки запросов.

Одним из способов решения проблемы было бы запустить агент с другим пользователем и не настраивать учетные данные для этого пользователя.

 Смежные вопросы

  • Нет связанных вопросов^_^