

# ステップ 2: S3 Express One Zone ディレクトリバケットを作成する
<a name="s3-express-tutorial-create-directory-bucket"></a>

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、バケットを作成するリージョンを選択します。
**注記**  
レイテンシーとコストを最小化するため、さらに規制条件に対応するために、最寄りのリージョンを選択します。明示的に別のリージョンに移動する場合を除き、特定のリージョンに保管されたオブジェクトは、そのリージョンから移動されることはありません。Amazon S3 AWS リージョン のリストについては、**「Amazon Web Services 全般のリファレンス」の「[AWS のサービス エンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)」を参照してください。

1. 左のナビゲーションペインで、**[ディレクトリバケット]** を選択します。

1. [**Create bucket (バケットの作成)**] を選択します。**[バケットの作成]** ページが開きます。

1. **[全般設定]** で、バケットが作成される AWS リージョン を確認します。

   **[バケットタイプ]** で **[ディレクトリ]** を選択します。
**注記**  
ディレクトリバケットをサポートしていないリージョンを選択した場合、**[バケットタイプ]** オプションは表示されなくなり、バケットタイプはデフォルトで汎用バケットになります。ディレクトリバケットを作成するには、サポートされているリージョンを選択する必要があります。ディレクトリバケットと Amazon S3 Express One Zone ストレージクラスをサポートするリージョンのリストについては、「[S3 Express One Zone のアベイラビリティーゾーンとリージョン](s3-express-Endpoints.md)」を参照してください。
バケット作成後にバケットタイプは変更できません。
**注記**  
このアベイラビリティーゾーンは、バケットの作成後に変更することはできません。

1. **[アベイラビリティーゾーン]** では、コンピューティングサービスにローカルなアベイラビリティーゾーンを選択します。ディレクトリバケットと S3 Express One Zone ストレージクラスをサポートするアベイラビリティーゾーンのリストについては、「[S3 Express One Zone のアベイラビリティーゾーンとリージョン](s3-express-Endpoints.md)」を参照してください。

   **[アベイラビリティーゾーン]** でチェックボックスをオンにして、アベイラビリティーゾーンに障害が発生した場合に、データが使用できなくなったり、データが失われたりする場合があることに同意します。
**重要**  
ディレクトリバケットは、単一のアベイラビリティーゾーン内の複数のデバイスに保存されますが、ディレクトリバケットはアベイラビリティーゾーン間でデータを冗長に保存することはありません。

1. **[バケット名]** には、ディレクトリバケット名を入力します。

   ディレクトリバケットの命名には、次のルールが適用されます。
   + 選択したゾーン (AWS アベイラビリティーゾーンまたは AWS Local Zone) 内で一意である必要があります。
   + 名前は、サフィックスを含め 3 文字 (最短) から 63 文字 (最長) の長さでなければなりません。
   + 小文字の英文字、数字、およびハイフン (-) で構成されていること。
   + 文字や数字で始まり、文字や数字で終わります。
   + `--{{zone-id}}--x-s3` のサフィックスを含める必要があります。
   + バケット名のプレフィックスは `xn--` で始まってはいけません。
   + バケット名のプレフィックスは `sthree-` で始まってはいけません。
   + バケット名のプレフィックスは `sthree-configurator` で始まってはいけません。
   + バケット名のプレフィックスは ` amzn-s3-demo-` で始まってはいけません。
   + バケット名のサフィックスは `-s3alias` で終わってはいけません。このサフィックスは、アクセスポイントのエイリアス名用に予約されています。詳細については、「[アクセスポイントエイリアス](access-points-naming.md#access-points-alias)」を参照してください。
   + バケット名のサフィックスは `--ol-s3` で終わってはいけません。このサフィックスは、Object Lambda アクセスポイントのエイリアス名用に予約されています。詳細については、「[S3 バケット Object Lambda アクセスポイントでのバケット形式のエイリアスの使用方法](olap-use.md#ol-access-points-alias)」を参照してください。
   + バケット名のサフィックスは `.mrap` で終わってはいけません。このサフィックスは、マルチリージョンアクセスポイント名用に予約されています。詳細については、「[Amazon S3 マルチリージョンアクセスポイントの命名規則](multi-region-access-point-naming.md)」を参照してください。

   コンソールを使用してディレクトリバケットを作成すると、指定したベース名にサフィックスが自動的に追加されます。このサフィックスには、選択したアベイラビリティーゾーンのアベイラビリティーゾーン ID が含まれます。

   バケットを作成したら、その名前を変更することはできません。バケットの命名の詳細については、「[汎用バケットの命名規則](bucketnamingrules.md)」を参照してください。
**重要**  
バケット名にアカウント番号などの機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。

1. **[オブジェクト所有者]** で、**[バケット所有者の強制]** の設定が自動的に有効になり、アクセスコントロールリスト (ACL) が無効になります。ディレクトリバケットの場合、ACL は有効にできません。

    **バケット所有者の強制 (デフォルト)** – ACL は無効になり、バケット所有者は汎用バケット内のすべてのオブジェクトを自動的に所有し、完全に制御します。ACL は、S3 汎用バケット内のデータへのアクセス許可に影響を与えなくなりました。このバケットはアクセスコントロールを定義するためだけにポリシーを使用します。

1. **[このバケットのブロックパブリックアクセス設定]** で、ディレクトリバケットのパブリックアクセスブロック設定がすべて自動的に有効になります。ディレクトリバケットの場合、この設定は変更できません。ブロックパブリックアクセスの詳細については、[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md) を参照してください。

1. デフォルトの暗号化を設定するには、**[暗号化タイプ]** で次のいずれかを選択します。
   + **[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)**]
   + **[AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS)]**

   Amazon S3 のサーバー側の暗号化を使用してデータを暗号化する方法の詳細については、「[データ保護と暗号化](s3-express-data-protection.md)」を参照してください。
**重要**  
デフォルト暗号化設定に SSE-KMS オプションを使用する場合、AWS KMS の 1 秒あたりのリクエスト (RPS) 制限が適用されます。AWS KMS クォータの詳細およびクォータの引き上げをリクエストする方法については、**「AWS Key Management Service デベロッパーガイド」の「[クォータ](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)」を参照してください。  
デフォルト暗号化を有効にする際、バケットポリシーの更新が必要な場合があります。詳細については、「[クロスアカウント操作での SSE-KMS 暗号化の使用](bucket-encryption.md#bucket-encryption-update-bucket-policy)」を参照してください。

1. **[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)]** を選択した場合は、**[バケットキー]** の下に **[有効]** が表示されます。ディレクトリバケットが SSE-S3 でデフォルトの暗号化を使用するように設定すると、S3 バケットキーは常に有効になります。S3 バケットキーは、ディレクトリバケット内の `GET` および `PUT` オペレーションで常に有効になっており、無効にすることはできません。SSE-KMS で暗号化されたオブジェクトを、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)、[バッチオペレーションの Copy オペレーション](directory-buckets-objects-Batch-Ops.md)、または [import ジョブ](create-import-job.md)を使用して、汎用バケットからディレクトリバケットへ、ディレクトリバケットから汎用バケットへ、またはディレクトリバケット間でコピーする場合、S3 バケットキーはサポートされません。この場合、KMS で暗号化されたオブジェクトのコピーリクエストが実行されるたびに、Amazon S3 は AWS KMS を呼び出します。

   S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、暗号化のコストを削減します。詳細については、「[Amazon S3 バケットキーを使用した SSE−KMS のコストの削減](bucket-key.md)」を参照してください。

1. **[AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS)]** を選択した場合は、**[AWS KMS キー]** で次のいずれかの方法で AWS Key Management Service キーを指定するか、新しいキーを作成します。
   + 使用可能な KMS キーのリストから選択するには、**[AWS KMS keys から選択する]** を選択し、**[使用可能な AWS KMS keys]** のリストから自分の **[KMS キー]** を選択します。

     カスタマーマネージドキーのみがこのリストに表示されます。AWS マネージドキー (`aws/s3`) はディレクトリバケットではサポートされていません。カスタマーマネージドキーの詳細については、*AWS Key Management Serviceデベロッパーガイド*の「[カスタマーキーと AWS キー](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt)」を参照してください。
   + KMS キーの ARN またはエイリアスを入力するには、**[AWS KMS key ARN を入力]** を選択し、**[AWS KMS key ARN]** に KMS キーの ARN またはエイリアスを入力します。
   + AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、**[KMS キーを作成]** を選択します。

     AWS KMS key の作成の詳細については、**「AWS Key Management Service デベロッパーガイド」の「[キーの作成](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)」を参照してください。
**重要**  
SSE-KMS 設定では、バケットの存続期間中、ディレクトリバケットごとに 1 つの[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)しかサポートできません。[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (`aws/s3`) はサポートされていません。また、SSE-KMS のカスタマーマネージドキーを指定した後は、バケットの SSE-KMS 設定のカスタマーマネージドキーを上書きすることはできません。  
バケットの SSE-KMS 設定に指定したカスタマーマネージドキーは、次のように識別できます。  
`HeadObject` API オペレーションリクエストを実行して、レスポンス内の `x-amz-server-side-encryption-aws-kms-key-id` の値を検索します。
データに新しいカスタマーマネージドキーを使用するには、新しいカスタマーマネージドキーを使用して既存のオブジェクトを新しいディレクトリバケットにコピーすることをお勧めします。
バケットと同じ AWS リージョン で使用可能な KMS キーのみを使用できます。Amazon S3 コンソールには、バケットと同じリージョンで最初の 100 個の KMS キーしか表示されません。リストに存在しない KMS キーを使用するには、KMS キー ARN を入力する必要があります。別のアカウントが所有している KMS キーを使用する場合は、まずそのキーを使用するアクセス許可が必要であり、次に KMS キー ARN を入力する必要があります。KMS キーのクロスアカウント権限の詳細については、*AWS Key Management Service デベロッパーガイド*の「[他のアカウントで使用できる KMS キーを作成する](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console)」を参照してください。SSE-KMS に関する詳細は、「[ディレクトリバケット内の新しいオブジェクトのアップロードに AWS KMS によるサーバー側の暗号化 (SSE-KMS) を指定する](s3-express-specifying-kms-encryption.md)」を参照してください。
ディレクトリバケットでサーバー側の暗号化に AWS KMS key を使用する場合は、対称暗号化 KMS キーを選択する必要があります。Amazon S3 では、対称暗号化 KMS キーのみがサポートされ、非対称暗号化 KMS キーはサポートされません。詳細については、*AWS Key Management Service デベロッパーガイド*の「[Identifying symmetric and asymmetric KMS keys](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html)」(対称および非対称 KMS キーの識別) を参照してください。

   Amazon S3 での AWS KMS の使用に関する詳細は、「[ディレクトリバケットでの AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) の使用](s3-express-UsingKMSEncryption.md)」を参照してください。

1. **[バケットを作成する]** を選択します。バケットを作成したら、ファイルやフォルダをバケットに追加できます。詳細については、「[ディレクトリバケットでのオブジェクトの使用](directory-buckets-objects.md)」を参照してください。