EC2インスタンスにログインしてcodedeployのログを確認するとAws::S3::Errors::AccessDeniedのエラーが発生していた。

$ tail -F /var/log/aws/codedeploy-agent/codedeploy-agent.log

ERROR [codedeploy-agent(22400)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: Aws::S3::Errors::AccessDenied – Access Denied – /opt/codedeploy-agent/vendor/gems/aws-sdk-core-2.11.501/lib/seahorse/client/plugins/raise_response_errors.rb:15:in `call’

EC2インスタンスに対してS3の読み取りを行えるロールを設定しておく必要がある。

https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/getting-started-create-iam-instance-profile.html

CodeDeployAccessDenied