本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon S3 搭配 Amazon EC2 執行個體
Amazon Simple Storage Service (Amazon S3) 是一項物件儲存服務,提供領先業界的可擴展性、資料可用性、安全性和效能。您可以使用 Amazon S3,從 Amazon EC2 執行個體或透過網路從任何位置,存放和擷取各種使用案例的任何資料量,例如資料湖、網站、備份和大數據分析。如需詳細資訊,請參閱什麼是 Amazon S3?
有兩種方式可從 Amazon EC2 執行個體存取 Amazon S3 資料: Amazon EC2
-
檔案存取 – 使用 Amazon S3 檔案將 S3 儲存貯體掛載為執行個體上的高效能檔案系統。
-
物件存取 – 使用 Amazon S3 API、 AWS CLI、 AWS SDKs 或 wget 等工具來複製物件往返 S3。
使用 Amazon S3 檔案存取檔案
Amazon S3 Files 是一種無伺服器檔案系統,可讓您將 S3 一般用途儲存貯體掛載為運算執行個體上的高效能檔案系統。透過 S3 檔案,您可以使用本機掛載路徑上的讀取和寫入等標準檔案系統操作,以檔案形式存取 S3 物件。
您可以在啟動時或在執行中的執行個體上啟動後,將 S3 檔案系統掛載到 EC2 執行個體。
先決條件
使用 EC2 執行個體設定 S3 檔案之前,請確定您有下列項目:
-
S3 檔案系統和至少一個處於可用狀態的掛載目標。如需有關建立 S3 檔案系統的資訊,請參閱《Amazon S3 使用者指南》中的使用 Amazon S3 檔案。 Amazon S3
-
連接執行個體描述檔的 EC2 Linux 執行個體。如需掛載檔案系統所需許可的相關資訊,請參閱《Amazon S3 使用者指南》中的 IAM 角色和政策。
-
允許執行個體與檔案系統掛載目標之間 NFS 流量 (連接埠 2049) 的安全群組。如需所需安全群組設定的資訊,請參閱《Amazon S3 使用者指南》中的安全群組。
使用 EC2 主控台在啟動時將檔案系統掛載至 EC2 執行個體
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
選擇啟動執行個體。
-
在Network settings (網路設定) 中,執行下列操作:
-
選擇編輯。
-
針對子網路,選取子網路。
-
選取預設安全群組,以確保您的 EC2 執行個體可以存取 S3 檔案系統。您無法使用此安全群組透過 Secure Shell (SSH) 存取您的 EC2 執行個體。若要透過 SSH 存取,您可以稍後編輯預設安全群組並新增規則以允許 SSH,或新增允許 SSH 的新安全群組。您可以使用以下設定:
-
Type (類型):SSH
-
Protocol (通訊協定):TCP
-
Port Range (連接埠範圍):22
-
Source (來源):Anywhere (任何位置) 0.0.0.0/0
-
-
-
在設定儲存體下,執行下列動作:
-
在檔案系統下,選擇 S3 檔案。
-
選擇 Add shared file system (新增共用檔案系統)。
-
對於 S3 檔案系統,您的檔案系統會根據您在網路設定中選取的子網路顯示在可用區域中。選擇您要掛載的 S3 檔案系統。如果您沒有任何檔案系統,請選擇建立新的檔案系統來建立新的檔案系統。
-
在 EC2 執行個體上輸入要掛載檔案系統的本機掛載路徑 (例如
/mnt/s3files)。 -
將產生命令來掛載檔案系統並將其新增至 fstab。您可以將此命令新增至進階詳細資訊下的使用者資料欄位。然後,您的 EC2 執行個體將設定為在啟動時以及重新啟動時掛載 S3 檔案系統。您也可以在 EC2 執行個體啟動後執行這些命令。
-
-
在進階詳細資訊下,將執行個體描述檔連接至您的執行個體。您的 IAM 角色必須具有掛載檔案系統和存取 S3 儲存貯體的許可。如需所需許可的詳細資訊,請參閱《Amazon S3 使用者指南》中的 IAM 角色和政策。
-
選擇啟動執行個體。
執行個體啟動後,會安裝所需的軟體公用程式,並掛載檔案系統。您可以透過導覽至本機掛載路徑來檢視檔案系統。
在啟動後將檔案系統掛載至 EC2 執行個體
-
透過 Secure Shell (SSH) 或使用 EC2 主控台中的 EC2 Instance Connect 連線至 EC2 執行個體。
-
若要掛載 S3 檔案系統,請使用掛載協助程式公用程式
amazon-efs-utils。根據您的 Linux 發行版本,使用下列其中一個命令來安裝amazon-efs-utils套件:-
如果您使用的是 Amazon Linux,請執行下列命令,從 Amazon 的儲存庫安裝 efs-utils:
sudo yum -y install amazon-efs-utils -
如果您使用其他支援的 Linux 發行版本
,請執行下列命令: curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install -
如需其他 Linux 發行版本,請參閱 GitHub 上的 efs-utils
儲存庫。
-
-
使用下列命令建立檔案系統掛載點的目錄:
sudo mkdir {path/to/mount} -
掛載 S3 檔案系統:
FS="{YOUR_FILE_SYSTEM_ID}" sudo mount -t s3files $FS:/ {path/to/mount} -
確認檔案系統已掛載:
df -h {path/to/mount}
以檔案形式檢視 S3 儲存貯體中的物件
完成上述程序後,您現在可以使用標準檔案系統操作,在本機掛載路徑上讀取和寫入 S3 物件做為檔案。如果您的 S3 儲存貯體中有物件,您可以使用下列命令將其檢視為檔案:
ls {path/to/mount}
物件型存取
您可以使用 Amazon S3 S3 之間複製檔案。 AWS CLI AWS SDKs 如果您有必要的許可,您可以使用下列其中一種方法,在 Amazon S3 和執行個體之間複製檔案。