最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

AWS Beanstalk

网站源码admin21浏览0评论

AWS Beanstalk

AWS Beanstalk

[当我部署新版本时,我试图将文件从S3存储桶复制到Beanstalk上的NodeJS应用程序。

到目前为止我所做的:

  1. 创建了一个S3存储桶并上传了文件。
  2. 创建了允许Beanstalk实例(aws-beanstalk-ec2-role)读取存储桶文件的IAM策略。
  3. 设置存储桶策略以允许aws-beanstalk-ec2-role访问文件。
  4. 使用以下命令在我的应用程序中.ebextensions / app.config中创建了一个配置文件:
  Resources:
    AWSEBAutoScalingGroup:
        Metadata:
            AWS::CloudFormation::Authentication:
                S3Auth:
                    type: "s3"
                    buckets: ["bucket-name"]
                    roleName: aws-elasticbeanstalk-ec2-role

  files:
    "/tmp/deployment/application/file_needed.json" :
      mode: "000644"
      owner: root
      group: root
      authentication: "S3Auth"
      source: https://[bucket-name].s3.[region].amazonaws/origin_file.json

应用程序部署没有错误,但是文件file_needed.json没有被复制?

更新:尝试使用其他文件夹目标(/ tmp)后,我发现文件已复制。我所知道的是,Beanstalk首先将文件提取到/ tmp / deployment / application /,然后将其移动到/ var / app / current。如何获取文件以复制到应用程序的根目录?

回答如下:

原因可能是区分大小写的问题。在AWS :: CloudFormation :: Authentication中,类型设置为“ s3”,而不是“ S3”。

也尝试从存储桶URL中删除“区域”:

source: https://bucket-name.s3.amazonaws/origin_file.json

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论