我正在尝试将文件从EC2实例上传到S3存储桶并收到此错误:
[ec2-user@zzzzzzz parsers]$ aws s3 cp file.txt s3://bucket/output/file.txt
上传失败:./ file.txt到s3://bucket/output/file.txt调用PutObject操作时发生客户端错误(InvalidAccessKeyId):您提供的AWS Access Key ID在我们的记录中不存在。
我已经在EC2中配置了aws配置文件,如下所示:
[ec2-user@zzzzz parsers]$ aws configure list
Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************NTr6 config-file secret_key ****************AFJQ config-file region us-west-2 config-file ~/.aws/config
我还应该做些什么呢?
答案 0 :(得分:3)
InvalidAccessKeyId
表示访问密钥和密钥无效。
访问密钥(及其相应的密钥)可以与以下任意一个相关联:
建议不要每天使用Master凭据。 (见IAM Best Practices。)
如果您的凭据与IAM用户相关联,则可以生成一组新的凭据:
将显示新的密钥和密钥。尝试在CLI配置中使用它们。
任何时候最多可以将两组访问密钥与用户关联。
答案 1 :(得分:0)
建议对EC2实例使用IAM角色而不是IAM访问密钥。只需创建一个IAM角色来访问S3并将其链接到您的EC2实例,您就可以根据角色的策略列出,下载和上传S3存储桶中的文件。
它更安全,您无需配置您的aws凭据。