小编Ale*_*erF的帖子

AWS elastic beanstalk:部署时从 S3 下载文件时出现 Errno 404

我正在关注有关在将新实例部署到 Elastic beanstalk 时从 s3 获取证书的文档。说明非常简单:在下面创建一个配置文件,app-root/.ebextensions内容如下:

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-west-2-123456789012"]
          roleName: 
            "Fn::GetOptionSetting": 
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"
files:
  # Private key
  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    authentication: "S3Auth"
    source: https://s3-us-west-2.amazonaws.com/elasticbeanstalk-us-west-2-123456789012/server.key
Run Code Online (Sandbox Code Playgroud)

其中链接指向您的证书/密钥/其他内容上的位置。

但是,当我部署应用程序包(zip)时,构建失败,并[Errno 404] HTTP Error 404...提示在指定位置找不到我的文件,这与文件位于精确指定位置的事实相反,因为我可以从命令行(相同)当然是地区)。aws s3 cp s3://<pasted-link-to-file> .

另外,从表面上看,这似乎不是权限问题,因为如果是的话,我预计会出现“拒绝访问”之类的信息;存储桶策略授予以下操作aws-elasticbeanstalk-ec2-role

"Action": [
    "s3:ListBucket",
    "s3:ListBucketVersions",
    "s3:GetObject",
    "s3:GetObjectVersion"
]
Run Code Online (Sandbox Code Playgroud)

aws-elasticbeanstalk-ec2-role我还在IAM 中附加了完整的 s3 访问策略。

但事实上,我可以从 cli 访问这些文件,但aws-elasticbeanstalk-ec2-role找不到它们,这表明 a) …

amazon-s3 amazon-iam elastic-beanstalk

6
推荐指数
1
解决办法
2396
查看次数

标签 统计

amazon-iam ×1

amazon-s3 ×1

elastic-beanstalk ×1