[英]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.