あとから Role をアタッチしてしまって CodeDeploy に失敗する場合は codedeploy-agent を再起動すれば良い

タイトルの通りです。

EC2インスタンスを作成した後で、CodeDeployを使いたくなり、色々設定してやってみてもなかなかデプロイに成功してくれませんでした。

必要なRoleはアタッチしているはずですが、以下のようなエラーが出続けました。

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.

結果的には、 codedeploy-agent を再起動するだけで解決しました。

sudo service codedeploy-agent restart

AWSのドキュメントの通りに順番にやっていれば、Roleをアタッチしたあとでエージェントをインストールする流れになっているのでハマることは無いはずなのですが、ドキュメントを無視してしまっていることが垣間見えます... docs.aws.amazon.com