本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 S3 檔案的同步
S3 檔案可讓您透過同步組態,控制檔案系統和連結的 S3 儲存貯體之間的資料流。預設設定會平衡大多數工作負載的延遲和成本,但您可以調整它們以符合您的存取模式。預先匯入更多資料可降低讀取延遲,同時產生更高的儲存和寫入費用。匯入較少的資料可降低儲存成本,但表示從 S3 提供更高的讀取延遲。每個組態有兩個元件:匯入資料規則,可控制哪些資料會複製到檔案系統,以及何時和過期資料規則,可控制未使用的資料保留在檔案系統上的時間。您可以使用 AWS 管理主控台或 PutSynchronizationConfiguration API 更新這些規則。
匯入資料規則
匯入資料規則會控制將資料從儲存貯體複製到檔案系統的方式。每個檔案系統最多可以有 10 個匯入資料規則。每個匯入資料規則都有下列參數:
字首 – 套用規則的 S3 字首。為檔案系統中的整個儲存貯體 (檔案系統範圍) 或特定字首 (例如 "data/ml/") 指定空字串 ("")。除非使用「」指定整個儲存貯體,否則字首必須以正斜線 (/) 結尾。您必須僅包含根目錄的一個匯入規則。預設:"" (整個儲存貯體或檔案系統範圍)。
trigger – 何時匯入資料:ON_DIRECTORY_FIRST_ACCESS 或 ON_FILE_ACCESS。預設:ON_DIRECTORY_FIRST_ACCESS。
ON_DIRECTORY_FIRST_ACCESS – 在您第一次存取目錄時匯入檔案資料。例如,當您第一次透過列出目錄的內容或在其中開啟檔案來存取目錄時,會匯入該目錄中小於 sizeLessThan 閾值的所有直接子檔案的資料。此選項適用於第一次存取檔案時需要低延遲的工作負載。
ON_FILE_ACCESS – 只有在第一次讀取檔案時,才會匯入檔案資料。此選項可將匯入的資料降至最低,因為第一次讀取時會有較高的延遲。
sizeLessThan – 要自動匯入的檔案大小上限 (以位元組為單位)。雖然 S3 檔案匯入所有檔案的中繼資料,但只會匯入小於此閾值之檔案的資料。下限:0 個位元組 (未匯入資料,仍會匯入中繼資料)。上限:52,673,613,135,872 位元組 (48 TiB)。預設:131,072 位元組 (128 KB)。
字首比對行為
當多個匯入資料規則符合檔案時,S3 檔案會套用具有最特定字首的規則。例如,假設您有三個規則:
規則 1:字首 = "" (整個儲存貯體)、sizeLessThan = 64 KB、觸發 = ON_FILE_ACCESS
規則 2:字首 = "hot/"、sizeLessThan = 1 MB、觸發 = ON_DIRECTORY_FIRST_ACCESS
規則 3:字首 = "hot/largeData/", sizeLessThan = 256 KB, trigger = ON_DIRECTORY_FIRST_ACCESS
對於 hot/largeData/data.txt 的檔案,S3 檔案會套用規則 3。對於 hot/data.txt 的檔案,S3 檔案會套用規則 2。對於 cold/data.txt 的檔案,S3 檔案會套用規則 1,因為冷/字首沒有特定規則。
過期資料規則
過期資料規則控制何時從檔案系統移除未使用的資料,以最佳化儲存成本。S3 檔案會在指定的持續時間內未讀取資料,且其變更已同步至 S3 儲存貯體後移除資料。每當讀取檔案時,其過期計時器就會重設,延長資料保留在檔案系統中的時間。您可以在過期資料規則中指定下列參數:
daysAfterLastAccess – 從檔案系統移除資料時,上次讀取後的天數。最短:1 天。上限:365 天。預設:30 天。
如果您有經常存取相同資料的長時間執行工作負載,請考慮較長的過期期間 (30–90 天)。對於暫時資料,請考慮較短的期間 (1-7 天)。
範例組態
一般用途檔案共用 (預設組態) – 開發人員和資料科學家團隊會掛載 S3 檔案系統,以共用程式碼、組態檔案和小型資料集。大多數檔案都低於 128 KB,而且會在一天中重複讀取。預設組態適用於此工作負載:ON_DIRECTORY_FIRST_ACCESS 會在第一次存取目錄中的任何檔案時匯入中繼資料和小型檔案資料,這在相同目錄中的檔案可能會一起存取時很有效,例如專案中的來源檔案或部署中的組態檔案。任何使用者後續存取都很快速。當使用者開啟大型檔案,例如日誌封存時,S3 檔案會自動直接從 S3 串流,以獲得高輸送量。30 天過期時段會保留檔案系統上主動使用的檔案,無需手動清除。
具有重複讀取的 ML 訓練 – 訓練任務會跨多個 epoch 重複讀取數千個小型檔案 (<10 MB)。若要將延遲降至最低,請使用 ON_DIRECTORY_FIRST_ACCESS 設定高 sizeLessThan 閾值 (例如 10 MB),以便在訓練指令碼先列出每個目錄時預先載入檔案資料。設定短暫過期 (例如 3 天),以便在訓練任務完成後,立即從檔案系統移除資料。
具有廣泛檔案探索的代理程式工作負載 – AI 代理程式會探索大型文件、程式碼或知識庫檔案的儲存庫來回答查詢,並在搜尋相關內容時讀取許多小型檔案一次。將 sizeLessThan 設定為 0,這樣就不會將資料匯入檔案系統。代理程式可以低延遲瀏覽完整的目錄樹狀目錄來探索檔案,而每個檔案讀取都是直接從 S3 提供。如此可讓接觸許多檔案的工作負載保持低成本,但很少重新檢視相同的檔案,並在您新增更多客服人員並行讀取時自然擴展。
冷熱字首 – 檔案系統包含 下經常存取的組態檔案,config/以及 下不常存取的封存資料archive/。建立兩個匯入規則:一個用於具有config/高 sizeLessThan 和 ON_DIRECTORY_FIRST_ACCESS 的 ,另一個用於archive/將 sizeLessThan 設定為 0 且 ON_FILE_ACCESS 的 。這會將組態檔案保留在檔案系統上,以便快速存取,同時避免很少讀取的封存資料儲存成本。