代码之家  ›  专栏  ›  技术社区  ›  Kate Wang

无法从Cloudformation中的EC2实例访问S3——调用HeadObject操作时发生客户端错误(301):永久移动

  •  2
  • Kate Wang  · 技术社区  · 9 年前

    调用HeadObject操作时发生客户端错误(301):

    我使用IAM角色、托管策略和实例配置文件来为s3 bucket提供实例可访问性:

        "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"
                }
            }
        },
    

    aws s3 cp s3://mybucket/login.keytab 目标_目录/

    2 回复  |  直到 9 年前
        1
  •  4
  •   John Rotenstein    9 年前

    Moved Permanently 通常表示您被重定向到对象的位置。这通常是因为请求被发送到位于 不同地区 .

    添加 --region 参数,其中区域与存储桶的区域匹配。例如:

    aws s3 cp s3://mybucket/login.keytab destination_directory/ --region ap-southeast-2
    
        2
  •  0
  •   Anand Vidvat noushin    5 年前

    /root/.aws/credentials 文件和添加类似区域 region = ap-southeast-2