使用 Amazon S3 搭配 Amazon EC2 執行個體 - Amazon Elastic Compute Cloud

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

使用 Amazon S3 搭配 Amazon EC2 執行個體

Amazon Simple Storage Service (Amazon S3) 是一項物件儲存服務,提供領先業界的可擴展性、資料可用性、安全性和效能。您可以使用 Amazon S3,從 Amazon EC2 執行個體或透過網路從任何位置,存放和擷取各種使用案例的任何資料量,例如資料湖、網站、備份和大數據分析。如需詳細資訊,請參閱什麼是 Amazon S3?

物件是存放在 Amazon S3 中的基本實體。Amazon S3 中存放的每個物件都包含在儲存貯體中。儲存貯體在最高層級組織 Amazon S3 命名空間,並識別負責該儲存體的帳戶。Amazon S3 儲存貯體與網際網路網域名稱類似。儲存貯體內存放的物件都有一個唯一的金鑰值,可用 URL 擷取。例如,含有 /photos/mygarden.jpg 金鑰值的物件存放在 amzn-s3-demo-bucket1 儲存貯體中,則可以使用 URL https://amzn-s3-demo-bucket1.s3.amazonaws.com/photos/mygarden.jpg 定址。如需詳細資訊,請參閱 Amazon S3 的運作方式

使用範例

既然 Amazon S3 有儲存上的優勢,您可能會決定用這項服務來存放檔案和資料集,以供 EC2 執行個體使用。有幾種方法可在 Amazon S3 與執行個體之間移動資料。除了底下討論的範例之外,您也能從電腦或執行個體使用其他人所編寫的多種工具來存取 Amazon S3 中的資料。

如果您有許可,您可用下列其中一種方式在 Amazon S3 和執行個體之間複製檔案。

wget
注意

此方法僅適用於公有物件。如果物件非公有,您會收到 ERROR 403: Forbidden 訊息。如果收到此錯誤,您必須使用 Amazon S3 主控台、AWS CLI、AWS API、AWS SDK 或 AWS Tools for Windows PowerShell,且您需有必要的許可。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的 Amazon S3 中的身分和存取管理下載物件

wget 公用程式是一種 HTTP 和 FTP 用戶端,可讓您從 Amazon S3 下載公有物件。其預設安裝在 Amazon Linux 和多數其他的發行版本上,也可供 Windows 下載。若要下載 Amazon S3 物件,請用下列命令並更換要下載之物件的 URL。

[ec2-user ~]$ wget https://amzn-s3-demo-bucket.s3.amazonaws.com/path-to-file
PowerShell

可以使用 AWS Tools for Windows PowerShell,將物件移入和移出 Amazon S3。

使用 Copy-S3Object cmdlet,將 Amazon S3 物件複製至 Windows 執行個體,如下所示。

Copy-S3Object ` -BucketName amzn-s3-demo-bucket ` -Key path-to-file ` -LocalFile my_copied_file.ext

或者,可以在 Windows 執行個體上使用 Web 瀏覽器來開啟 Amazon S3 主控台。

AWS CLI

可以使用 AWS Command Line Interface (AWS CLI),從 Amazon S3 中下載受限項目,也可以上傳項目。如需詳細資訊,包括如何安裝與設定工具,請參閱 AWS Command Line Interface 詳細資訊頁面

aws s3 cp 命令類似於 Unix cp 命令。可讓您從 Amazon S3 複製檔案到執行個體,從執行個體複製檔案到 Amazon S3,以及從某一 Amazon S3 位置複製檔案到其他位置。

請用下列命令從 Amazon S3 將物件複製至執行個體。

aws s3 cp s3://amzn-s3-demo-bucket/my_folder/my_file.ext my_copied_file.ext

請用下列命令從執行個體將物件複製回 Amazon S3。

aws s3 cp my_copied_file.ext s3://amzn-s3-demo-bucket/my_folder/my_file.ext

aws s3 sync 命令可將整個 Amazon S3 儲存貯體同步至本機目錄位置。此功能在下載資料集,以及讓本機複本與遠端資料集保持同步時很有幫助。如果您擁有 Amazon S3 儲存貯體的適當許可,還能將命令中的來源與目的地位置對調,於完成後將本機目錄備份推送至雲端。

請用下列命令將整個 Amazon S3 儲存貯體下載至執行個體上的本機目錄。

aws s3 sync s3://amzn-s3-demo-source-bucket local_directory
Amazon S3 API

如果您是開發人員,可以使用 API 存取 Amazon S3 中的資料。您可使用此 API 來協助開發應用程式,並將其與其他 API 和軟體開發套件整合。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的使用 AWS SDK 的 Amazon S3 程式碼範例