

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

# 在 Amazon S3 上用於建置應用程式的常見一般用途儲存貯體模式
<a name="common-bucket-patterns"></a>

當您在 Amazon S3 上建置應用程式時，您可以使用唯一的一般用途儲存貯體來分隔不同的資料集或工作負載。當您建置為最終使用者或不同使用者群組提供服務的應用程式時，請使用我們的最佳實務設計模式來建置應用程式，以充分利用 Amazon S3 功能和可擴展性。

**重要**  
建議您建立無法預測的一般用途儲存貯體名稱。除非您已建立儲存貯體，否則請勿撰寫程式碼，假設您選擇的儲存貯體名稱可用。我們建議您在帳戶區域命名空間中建立儲存貯體，以確保只有您的帳戶可以擁有這些儲存貯體名稱，請參閱 [一般用途儲存貯體的命名空間](gpbucketnamespaces.md)。如需一般用途儲存貯體命名規則的詳細資訊，請參閱[一般用途儲存貯體命名規則](bucketnamingrules.md)。

**Topics**
+ [多租用戶一般用途儲存貯體模式](#multi-tenant-buckets)
+ [按用量儲存貯體模式](#bucket-per-customer)

## 多租用戶一般用途儲存貯體模式
<a name="multi-tenant-buckets"></a>

使用多租用戶儲存貯體時，您可以為團隊或工作負載建立單一的一般用途儲存貯體。您可以使用[唯一的 S3 字首](using-prefixes.md)來組織儲存在儲存貯體中的物件。字首是物件索引鍵名稱開頭的字元字串。字首可以是任意長度，以物件索引鍵名稱的最大長度 (1,024 個位元組) 為準。您可以將字首視為以類似於目錄的方式組織資料的一種方式。但是，字首不是目錄。

例如，若要儲存城市的相關資訊，您可以先依洲別、國家/地區，再依省或州來組織這些城市。因為這些名稱一般不包含標點符號，所以您可以使用斜線 (/) 作為分隔符號。下列範例顯示先依洲別、國家/地區，再依省或州來組織城市名稱時所使用的字首，並使用斜線 (/) 分隔。
+ Europe/France/NouvelleA-Aquitaine/Bordeaux
+ North America/Canada/Quebec/Montreal
+ North America/USA/Washington/Bellevue
+ North America/USA/Washington/Seattle

當您在的一般用途儲存貯體中擁有數百個唯一資料集時，此模式可讓您適當地進行擴展。您可以使用字首，輕鬆組織和分組這些資料集。

不過，多租用戶的一般用途儲存貯體模式的一個潛在缺點是，許多 S3 儲存貯體層級功能 (例如[預設儲存貯體加密](bucket-encryption.md)、[S3 版本控制](versioning-workflows.md)和 [S3 請求者付費](RequesterPaysBuckets.md)) 會在儲存貯體層級 (而不是字首層級) 進行設定。如果多租用戶儲存貯體中的不同資料集具有獨特要求，由於無法在字首層級設定許多 S3 儲存貯體層級功能，因此可能很難為每個資料集指定正確的設定。此外，在多租用戶儲存貯體中，隨著您致力於了解與特定字首相關聯的儲存、請求和資料傳輸，[成本分配](BucketBilling.md)可能會變得很複雜。

## 按用量儲存貯體模式
<a name="bucket-per-customer"></a>

使用按用量儲存貯體模式時，您可以為每個不同的資料集、最終使用者或團隊建立的一般用途儲存貯體。由於您可以為每個儲存貯體設定 S3 儲存貯體層級功能，因此您可以使用此模式來設定唯一的儲存貯體層級設定。例如，您可以設定[預設儲存貯體加密](bucket-encryption.md)、[S3 版本控制](versioning-workflows.md)和 [S3 請求者付費](RequesterPaysBuckets.md)等功能，針對每個儲存貯體中的資料集進行自訂。針對不同的資料集、最終使用者或團隊各使用一個儲存貯體，也可以協助您簡化存取管理和成本分配策略。

此策略的潛在缺點是，您可能需要管理數千個儲存貯體。所有 AWS 帳戶 的預設配額皆為 10，000 個一般用途儲存貯體。您可以提交提高配額請求來提高帳戶的儲存貯體配額。若要請求提高一般用途儲存貯體配額，請造訪 [Service Quotas 主控台](https://console.aws.amazon.com/servicequotas/home/services/s3/quotas/)。

若要管理按用量儲存貯體模式並簡化基礎設施管理，您可以使用 [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html#welcome-simplify-infrastructure-management)。您可以為模式建立自訂 CloudFormation 範本，該範本已定義 S3 一般用途儲存貯體的所有所需設定，以便輕鬆部署和追蹤基礎設施的任何變更。如需詳細資訊，請參閱《AWS CloudFormation 使用者指南》**中的 [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)。

![\[圖表顯示如何為應用程式建立自訂的 CloudFormation 範本，以定義 S3 儲存貯體的設定。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/create-stack-diagram.png)


使用bucket-per-use體模式建置工作負載時，建議您在帳戶區域命名空間中建立儲存貯體。透過在您的帳戶區域命名空間中建立儲存貯體，您可以避免與他人競爭儲存貯體名稱，並保證只有您的帳戶可以使用您選取的命名慣例來建立儲存貯體。如需帳戶區域命名空間的詳細資訊，請參閱 [一般用途儲存貯體的命名空間](gpbucketnamespaces.md)。