今天,我们的CodeDeploy设置开始失败,其中一个实例出现以下错误:
整体部署失败,因为太多个别实例部署失败,可用于部署的健康实例太less,或部署组中的某些实例遇到问题。 (错误代码:HEALTH_CONSTRAINTS)
在两台服务器上检查/var/log/aws/codedeploy-agent/codedeploy-agent.log时,其中一个出现以下错误:
2017-07-13 15:45:57 INFO [codedeploy-agent(10192)]: [Aws::CodeDeployCommand::Client 400 0.013838 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-west-2:088736878764:instance/xxxx") Aws::CodeDeployCommand::Errors::UnrecognizedClientException The security token included in the request is invalid.
2017-07-13 15:45:57 ERROR [codedeploy-agent(10192)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Cannot reach InstanceService: Aws::CodeDeployCommand::Errors::UnrecognizedClientException - The security token included in the request is invalid.
如何解决这个问题呢? 我不知道该从哪开始。
此服务器上唯一的更改是在codedeployagent.yml中设置:max_revisions: 2 ,重新启动codedeploy-agent,然后删除(由于磁盘空间限制)/ opt / codedeploy-agent / deployment-root /中的旧修订文件夹date为2016年。
我记得从一个活动的修订版文件夹(具有长哈希ID名称的文件夹)中手动删除修订版(以d-xxx开头的修订版)会给CodeDeploy带来很大的问题,唯一的解决scheme是重新创build部署应用程序。 但是,这不可能是这种情况,可以吗?
我已经发布了相同的q到https://forums.aws.amazon.com/thread.jspa?messageID=794706#794706 ,我会离开这里,以防万一它popup在谷歌。
这是不工作的,因为我有一套configuration在〜/ .aws中的证书,无论什么原因,它开始干扰CodeDeploy,即使这个configuration已经存在了2年多了,而且工作得很好。