2

我正在尝试使用 Powershell 连接到 AWS s3,但是当我运行 Get-S3Bucket 和我想要运行的任何 PS 脚本时遇到了这个错误

“GET-S3BucketL 名称解析失败,尝试访问区域 eu-west-1 中的服务(提供给 -Region 参数或配置的 shell 默认值))

我的配置:

  1. Powershell 工具包:AWSToolsAndSDKForNet_sdk-3.3.211.0_ps-3.3.210.0_tk-1.13.0.4.msi

  2. Set-AWSCredential -AccessKey ABC -SecretKey 123 -StoreAs aws-access

  3. Initialize-AWSDefaultConfiguration -ProfileName aws-access -Region eu-west-1 添加到 Powershell 配置文件

  4. Import-Module "C:\Program Files (x86)\AWSTools\PowerShell\AWSPowerShell\AWSPowerShell.psd1" 添加到 Powershell 配置文件

  5. 全部在 Windows 2008 R2 数据中心上

检查:C:\Users\xxxxx\AppData\Local\AWSToolkit\RegisteredAccounts.json 是否正确

测试: - 连接通过使用上述相同 AWS 凭证的第三方备份软件工作。我可以浏览到存储桶没问题。〜这太烦人了 - 以上所有内容都允许从我自己的桌面连接/编写脚本〜Win10

由于成本问题,我无法请求 AWS Support

4

1 回答 1

0

如果您从附加了 IAM 角色并可以访问 s3 存储桶的 AWS 实例运行此命令(这使您无需配置凭证即可访问 aws 服务),也会遇到此错误。在这种情况下,您需要在该 VPC 中创建一个 S3 端点,以通过 powershell 在内部连接到 S3。它仍然可以通过在 shell 上配置凭证来完成,但这违背了 IAM 角色的目的。

希望这可以帮助某人。

于 2018-11-15T07:32:01.943 回答