无法从附加了 IAM 角色的 Windows 服务器下载 CodeDeploy 代理
Unable to download CodeDeploy agent from Windows Server with IAM Role attached
我正在尝试按照 AWS 文档下载 codedeploy:
Install the CodeDeploy agent for Windows Server
为此,我需要 运行 执行以下命令,该命令基本上将文件下载到我所在地区 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
在那个实例上,我附加了一个具有 AmazonS3FullAccess 策略的 IAM 角色。执行命令时出现此错误:
Read-S3Object : No credentials specified or obtained from persisted/shell defaults.
我知道我可以通过添加个人凭据来解决这个问题,但由于这被认为不是一个好的做法,我想下载客户端而不用这种方式处理它。
以防万一有人遇到类似问题。
这是因为我之前将自定义 windows AMI 迁移到不同的 AWS 区域。
实例配置文件元数据服务器指向旧区域服务器。您需要将其更改为指向新区域:
Import-Module (Join-Path $env:ProgramData 'Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1')
Add-Routes
我正在尝试按照 AWS 文档下载 codedeploy:
Install the CodeDeploy agent for Windows Server
为此,我需要 运行 执行以下命令,该命令基本上将文件下载到我所在地区 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
在那个实例上,我附加了一个具有 AmazonS3FullAccess 策略的 IAM 角色。执行命令时出现此错误:
Read-S3Object : No credentials specified or obtained from persisted/shell defaults.
我知道我可以通过添加个人凭据来解决这个问题,但由于这被认为不是一个好的做法,我想下载客户端而不用这种方式处理它。
以防万一有人遇到类似问题。
这是因为我之前将自定义 windows AMI 迁移到不同的 AWS 区域。
实例配置文件元数据服务器指向旧区域服务器。您需要将其更改为指向新区域:
Import-Module (Join-Path $env:ProgramData 'Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1')
Add-Routes