簡體   English   中英

AWS OpsWorks-Linux驅動器到S3存儲桶

[英]AWS OpsWorks - Linux drive to S3 Bucket

將設備上的AWS linux實例上的驅動器“符號鏈接”到S3存儲桶的最佳方法是什么?

當前,我正在使用Apache的ProxyPass通過以下代碼將代理/ images /反向傳遞到S3存儲桶。

  ProxyRequests Off

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass /images/ http://s3bucket.s3-website-us-east-1.amazonaws.com/

這很好用,但僅適用於通過Apache的HTTP訪問。 如果我想從PHP本身寫入/ images /目錄,它將在本地寫入。

因此,我正在尋找一種將/ images /重定向到S3存儲桶進行所有類型操作的好方法。 我已經看過S3FS,但是我很樂意這樣做。

我還利用OpsWorks與我的EC2實例一起工作,因此我所采用的任何方法都需要能夠由OpsWorks和/或Chef食譜自動化。

研究的另一個選擇是適用於PHP的AWS開發工具包。 這可能需要我更改將文件寫入/ images /目錄的PHP代碼。 從長遠來看,這可能是解決方案,但是現在我需要另一個解決方案。

盡管s3fs可以偽造到s3的映射,但是您將遇到問題。 問題是S3根本不像磁盤卷。

使用磁盤卷,您可以按塊進行磁盤讀寫。 您還可以在其他操作中鎖定文件。

另一方面,S3是對象存儲系統。 它對整個文件進行操作。

S3FS可以使它工作,但是將文件復制到temp目錄中,以便您可以對其進行寫入,然后在完成后將其復制回S3。

簡單的操作可能會正常工作,例如一次讀取或寫入整個文件,但是任何在塊級別上起作用的操作都可能會失敗。

我確實建議使用Amazon提供的現有客戶端更新您的PHP代碼,這非常容易做到。 除了使用move_uploaded_file ,您還可以使用客戶端代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM