儲存貯體概觀 - Amazon Simple Storage Service

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

儲存貯體概觀

若要將相片、影片、文件等資料上傳至 Amazon S3,您必須先在其中一個 AWS 區域中建立 S3 儲存貯體。

儲存貯體是 Amazon S3 中用於存放物件的容器。您可以在儲存貯體中存放任意數目的物件,並且帳戶中最多可有 100 個儲存貯體。若要請求增加,請造訪 Service Quotas 主控台

每個物件都包含在儲存貯體中。例如,如果名為 photos/puppy.jpg 的物件存放在美國西部 (奧勒岡) 區域的 DOC-EXAMPLE-BUCKET 儲存貯體中,則可以使用 URL https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/photos/puppy.jpg 定址。如需詳細資訊,請參閱存取儲存貯體

在實作方面,儲存貯體和物件是 AWS 資源,Amazon S3 提供 API 供您管理這些資源。例如,您可以使用 Amazon S3 API 建立儲存貯體並上傳物件。或者,您也可以使用 Amazon S3 主控台執行這些操作,主控台就會使用 Amazon S3 API 將請求傳送給 Amazon S3。

本節說明如何使用儲存貯體。如需使用物件的資訊,請參閱「Amazon S3 物件概觀」。

Amazon S3 支援全域儲存貯體,這表示每個儲存貯體名稱 AWS 帳戶 在分割區 AWS 區域 內的所有名稱都必須是唯一的。分割區是區域的群組。 AWS 目前有三個分割區:aws(標準區域)、aws-cn(中國區域) 和 aws-us-gov (AWS GovCloud (US))。

建立值區之後,在刪除值區之前,相同分割區 AWS 帳戶 中的另一個儲存貯體無法使用該儲存貯體的名稱。建議您不要為了可用性或安全驗證目的而依賴特定的儲存貯體命名慣例。如需儲存貯體命名準則,請參閱「儲存貯體命名規則」。

Amazon S3 會在您指定的區域建立儲存貯體。若要減少延遲、將成本降至最低或滿足法規要求,請選擇地理位置靠近您的任何 AWS 區域 項目。舉例而言,如果您住在歐洲,則在歐洲 (愛爾蘭) 或歐洲 (法蘭克福) 區域建立儲存貯體可能較有利。如需 Amazon S3 區域的清單,請參閱《AWS 一般參考》中的區域與端點

注意

如需將 Amazon S3 Express One Zone 儲存類別與目錄儲存貯體搭配使用的詳細資訊,請參閱 什麼是 S3 Express One Zone?目錄值區

注意

屬於您在特定值區中建立的物件 AWS 區域 永遠不會離開該區域,除非您明確將它們轉移到另一個區域。例如,存放在歐洲 (愛爾蘭) 區域中的物件絕對會保留在此區域。

關於許可

您可以使用 AWS 帳戶根使用者 登入資料建立儲存貯體並執行任何其他 Amazon S3 操作。不過,我們建議您不要使用您的 root 使用者認證 AWS 帳戶 來提出要求,例如建立值區。而是建立 AWS Identity and Access Management (IAM) 使用者,並授予該使用者完整存取權限 (預設情況下,使用者沒有權限)。

這些使用者稱為「管理員」。您可以使用系統管理員使用者認證 (而非帳戶的根使用者認證) 與其互動 AWS 並執行工作,例如建立值區、建立使用者,以及授予他們權限。

如需詳細資訊,請參閱《AWS 一般參考》中的AWS 帳戶根使用者 憑證與 IAM 使用者憑證以及《IAM 使用者指南》中的 IAM 安全最佳實務

建立 AWS 帳戶 資源的擁有該資源。例如,如果您在中建立 IAM 使用者, AWS 帳戶 並授與使用者建立值區的權限,則該使用者可以建立值區。但是使用者並不擁有該值區; AWS 帳戶 使用者所屬的擁有值區。使用者需要資源擁有者授予其他許可,才能執行任何其他儲存貯體操作。如需管理 Amazon S3 資源許可的詳細資訊,請參閱 適用於 Amazon S3 的 Identity and Access Management

管理儲存貯體的公開存取

透過儲存貯體政策、存取控制清單 (ACL) 或兩者來授予對儲存貯體和物件的公開存取。為協助您管理對 Amazon S3 資源的公開存取,Amazon S3 提供了封鎖公開存取權限設定。Amazon S3 封鎖公開存取權限設定可以覆寫 ACL 與儲存貯體政策,方便您對這些資源的公開存取強制執行統一限制。您可套用封鎖公開存取設定到您帳戶中的個別儲存貯體或全部儲存貯體。

若要確保封鎖對所有 Amazon S3 儲存貯體和物件的公開存取,在您建立新的儲存貯體時,預設會啟用「封鎖公開存取」的所有四個設定。建議您也為帳戶開啟「封鎖公開存取」的所有四個設定:這些設定會封鎖所有現有和未來儲存貯體的一切公開存取。

套用這些設定前,請確認應用程式無須公用存取權限也可正常運作。如果儲存貯體或物件需要特定層級的公開存取權限 (例如 使用 Amazon S3 託管靜態網站 中所述的託管靜態網站),您可配合儲存體使用案例自訂個別設定。如需詳細資訊,請參閱 封鎖對 Amazon S3 儲存體的公開存取權

不過,高度建議將「封鎖公開存取」保持啟用狀態。如果您想要保持啟用所有四個「封鎖公用存取」設定並託管靜態網站,可以使用 Amazon CloudFront 來源存取控制 (OAC)。Amazon CloudFront 提供設定安全靜態網站所需的功能。Amazon S3 靜態網站只支援 HTTP 端點。亞馬遜 CloudFront使用 Amazon S3 的耐用儲存,同時提供額外的安全標頭,例如 HTTPS。HTTPS 透過加密一般 HTTP 請求並防止常見的網路攻擊來增加安全性。

如需詳細資訊,請參閱 Amazon 開 CloudFront 發人員指南中的安全靜態網站入門。

注意

如果您在列出儲存貯體及其公用存取設定時看到 Error,則您可能沒有所需的許可。確保您已將下列許可新增至您的使用者或角色政策:

s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketLocation s3:GetBucketAcl s3:ListAccessPoints s3:ListAllMyBuckets

在極少數狀況下,請求也可能因 AWS 區域 中斷而失敗。

儲存貯體組態選項

Amazon S3 支援各種設定儲存貯體的選項。例如,您可以設定儲存貯體處理網站託管、新增組態來管理儲存貯體中的物件生命週期,以及設定儲存貯體記錄所有對儲存貯體的存取。此外,Amazon S3 也支援子資源,讓您可以存放及管理儲存貯體組態資訊。您可以使用 Amazon S3 API 來建立和管理這些子資源。不過,您也可以使用主控台或 AWS SDK。

注意

也有物件層級的組態。例如,您可以設定該物件的專用存取控制清單 (ACL),來設定物件層級許可。

這些會當成子資源參考,因為它們存在於特定的儲存貯體或物件內容中。下表列出子資源,讓您管理儲存貯體專用組態。

子資源 描述

cors (跨來源資源共享)

您可以設定儲存貯體允許跨來源要求。

如需詳細資訊,請參閱「使用跨來源資源分享 (CORS)」。

event notification

您可以讓儲存貯體傳送指定儲存貯體事件的通知。

如需詳細資訊,請參閱 Amazon S3 事件通知

lifecycle

您可以為已妥善定義生命週期的儲存貯體物件,定義生命週期規則。例如,您可以定義一項規則,建立物件後將它封存一年,或建立物件 10 年後將它刪除。

如需詳細資訊,請參閱「管理儲存生命週期」。

位置

建立儲存貯體時,請指 AWS 區域 定 Amazon S3 建立儲存貯體的位置。Amazon S3 會將此資訊存放在「location」子資源中,並提供可擷取此資訊的 API。

logging

記錄日誌能讓您追蹤存取儲存貯體的要求。每筆存取日誌記錄都會提供有關單一存取要求的詳細資訊,例如要求者、儲存貯體名稱、要求時間、要求動作、回應狀態及錯誤代碼 (若出現錯誤)。存取記錄資訊在安全與存取稽核中相當實用。您也可藉由該資訊了解自己的客戶群,並掌握 Amazon S3 帳單相關資料。 

如需詳細資訊,請參閱「使用伺服器存取記錄記錄要求」。

物件鎖定

您必須為儲存貯體啟用 S3 物件鎖定,才能使用該功能。您也可以選擇設定預設保留模式和保留期,並套用至位於儲存貯體中的新物件。

如需詳細資訊,請參閱 使用 S3 物件鎖定

policyACL (存取控制清單)

所有資源 (例如儲存貯體與物件) 預設都是私有的。Amazon S3 支援儲存貯體政策與存取控制清單 (ACL) 選項,可讓您授予及管理儲存貯體層級許可。Amazon S3 會將許可資訊存放在「policy」與「acl」子資源中。

如需詳細資訊,請參閱 適用於 Amazon S3 的 Identity and Access Management

複寫

複寫是跨不同或相同 AWS 區域的儲存貯體自動非同步的物件複製。如需詳細資訊,請參閱 複製物件概觀

requestPayment

根據預設 AWS 帳戶 ,建立值區的 (值區擁有者) 會支付值區的下載費用。使用此子資源,儲存貯體擁有者可以指定要求下載的人支付下載的費用。Amazon S3 提供 API,讓您管理此子資源。

如需詳細資訊,請參閱「使用儲存體傳輸和用量的申請者付款儲存貯體」。

tagging

您可以在儲存貯體中新增成本分配標籤,以分類和追蹤 AWS 成本。Amazon S3 提供的「tagging」子資源可讓您存放及管理儲存貯體上的標籤。使用套用至儲存貯體的標籤, AWS 產生成本分配報告,其中包含依標籤彙總的使用情況和成本。

如需詳細資訊,請參閱 Amazon S3 的帳單和用量報告

transfer acceleration

Transfer Acceleration 可讓用戶端與 S3 儲存貯體間的長距離檔案傳輸作業變得迅速、簡單又安全。傳輸加速充分利用 Amazon 全球分佈的節點 CloudFront。

如需詳細資訊,請參閱 使用 Amazon S3 Transfer Acceleration 設定快速安全的檔案傳輸

versioning

版本控制能幫助您復原意外的覆寫與刪除。

建議使用版本控制作為最佳實務,以復原錯誤刪除或覆寫的物件。

如需詳細資訊,請參閱「在 S3 儲存貯體中使用版本控制」。

website

您可以設定您的儲存貯體處理靜態網站託管。Amazon S3 會透過建立「website」子資源來存放此組態。

如需詳細資訊,請參閱 使用 Amazon S3 託管靜態網站