我试图使用aws设置代码部署,但是当我尝试执行部署时,我得到了以下错误:
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实例,一个用于部署应用程序。IAM桶具有用于部署的iam角色的权限集:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "XXXXXXXX:role/TestRole"
},
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::pmcdeploy/*"
}
]
}
怎么一回事?
发布于 2016-06-17 15:33:37
错误是否一致?在查看代理代码时,似乎代理在与EC2对话时遇到了困难。如果这是一个持久的问题,您可以共享EC2实例配置文件。
此外,使用启用详细选项启动代理还提供了更多关于正在发生的事情的信息。
谢谢
发布于 2017-09-19 00:02:20
这实际上与凭证加载的顺序有关。默认情况下,主机代理与根用户一起运行,并且还使用实例配置文件。
当您设置根凭据(它比实例配置文件具有优先级时,根据:http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence ),就会得到异常。
然后,主机代理使用的aws将使用为根用户配置的凭据,而不是使用实例配置文件来配置请求。
解决方法之一是使用不同的用户运行代理,而不为该用户配置任何凭据。
发布于 2016-11-17 13:13:30
我们有我认为同样的问题。我们的系统有一个CodeDeploy绝对使用的/root/..aws/凭据,我没有办法告诉它不要这样做。尤其是没有文件..。
最后,我们重写了结束时的所有内容,以确保不再需要凭据文件。从那一刻起,CodeDeploy就使用了实例配置文件,并且运行良好。
https://stackoverflow.com/questions/37721601
复制相似问题