Search code examples
amazon-web-servicespowershellamazon-s3aws-code-deploy

Unable to download CodeDeploy agent from Windows Server with IAM Role attached


I am trying to download codedeploy following AWS docs:

Install the CodeDeploy agent for Windows Server

To do it, i need to run following command which basically downloads the file on temporary folder for my region us-east-1:

powershell.exe -Command Read-S3Object -BucketName aws-codedeploy-us-east-1 -Key latest/codedeploy-agent.msi -File c:\temp\codedeploy-agent.msi

On that instance I attached an IAM Role which has AmazonS3FullAccess policy. I'm getting this error when I execute the command:

Read-S3Object : No credentials specified or obtained from persisted/shell defaults.

I'm aware I could fix this adding personal credentials but since this is not considered a good practice I would like to download the client without tackling it this way.


Solution

  • Just in case someone has a similar problem.

    This was caused because I previously migrated a custom windows AMI to a different AWS region.

    The instance profile metadata server was pointing to old region server. You need to change that to point to the new region:

    Import-Module (Join-Path $env:ProgramData 'Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1')
    Add-Routes