本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon S3 File Gateway 的運作方式
若要使用 S3 檔案閘道,請先下載閘道的 VM 映像。然後,您可以從 AWS Management Console 或透過 Storage Gateway API 啟用閘道。您也可以使用 Amazon EC2 映像建立 S3 檔案閘道。
啟用 S3 檔案閘道之後,您可以建立和設定檔案共用,並將該共用與 Amazon Simple Storage Service (Amazon S3) 儲存貯體建立關聯。這樣做可讓用戶端使用網路檔案系統 (NFS) 或伺服器訊息區塊 (SMB) 通訊協定存取共用。寫入檔案共享的檔案會成為 Amazon S3 中的物件,路徑為 金鑰。檔案和物件之間有one-to-one的映射,而閘道會在您變更檔案時以非同步方式更新 Amazon S3 中的物件。Amazon S3 儲存貯體中的現有物件會顯示為檔案系統中的檔案,而金鑰會變成路徑。物件會使用 Amazon S3 伺服器端加密金鑰 (SSE-S3) 進行加密。所有資料傳輸都是透過 HTTPS 完成。
將 HTTPS 資料上傳請求傳送至 Amazon S3 時,File Gateway 會將上傳資料的 MD5 檢查總和填入 Content-MD5 標頭。 MD5 如果 Amazon S3 計算的 MD5 檢查總和與從檔案閘道接收的值不相符,使用此標頭會導致 Amazon S3 傳回失敗。如果傳回此類失敗,檔案閘道會重新傳送請求。
此服務 AWS 會使用分段平行上傳或位元組範圍下載來最佳化閘道與 之間的資料傳輸,以更好地使用可用的頻寬。本機快取會維護,以提供最近存取資料的低延遲存取,並減少資料輸出費用。CloudWatch 指標可讓您深入了解 VM 上的資源使用情形,以及進出的資料傳輸 AWS。CloudTrail 會追蹤所有 API 呼叫。
使用 S3 File Gateway 儲存,您可以執行這類任務,例如將雲端工作負載擷取至 Amazon S3、執行備份和封存、分層,以及將儲存資料遷移至 AWS 雲端。下圖提供 Storage Gateway 的檔案儲存部署概觀。

將檔案上傳至 Amazon S3 時,S3 File Gateway 會將檔案轉換為 S3 物件。 Amazon S3 針對 S3 File Gateway 和 S3 物件上的檔案共用執行的檔案操作之間的互動,需要仔細考慮在檔案和物件之間轉換時的特定操作。
常見的檔案操作會變更檔案中繼資料,這會導致刪除目前的 S3 物件,並建立新的 S3 物件。下表顯示檔案操作範例,以及對 S3 物件的影響。
檔案操作 | S3 物件影響 | 儲存類別隱含 |
---|---|---|
重新命名檔案 |
取代現有的 S3 物件,並為每個檔案建立新的 S3 物件 |
可能需要支付提早刪除費用和擷取費用 |
重新命名資料夾 |
取代所有現有的 S3 物件,並為資料夾結構中的每個資料夾和檔案建立新的 S3 物件 |
可能需要支付提早刪除費用和擷取費用 |
變更檔案/資料夾許可 |
取代現有的 S3 物件,並為每個檔案或資料夾建立新的 S3 物件 |
可能需要支付提早刪除費用和擷取費用 |
變更檔案/資料夾擁有權 |
取代現有的 S3 物件,並為每個檔案或資料夾建立新的 S3 物件 |
可能需要支付提早刪除費用和擷取費用 |
附加至檔案 |
取代現有的 S3 物件,並為每個檔案建立新的 S3 物件 |
可能需要支付提早刪除費用和擷取費用 |
當 NFS 或 SMB 用戶端將檔案寫入 S3 檔案閘道時,檔案閘道會將檔案的資料上傳到 Amazon S3,後面接著其中繼資料 (擁有者、時間戳記等)。上傳檔案資料會建立 S3 物件,並上傳檔案的中繼資料會更新 S3 物件的中繼資料。此程序會建立另一個版本的物件,進而產生兩個版本的物件。如果 S3 版本控制已開啟,這兩個版本都會儲存。
當 NFS 或 SMB 用戶端在上傳到 Amazon S3 之後在 S3 檔案閘道中修改檔案時,S3 檔案閘道會上傳新的或修改的資料,而不是上傳整個檔案。檔案修改會導致建立新的 S3 物件版本。
當 S3 檔案閘道上傳較大的檔案時,可能需要先上傳較小的檔案區塊,用戶端才能寫入 S3 檔案閘道。造成這種情況的一些原因包括釋放快取空間或高速率寫入檔案共享。這可能會導致 S3 儲存貯體中有多個版本的物件。
在設定生命週期政策將物件移至不同的儲存類別之前,您應該監控 S3 儲存貯體以判斷物件存在多少版本。您應該設定舊版的生命週期過期,以將 S3 儲存貯體中物件的版本數量降至最低。在 S3 儲存貯體之間使用相同區域複寫 (SRR) 或跨區域複寫 (CRR) 會增加使用的儲存體。