EC2上传失败了S3

时间:2014-11-30 21:25:17

标签: amazon-ec2 amazon-s3

我正在尝试将文件从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

我还应该做些什么呢?

2 个答案:

答案 0 :(得分:3)

InvalidAccessKeyId表示访问密钥和密钥无效。

访问密钥(及其相应的密钥)可以与以下任意一个相关联:

  • 主(或根)凭据或
  • 身份和访问管理(IAM)用户

建议不要每天使用Master凭据。 (见IAM Best Practices。)

如果您的凭据与IAM用户相关联,则可以生成一组新的凭据

  • 转到身份和访问管理(IAM)
  • 选择用户
  • 管理访问密钥
  • 创建访问密钥

将显示新的密钥和密钥。尝试在CLI配置中使用它们。

任何时候最多可以将两组访问密钥与用户关联。

答案 1 :(得分:0)

建议对EC2实例使用IAM角色而不是IAM访问密钥。只需创建一个IAM角色来访问S3并将其链接到您的EC2实例,您就可以根据角色的策略列出,下载和上传S3存储桶中的文件。

它更安全,您无需配置您的aws凭据。