【问题标题】:Chef 12 + AWS Opsworks + Deploy App from s3Chef 12 + AWS Opsworks + 从 s3 部署应用程序
【发布时间】:2016-12-12 21:15:33
【问题描述】:

我需要使用 AWS Opsworks 设置部署流程。我已经创建了我的堆栈并添加了相应的层。我已经配置了我的应用程序,它基本上是一个存储在 s3 存储桶中的战争档案

当我触发应用程序的部署事件时,我的配方正在执行,但问题是我得到了一个 s3 url。没有官方的 aws sdk 支持使用 s3 url 复制 s3 文件。

一种方法是我可以拆分 url 并从中获取存储桶密钥和区域,并可以将其与 aws sdk 一起使用。但是正确的方法是什么。有没有其他我可以使用的库。

问这个问题是为了了解什么是正确的做法。

【问题讨论】:

    标签: amazon-web-services amazon-s3 chef-infra aws-opsworks


    【解决方案1】:

    s3_file cookbook,确实可以指定完整的s3 url:

    s3_file "/tmp/somefile" do
        remote_path "/my/s3/key"
        bucket "my-s3-bucket"
        aws_access_key_id "mykeyid"
        aws_secret_access_key "mykey"
        s3_url "https://s3.amazonaws.com/bucket"
        owner "me"
        group "mygroup"
        mode "0644"
        action :create
        decryption_key "my SHA256 digest key"
        decrypted_file_checksum "SHA256 hex digest of decrypted file"
    end
    

    【讨论】:

      【解决方案2】:

      AWS 维护着一本用于与其各种服务集成的说明书。 s3_file 资源应该能够完成您所需要的。这是他们自述文件中的一个示例:

      aws_s3_file '/tmp/foo' do
        bucket 'i_haz_an_s3_buckit'
        remote_path 'path/in/s3/bukket/to/foo'
        aws_access_key aws['aws_access_key_id']
        aws_secret_access_key aws['aws_secret_access_key']
        region 'us-west-1'
      end
      

      您可以通过将其作为依赖项添加到 metadata.rb 中来将其包含在您的说明书中(确保您已下载说明书并在本地说明书路径中)。

      【讨论】:

      • 你能用 s3 url 吗??
      猜你喜欢
      • 2020-10-23
      • 2014-05-25
      • 2016-03-19
      • 2014-09-25
      • 2017-08-16
      • 2016-08-06
      • 2018-02-27
      • 2015-02-09
      • 1970-01-01
      相关资源
      最近更新 更多