0

J'ai réussi à déployer le code dans l'instance ec2 hier, soudainement, il montre une erreur bizarre lors du déploiement aujourd'hui.Le déploiement a échoué-CodeDeploy

ERREUR:

The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems. (Error code: HEALTH_CONSTRAINTS) 

Je trouve le problème dans les fichiers journaux dans l'instance EC2 il est dit comme ci-dessous

"InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Missing credentials - please check if this instance was started with an IAM instance profile" 

Je vérifié si mon instance EC2 assumant effectivement un rôle correctement en faisant comme ci-dessous

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/CodeDeployInstanceRole 

il montre ci-dessous la sortie

{ 
"Code" : "AssumeRoleUnauthorizedAccess", 
"Message" : "EC2 cannot assume the role CodeDeployInstanceRole. Please see documentation at http://docs.amazonwebservices.com/IAM/latest/UserGuide/RolesTroubleshooting.html.", 
"LastUpdated" : "2017-01-27T06:23:24Z" 

} 

J'ai fait deux (politique AmazonEC2RoleforAWSCodeDeploy) rôles d'instance CodeDeployInstance de rôle et CodeDeployServiceRole (politique AWSCodeDeployRole) qui sont correctement rôle set.I ajoutée par exemple à l'instance EC2 lors du lancement. Mais je ne sais pas pourquoi mon instance ec2 ne peut pas assumer le rôle d'instance.

Répondre

0

Pour le rôle de profil IAM par exemple, vous voulez vous assurer que dans la relation d'approbation, il fait confiance au point de terminaison ec2. Quelqu'un pourrait accidentellement supprimer cette relation de confiance.