Kat*_*ang 3 amazon-s3 amazon-ec2 http-error aws-cloudformation amazon-iam
我正在尝试通过实例的 userdata 属性将文件从 S3 存储桶下载到实例。但是,我收到错误:
调用 HeadObject 操作时发生客户端错误 (301):永久移动。
我使用 IAM 角色、托管策略和实例配置文件来为实例提供对 s3 存储桶的访问权限:
Run Code Online (Sandbox Code Playgroud)"Role": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com", "s3.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "ManagedPolicyArns": [ { "Ref": "ManagedPolicy" } ] }, "Metadata": { "AWS::CloudFormation::Designer": { "id": "069d4411-2718-400f-98dd-529bb95fd531" } } }, "RolePolicy": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "S3Download", "PolicyDocument": { "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::mybucket/*" } ] }, "Roles": [ { "Ref": "Role" } ] }, "Metadata": { "AWS::CloudFormation::Designer": { "id": "babd8869-948c-4b8a-958d-b1bff9d3063b" } } }, "InstanceProfile": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Path": "/", "Roles": [ { "Ref": "Role" } ] }, "Metadata": { "AWS::CloudFormation::Designer": { "id": "890c4df0-5d25-4f2c-b81e-05a8b8ab37c4" } } },
我尝试使用 userdata 属性中的这一行来下载文件:
aws s3 cp s3://mybucket/login.keytab 目的地目录/
对于出了什么问题有什么想法吗?如果我公开该文件,然后从命令行使用 wget,我可以成功下载该文件,但由于某种原因,使用 cp 时找不到存储桶/文件,并且该文件不可公开访问。
Moved Permanently通常表示您正在被重定向到该对象的位置。这通常是因为请求被发送到位于不同区域的端点。
添加一个--region参数,其中区域与存储桶的区域相匹配。例如:
aws s3 cp s3://mybucket/login.keytab destination_directory/ --region ap-southeast-2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |