設定和使用掛載點 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定和使用掛載點

若要使用 Amazon S3 的掛載點,您的主機需要有效的 AWS 憑證來存取您要掛載的儲存貯體或儲存貯體。如需不同的身分驗證方法,請參閱上的掛載點AWS 憑證 GitHub.

例如,您可以為此建立新的 AWS Identity and Access Management (IAM) 使用者和角色。請確定此角色可存取您要掛載的一或多個儲存貯體。您可以使用執行個體設定檔將 IAM 角色傳遞至 Amazon EC2 執行個體。

使用適用於 Amazon S3 的掛載點

使用適用於 Amazon S3 的掛載點執行下列操作:

  1. 使用 mount-s3 命令掛載儲存貯體。

    在下列範例中,將 amzn-s3-demo-bucket 取代為您的 S3 儲存貯體名稱,並將 ~/mnt 取代為您主機上要掛載 S3 儲存貯體的目錄。

    mkdir ~/mnt mount-s3 amzn-s3-demo-bucket ~/mnt

    由於掛載點用戶端預設會在背景執行,因此您現在可透過 ~/mnt 目錄存取 S3 儲存貯體中的物件。

  2. 透過掛載點存取儲存貯體中的物件。

    在本機掛載儲存貯體之後,您可以使用通用 Linux 命令,例如 catls,以使用 S3 物件。適用於 Amazon S3 的掛載點會將您 S3 儲存貯體中的金鑰解譯為檔案系統路徑,方法是使用正斜線 (/) 字元分割金鑰。例如,如果您的儲存貯體中有物件金鑰 Data/2023-01-01.csv,那麼您的掛載點檔案系統中將會有名為 Data 的目錄,且當中會有名為 2023-01-01.csv 的檔案。

    Amazon S3 的掛載點刻意不實作檔案系統的完整 POSIX 標準規格。掛載點會針對需要透過檔案系統介面對儲存在 Amazon S3 中的資料進行高輸送量讀取和寫入存取權的工作負載最佳化,否則不會依賴檔案系統功能。如需詳細資訊,請參閱 上的 Amazon S3 檔案系統行為掛載點 GitHub。 需要更豐富的檔案系統語義的客戶應考慮其他 AWS 檔案服務,例如 Amazon Elastic File System (Amazon EFS) Amazon FSx

  3. 使用 umount 命令卸載儲存貯體。此命令會卸載 S3 儲存貯體並結束掛載點。

    若要使用下列範例命令,請將 ~/mnt 取代為您的 S3 儲存貯體掛載所在主機上的目錄。

    umount ~/mnt
    注意

    若要取得此命令的選項清單,請執行 umount --help

如需其他掛載點組態詳細資訊,請參閱 上的 S3 儲存貯體組態檔案系統組態 GitHub.

在掛載點中設定快取

Amazon S3 的掛載點支援不同類型的資料快取。若要加速重複讀取請求,您可以選擇加入以下內容:

  • 本機快取 – 您可以在 Amazon EC2 執行個體儲存體或 Amazon Elastic Block Store 磁碟區中使用本機快取。如果您重複從相同的運算執行個體讀取相同的資料,而且本機執行個體儲存體中有重複讀取資料集未使用的空間,您應該選擇加入本機快取。

  • 共用快取 – 您可以在 S3 Express One Zone 上使用共用快取。如果您重複從多個運算執行個體讀取小型物件,或者您不知道重複讀取資料集的大小,並且想要從快取大小的彈性中受益,您應該選擇加入共用快取。選擇加入後,Mountpoint 會在使用 S3 Express One Zone 的目錄儲存貯體中保留大小最多為 1 MB 的物件。

  • 合併本機和共用快取 – 如果您在本機快取中有未使用的空間,但也想要跨多個執行個體共用快取,您可以選擇同時加入本機快取和共用快取。

在掛載點中快取非常適合在多次讀取過程中,重複讀取未變更的相同資料的使用案例。例如,您可以使用快取搭配需要多次讀取訓練資料集的機器學習訓練任務,以提高模型準確度。

如需如何在掛載點中設定快取的詳細資訊,請參閱下列範例。

本機快取

您可以選擇加入帶有 --cache CACHE_PATH旗標的本機快取。在下列範例中,取代 CACHE_PATH 檔案路徑至您要快取資料的目錄。Replace (取代) amzn-s3-demo-bucket 使用 S3 儲存貯體的名稱,並取代 ~/mnt 包含主機上要掛載 S3 儲存貯體的目錄。

mkdir ~/mnt mount-s3 --cache CACHE_PATH amzn-s3-demo-bucket ~/mnt

當您在掛載 S3 儲存貯體時選擇加入本機快取時,如果子目錄不存在,Mountpoint 會在設定的快取位置建立空的子目錄。當您第一次掛載儲存貯體時,當您卸載時,掛載點會刪除本機快取的內容。

重要

如果您啟用本機快取,掛載點會在掛載時提供的本機快取位置,保留掛載 S3 儲存貯體中未加密的物件內容。為了保護您的資料,您應該使用檔案系統存取控制機制來限制對資料快取位置的存取。

共用快取

如果您重複從多個運算執行個體讀取小型物件 (最多 1 MB),或您重複讀取的資料集大小通常超過本機快取的大小,您應該在 S3 Express One Zone 中使用共用快取。當您從多個執行個體重複讀取相同的資料時,這會避免對掛載的 S3 儲存貯體提出備援請求,進而改善延遲。

選擇加入共用快取後,您需要為 S3 Express One Zone 中目錄儲存貯體中快取的資料付費。您還需要支付針對 S3 Express One Zone 目錄儲存貯體中資料提出的請求。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價。掛載點絕不會從目錄儲存貯體中刪除快取的物件。若要管理儲存成本,您應該在目錄儲存貯體上設定生命週期政策,以便 Amazon S3 會在您指定的一段時間後過期 S3 Express One Zone 中的快取資料。如需詳細資訊,請參閱 上的 Amazon S3 快取組態掛載點 GitHub.

若要在將一般用途儲存貯體掛載至運算執行個體時選擇在 S3 Express One Zone 中快取,請使用 --cache-xz旗標,並將目錄儲存貯體指定為您的快取位置。在下列範例中,取代 user input placeholders.

mount-s3 amzn-s3-demo-bucket ~/mnt --cache-xz amzn-s3-demo-bucket--usw2-az1--x-s3

合併本機和共用快取

如果您的執行個體上有未使用的空間,但您也想要在多個執行個體中使用共用快取,您可以選擇同時加入本機快取和共用快取。透過此快取組態,您可以在本機儲存體中快取所需資料時,避免從相同執行個體到目錄儲存貯體中共用快取的備援讀取請求。這可以降低請求成本並改善效能。

若要在掛載 S3 儲存貯體時選擇同時加入本機快取和共用快取,您可以使用 --cache--cache-xz旗標指定兩個快取位置。若要使用下列範例來選擇加入本機和共用快取,請取代 user input placeholders.

mount -s3 amzn-s3-demo-bucket ~/mnt --cache /path/to/mountpoint/cache --cache -xz amzn-s3-demo-bucket--usw2-az1--x-s3

如需詳細資訊,請參閱 上的 Amazon S3 快取組態掛載點 GitHub.

重要

如果您啟用共用快取,Mountpoint 會將物件內容從掛載的 S3 儲存貯體複製到您提供的 S3 目錄儲存貯體中,作為共用快取位置,讓具有 S3 目錄儲存貯體存取權的任何呼叫者都能存取。為了保護您的快取資料,您應該遵循 Amazon S3 的安全最佳實務 ,以確保您的儲存貯體使用正確的政策且無法公開存取。您應該使用專用於 Mountpoint 共用快取的目錄儲存貯體,並僅授予 Mountpoint 用戶端存取權。