搭配使用 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 金鑰值的物件存放在 DOC-EXAMPLE-BUCKET1 儲存貯體中,則可以使用 URL https://DOC-EXAMPLE-BUCKET1.s3.amazonaws.com/photos/mygarden.jpg 定址。如需詳細資訊,請參閱 Amazon S3 的運作方式。

使用範例

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

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

GET or wget (Linux)
注意

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

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

[ec2-user ~]$ wget https://my_bucket.s3.amazonaws.com/path-to-file
AWS Tools for Windows PowerShell (Windows)

Windows 執行個體的優點為使用圖形瀏覽器,可讓您用來直接存取 Amazon S3 主控台;不過,在編寫指令碼時,Windows 使用者也可使用 AWS Tools for Windows PowerShell 在 Amazon S3 之間移動物件。

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

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext
AWS CLI (Linux and Windows)

AWS Command Line Interface (AWS CLI) 是用來管理您的 AWS 服務的統一工具。 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://my_bucket/my_folder/my_file.ext my_copied_file.ext

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

aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

aws s3 sync 命令可將整個 Amazon S3 儲存貯體同步至本機目錄位置。這對於下載資料集以及將本機副本與遠端設定一 up-to-date 起保留很有幫助。如果您擁有 Amazon S3 儲存貯體的適當許可,還能將命令中的來源與目的地位置對調,於完成後將本機目錄備份推送至雲端。

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

aws s3 sync s3://remote_S3_bucket local_directory
Amazon S3 API

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