

# Amazon S3 の開始方法
<a name="GetStartedWithS3"></a>

Amazon S3 は、バケットとオブジェクトを操作することで、使用を開始できます。*バケット* とは、オブジェクトのコンテナのことです。*オブジェクト* とは、ファイルと、そのファイルを記述している任意のメタデータのことです。

Amazon S3 にオブジェクトを保存するには、バケットを作成し、そのバケットにオブジェクトをアップロードします。オブジェクトがバケットの中にあるときは、オブジェクトを開き、ダウンロードして、移動させます。オブジェクトまたはバケットが不要になったら、リソースをクリーンアップします。

Amazon S3 では、お支払いは実際に使用した分のみです。Amazon S3 の機能と料金の詳細については、「[Amazon S3](https://aws.amazon.com/s3)」を参照してください。Amazon S3 の新規のお客様は、Amazon S3 を無料で使い始めることができます。詳細については、[AWS 無料利用枠](https://aws.amazon.com/free) を参照してください。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**動画: Amazon S3 の開始方法**  
次の動画では、Amazon S3 の使用を開始する方法が紹介されています。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/FZCZbPEMlXk//0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/FZCZbPEMlXk/)


**前提条件**  
開始する前に、必ず「[Amazon S3 のセットアップ](#setting-up-s3)」の手順を完了させてください。

## Amazon S3 のセットアップ
<a name="setting-up-s3"></a>

AWS にサインアップすると、Amazon S3 を含む AWS のすべてのサービスに対して AWS アカウント が自動的にサインアップされます。料金が発生するのは、実際に使用したサービスの分のみです。

Amazon S3 では、お支払いは実際に使用した分のみです。Amazon S3 の機能と料金の詳細については、「[Amazon S3](https://aws.amazon.com/s3)」を参照してください。Amazon S3 の新規のお客様は、Amazon S3 を無料で使い始めることができます。詳細については、「[AWS 無料利用枠](https://aws.amazon.com/free)」を参照してください。

Amazon S3 をセットアップするには、以下のセクションのステップを使用します。

AWS にサインアップして Amazon S3 をセットアップする際に、オプションで AWS マネジメントコンソール の表示言語を変更できます。詳細については、*AWS マネジメントコンソール 開始方法のガイド*の [AWS マネジメントコンソール の言語の変更](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#change-language)を参照してください。

**Topics**
+ [AWS アカウントへのサインアップ](#sign-up-for-aws)
+ [管理アクセスを持つユーザーを作成する](#create-an-admin)

### AWS アカウントへのサインアップ
<a name="sign-up-for-aws"></a>

AWS アカウント がない場合は、以下のステップを実行して作成します。

**AWS アカウント にサインアップするには**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   AWS アカウントにサインアップすると、*AWS アカウントのルートユーザー*が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用して[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)を実行してください。

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

### 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

AWS アカウントにサインアップしたら、AWS アカウントのルートユーザーをセキュリティで保護し、AWS IAM アイデンティティセンター を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。

**AWS アカウントのルートユーザー をセキュリティで保護する**

1.  **[ルートユーザー]** を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として [AWS マネジメントコンソール](https://console.aws.amazon.com/) にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、「*IAM ユーザーガイド*」の「[AWS アカウント ルートユーザーの仮想 MFA デバイスを有効にする (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンター の有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[デフォルトの IAM アイデンティティセンターディレクトリ を使用してユーザーアクセスを設定する](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM アイデンティティセンターユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[AWS アクセスポータルにサインインする](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## ステップ 1: 最初の S3 バケットを作成する
<a name="creating-bucket"></a>

AWS にサインアップしたら、AWS マネジメントコンソール を使っていつでも Amazon S3 にバケットを作成できます。Amazon S3 のオブジェクトはすべて*バケット*に保管されます。Amazon S3 にデータを保管する前に、バケットを作成する必要があります。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**注記**  
バケットの作成は課金対象にはなりません。バケット内にオブジェクトを保存した場合、およびバケット宛てまたはバケットからオブジェクトを転送した場合にのみ課金されます。このガイドの例に従って操作して発生する使用料はごくわずかです (1 USD 未満)。ストレージ料金の詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

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 には、現在 `aws` (商用リージョン)、`aws-cn` (中国リージョン)、および `aws-us-gov` (AWS GovCloud (US) Regions) の 3 つのパーティションがあります。
   + 3～63 文字で指定する。
   + 小文字、数字、ピリオド (`.`)、ハイフン (`-`) のみで構成されます。互換性を最も高くするには、静的ウェブサイトホスティング専用のバケットを除き、バケット名にピリオド (`.`) を使用しないことをお勧めします。
   + 文字や数字で始まり、文字や数字で終わります。
   + バケットの命名規則の完全なリストについては、「[汎用バケットの命名規則](bucketnamingrules.md)」を参照してください。
**重要**  
バケットを作成したら、その名前を変更することはできません。
バケット名に機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。

1. (オプション) **[全般設定]** で、既存のバケットの設定を新しいバケットにコピーすることを選択できます。既存のバケットの設定をコピーしない場合は、次のステップにスキップします。
**注記**  
このオプションの特徴:  
AWS CLI では使用できません。Amazon S3 コンソールでのみ利用できます。
バケットポリシーは既存のバケットから新しいバケットにコピーしません。

    既存のバケットの設定をコピーするには、**[既存のバケットから設定をコピー]** で **[バケットを選択]** をクリックします。**[バケットを選択]** ウィンドウが開きます。コピーする設定を持つバケットを検索して、**[バケットを選択]** をクリックします。**[バケットを選択]** ウィンドウが閉じて、**[バケットを作成]** ウィンドウが再び開きます。

   **[既存のバケットから設定をコピー]** に、選択したバケットの名前が表示されるようになります。新しいバケットの設定が、選択したバケットの設定と一致するようになりました。コピーした設定を削除する場合は、**[デフォルトを復元]** を選択します。**[バケットを作成]** ページで、バケットの残りの設定を確認します。変更しない場合は、最後のステップに進みます。

1. **[オブジェクト所有者]** で、ACL を無効または有効にし、バケットにアップロードされたオブジェクトの所有権を制御するには、次のいずれかの設定を選択します。

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

     デフォルトでは、ACL は無効になっています。Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなっています。オブジェクトごとに個別にアクセスを制御する必要がある状況を除き、ACL は無効にしておくことをお勧めします。詳細については、「[オブジェクトの所有権の制御とバケットの ACL の無効化。](about-object-ownership.md)」を参照してください。

**ACL の有効化**
   + **希望するバケット所有者** — バケット所有者は、他のアカウントが `bucket-owner-full-control` 既定 ACL でバケットに書き込む新しいオブジェクトを所有し、完全にコントロールできます。

     **[バケット所有者を推奨]** 設定を適用して、すべての Amazon S3 アップロードに `bucket-owner-full-control` 既定 ACL を含めることを要求する場合は、この ACL を使用するオブジェクトアップロードのみを許可する[バケットポリシーを追加](ensure-object-ownership.md#ensure-object-ownership-bucket-policy)できます。
   + **オブジェクトライター** — オブジェクトをアップロードする AWS アカウント は、そのオブジェクトを所有し、そのオブジェクトを完全にコントロールし、ACL を介して他のユーザーにそのオブジェクトへのアクセス権を付与できます。
**注記**  
デフォルト設定は **[バケット所有者の強制]** です。デフォルト設定を適用して ACL を無効のままにするのに必要なのは、`s3:CreateBucket` アクセス許可のみです。ACL を有効にするためには、`s3:PutBucketOwnershipControls` アクセス許可が必要です。

1. **[このバケットのパブリックアクセスブロック設定]** で、バケットに適用するブロックパブリックアクセス設定を選択します。

   デフォルトでは、4 つすべての [パブリックアクセスをブロック] 設定が有効になっています。特定のユースケースでオフにする必要のある設定が 1 つ以上あることがわかっている場合を除き、すべての設定を有効にしておくことをお勧めします。ブロックパブリックアクセスの詳細については、[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md) を参照してください。
**注記**  
すべての [パブリックアクセスをブロック] 設定を有効にするのに必要なのは、`s3:CreateBucket` アクセス許可のみです。[パブリックアクセスをブロック] 設定をオフにするには、`s3:PutBucketPublicAccessBlock` アクセス許可が必要です。

1. (オプション) **[バケットのバージョニング]** は、デフォルトで無効になります。バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニングを使用して、 バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元することができます。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、より簡単に復旧できます。バージョニングの詳細については、「[S3 バージョニングによる複数のバージョンのオブジェクトの保持](Versioning.md)」を参照してください。

   バケットでバージョニングを有効にするには、**[有効化]** を選択します。

1. (オプション) **[Tags]** (タグ) では、バケットにタグを追加することを選択できます。AWS コスト配分では、バケットタグを使用してバケットの使用に対する請求に注釈を付けることができます。タグはキー/値ペアになっており、バケットに割り当てられるラベルを表します。詳細については、「[S3 バケットタグでのコスト配分タグの使用](CostAllocTagging.md)」を参照してください。

   (オプション) タグを追加するには、**[キー]** を入力してから、オプションの **[値]** を入力し、**[タグの追加]** を選択します。

1. **[デフォルトの暗号化]** を設定するには、**[暗号化タイプ]** で次のいずれかを選択します。
   + **Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)**
   + **AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS)**
   + **AWS Key Management Service (AWS KMS) キーによる二層式サーバー側の暗号化 (DSSE-KMS)**
**重要**  
デフォルト暗号化設定として SSE-KMS または DSSE-KMS オプションを使用する場合、AWS KMS の 1 秒あたりのリクエスト数 (RPS) 制限が適用されます。AWS KMS クォータの詳細およびクォータの引き上げをリクエストする方法については、**「AWS Key Management Service デベロッパーガイド」の「[クォータ](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)」を参照してください。

   バケットと新しいオブジェクトは、暗号化設定の基本レベルとして Amazon S3 マネージドキー (SSE-S3) を使用したサーバー側の暗号化で暗号化されます。デフォルトの暗号化の詳細については、「[Amazon S3 バケット向けのサーバー側のデフォルトの暗号化動作の設定](bucket-encryption.md)」を参照してください。SSE-KMS に関する詳細は、「[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)](UsingServerSideEncryption.md)」を参照してください。

   サーバー側の暗号化を使用してデータを暗号化する方法の詳細については、「[暗号化によるデータの保護](UsingEncryption.md)」を参照してください。

1. **AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS)** または **AWS Key Management Service (AWS KMS) キーによる二層式サーバー側の暗号化 (DSSE-KMS)** を選択した場合は、次の操作を行います。

   1. **[AWS KMS キー]** で、次のいずれかの方法で KMS キーを指定します。
      + 使用可能な KMS キーのリストから選択するには、**[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 を入力]** を選択し、表示されるフィールドに KMS キー ARN を入力します。
      + AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、**[KMS キーを作成]** を選択します。

        AWS KMS key の作成の詳細については、**「AWS Key Management Service デベロッパーガイド」の「[キーの作成](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)」を参照してください。
**重要**  
バケットと同じ 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) によるサーバー側の暗号化の指定](specifying-kms-encryption.md)」を参照してください。DSSE-KMS に関する詳細については、「[AWS KMS キーによる二層式サーバー側の暗号化 (DSSE-KMS) の使用](UsingDSSEncryption.md)」を参照してください。  
Amazon S3 でサーバー側の暗号化に 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 キーの識別) を参照してください。

   1. SSE-KMS でデフォルトの暗号化を使用するようにバケットを設定する場合は、S3 バケットキーを使用することもできます。S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、暗号化のコストを削減します。詳細については、「[Amazon S3 バケットキーを使用した SSE−KMS のコストの削減](bucket-key.md)」を参照してください。S3 バケットキーは DSSE-KMS ではサポートされていません。

      デフォルトでは、S3 バケットキーは Amazon S3 コンソールで有効になっています。コストを削減するには、S3 バケットキーを有効にしておくことをお勧めします。バケットの S3 バケットキーを無効にするには、**[バケットキー]** で、**[無効化]** を選択します。

1. (オプション) S3 Object Lock は、新しいオブジェクトが削除または上書きされないように保護するのに役立ちます。詳細については、「[S3 Object Lock を使用したオブジェクトのロック](object-lock.md)」を参照してください。S3 Object Lock を有効にする場合は、次の手順に従います。

   1. **[詳細設定]** を選択します。
**重要**  
バケットに対して Object Lock を有効にすると、自動でバージョニングも有効になります。バケットを有効にして正常に作成したら、バケットの **[プロパティ]** タブで Object Lock のデフォルトの保持とリーガルホールドの設定も設定する必要があります。

   1. オブジェクトロックを有効にする場合は、**[Enable]** (有効化) を選択し、表示される警告を読んだうえで承認します。
**注記**  
Object Lock が有効なバケットを作成するには、`s3:CreateBucket`、`s3:PutBucketVersioning` および `s3:PutBucketObjectLockConfiguration` の許可が必要です。

1. [**Create bucket**] (バケットの作成) をクリックします。

Amazon S3 にバケットが作成されました。

**次のステップ**  
オブジェクトをバケットに追加するには、「[ステップ 2: バケットにオブジェクトをアップロードする](#uploading-an-object-bucket)」を参照してください。

## ステップ 2: バケットにオブジェクトをアップロードする
<a name="uploading-an-object-bucket"></a>

Amazon S3 でバケットを作成すると、オブジェクトをバケットにアップロードする準備が整います。オブジェクトは、テキストファイル、写真、ビデオなど、どのような種類のファイルでも可能です。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**オブジェクトをバケットにアップロードするには**

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. [**Buckets (バケット)**] リストで、オブジェクトのアップロード先のバケットの名前を選択します。

1. バケットの **[オブジェクト]** タブで、**[アップロード]** を選択します。

1. [**Files and Folders (ファイルとフォルダ)**] で、[**Add files (ファイルを追加)**] を選択します。

1. アップロードするファイルを選択し、続いて **[オープン]** を選択します。

1. **アップロード** を選択します。

オブジェクトがバケットに正常にアップロードされました。

**次のステップ**  
オブジェクトを表示するには、「[ステップ 3: オブジェクトをダウンロードする](#accessing-an-object)」を参照してください。

## ステップ 3: オブジェクトをダウンロードする
<a name="accessing-an-object"></a>

バケットにオブジェクトをアップロード後、オブジェクトに関する情報を表示し、ローカルコンピュータにそのオブジェクトをダウンロードできます。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

### S3 コンソールの使用
<a name="download-objects-console"></a>

このセクションでは、Amazon S3 コンソールを使用して S3 バケットからオブジェクトをダウンロードする方法について説明します。

**注記**  
一度にダウンロードできるオブジェクトは 1 つだけです。
Amazon S3 コンソールを使用して、キー名がピリオド (`.`) で終わるオブジェクトをダウンロードすると、ダウンロードしたオブジェクトのキー名からピリオドが削除されます。ダウンロードしたオブジェクトの名前の末尾のピリオドを保持するには、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用する必要があります。

**S3 バケットからオブジェクトをダウンロードするには**

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

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

1. バケットリストで、オブジェクトのダウンロード元になるバケット名を選択します。

    

1. 次のいずれかの方法で、S3 バケットからオブジェクトをダウンロードできます。
   + オブジェクトの横にあるチェックボックスを選択し、**[ダウンロード]** を選択します。オブジェクトを特定のフォルダにダウンロードする場合は、**[アクション]** メニューの **[名前を付けてダウンロード]** を選択します。
   + オブジェクトの特定のバージョンをダウンロードする場合は、**[バージョンの表示]** ボタンを選択します。目的のオブジェクトのバージョンの横にあるチェックボックスをオンにして、**[ダウンロード]** を選択します。オブジェクトを特定のフォルダにダウンロードする場合は、**[アクション]** メニューの **[名前を付けてダウンロード]** を選択します。

オブジェクトが正常にダウンロードされました。

**次のステップ**  
Amazon S3 内でオブジェクトをコピーして貼り付ける方法については、「[ステップ 4: オブジェクトをフォルダにコピーする](#copying-an-object)」を参照してください。

## ステップ 4: オブジェクトをフォルダにコピーする
<a name="copying-an-object"></a>

バケットにオブジェクトを追加し、そのオブジェクトをダウンロードできました。ここで、フォルダを作成し、オブジェクトをコピーしてフォルダに貼り付けます。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**オブジェクトをフォルダにコピーするには**

1. **[Buckets]** (バケット) リストで、バケット名を選択します。

1. **[Create folder]** (フォルダの作成) を選択して、新しいフォルダを設定します。

   1. フォルダ名 (`favorite-pics` など) を入力します。

   1. 暗号化設定フォルダでは、**[Disable]** (無効) を選択します。

   1. **[Save]** (保存) を選択します。

1. コピーするオブジェクトを含む Amazon S3 バケットまたはフォルダに移動します。

1. コピーするオブジェクトの名前の左にあるチェックボックスをオンにします。

1. [**Actions (アクション)**] を選択し、表示されるオプションのリストから [**Copy (コピー)**] を選択します。

   または、右上のオプションから [**Copy (コピー)**] を選択します。

1. コピー先フォルダを選択します。

   1. **[S3 を参照]** を選択します。

   1. フォルダ名の左にあるオプションボタンを選択します。

      フォルダ内に移動し、コピー先としてサブフォルダを選択するには、フォルダ名を選択します。

   1. [**コピー先の選択**] を選択します。

   コピー先フォルダへのパスが [**コピー先**] ボックスに表示されます。[**コピー先**] には、s3://*bucket-name*/*folder-name*/ などコピー先のパスを入力してもかまいません。

1. 右下の [**コピー**] を選択します。

   Amazon S3 によってオブジェクトが送信先フォルダにコピーされます。

**次のステップ**  
Amazon S3 でオブジェクトとバケットを削除するときは、「[ステップ 5: オブジェクトとバケットを削除する](#deleting-object-bucket)」を参照してください。

## ステップ 5: オブジェクトとバケットを削除する
<a name="deleting-object-bucket"></a>

オブジェクトまたはバケットが不要になった場合は、それ以上の料金が発生しないように、オブジェクトまたはバケットを削除することをお勧めします。この開始方法のチュートリアルを演習として完了し、バケットまたはオブジェクトを使用する予定がないときは、料金が発生しないようにするため、バケットを削除することをお勧めします。

バケットを削除する前に、バケットを空にするか、バケット内のオブジェクトを削除します。オブジェクトとバケットを削除すると、それらは使用できなくなります。

引き続き同じバケット名を使用したいときは、オブジェクトを削除するか、バケットを空にすることをお勧めします。ただし、バケットは削除しないでください。バケットを削除すると、その名前は再利用できるようになります。ただし、バケットを再利用する前に、別の AWS アカウント で同じ名前のバケットが作成される可能性があります。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**Topics**
+ [オブジェクトの削除](#clean-up-delete-objects)
+ [バケットを空にする](#clean-up-empty-bucket)
+ [バケットの削除](#clean-up-delete-bucket)

### オブジェクトの削除
<a name="clean-up-delete-objects"></a>

バケットからすべてのオブジェクトを空にせずに、削除するオブジェクトを選択する場合は、オブジェクトを削除できます。

1. [**Buckets (バケット)**] リストで、オブジェクトを削除するバケットの名前を選択します。

1. 削除するオブジェクトを選択します。

1. または、右上のオプションから **[削除]** を選択します。

1. **[オブジェクトの削除]** ページで、**delete** を入力して、オブジェクトの削除を確認します。

1. **オブジェクトの削除** を選択します。

### バケットを空にする
<a name="clean-up-empty-bucket"></a>

バケットを削除する場合は、まずバケットを空にする必要があります。これにより、バケット内のすべてのオブジェクトが削除されます。

**バケットを空にするには**



1. [**Buckets (バケット)**] リストで、空にするバケットを選択し、[**Empty (空にする)**] を選択します。

1. バケットを空にして、バケット内のすべてのオブジェクトを削除することを確認するには、[**Empty bucket**] (バケットを空にする) で **permanently delete** を入力します。
**重要**  
バケットを空にすると、元に戻すことはできません。バケットを空にするアクションの実行中にバケットに追加されたオブジェクトは削除されます。

1. バケットを空にしてバケット内のすべてのオブジェクトを削除するには、[**Empty (空にする)**] を選択します。

   [**Empty bucket: Status (バケットを空にする: ステータス)**] ページが開き、失敗したオブジェクトの削除と成功したオブジェクトの削除の概要を確認できます。

1. バケットリストに戻るには、[**Exit (終了)**] を選択します。

### バケットの削除
<a name="clean-up-delete-bucket"></a>

バケットを空にするか、バケットからすべてのオブジェクトを削除した後、バケットを削除できます。

1. バケットを削除するには、[**Buckets (バケット)**] リストでバケットを選択します。

1. [**削除**] を選択します。

1. 削除を確認するには、[**Delete bucket **](バケットの削除) でバケットの名前を入力します。
**重要**  
バケットを削除すると、元に戻すことはできません。バケット名は一意です。バケットを削除すると、別の AWS ユーザーがその名前を使用できます。同じバケット名を引き続き使用する場合は、バケットを削除しないでください。代わりに、バケットを空にして保管しておきます。

1. バケットを削除するには、[**Delete bucket (バケットの削除)**] を選択します。

## 次のステップ
<a name="getting-started-next-steps"></a>

上記の例で、いくつかの基本的な Amazon S3 のタスクをどのように実行するかを学びました。

次のトピックでは、Amazon S3 をより深く理解して、アプリケーションに実装できるようにするために使用できるラーニングパスについて説明します。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

**Topics**
+ [一般的なユースケースを理解する](#s3-use-cases)
+ [バケットとオブジェクトへのアクセスをコントロール](#control-access-resources)
+ [ストレージの保護とモニタリング](#manage-monitor-storage)
+ [Amazon S3 を使用した開発](#develop-with-s3)
+ [チュートリアルから学ぶ](#s3-getting-started-tutorials-list)
+ [トレーニングとサポートを見る](#explore-training-and-support)

### 一般的なユースケースを理解する
<a name="s3-use-cases"></a>

Amazon S3 を使用して、お客様固有のユースケースをサポートすることができます。[AWSソリューションライブラリ](https://aws.amazon.com/solutions/)および[AWS ブログ](https://aws.amazon.com/blogs/)は、ユースケース固有の情報とチュートリアルを提供します。Amazon S3 の一般的ユースケースは以下のとおりです。
+ **バックアップおよびストレージ** – Amazon S3 の ストレージ管理機能を使用して、コストの管理、規制要件への対応、レイテンシーの短縮、コンプライアンス要件のためのデータの複数の異なるコピーの保存を行います。
+ **アプリケーションホスティング** – 信頼性と拡張性が高く、低コストのウェブアプリケーションをデプロイ、インストール、管理できます。例えば、静的ウェブサイトホスティング用に Amazon S3 バケット を設定することができます。詳細については、「[Amazon S3 を使用して静的ウェブサイトをホスティングする](WebsiteHosting.md)」を参照してください。
+ **メディアホスティング** – 動画、写真、音楽のアップロードとダウンロードをホスティングし、高い可用性を備えるインフラストラクチャを構築します。
+ **ソフトウェア配信** – 顧客がダウンロードできるソフトウェアアプリケーションをホスティングします。

### バケットとオブジェクトへのアクセスをコントロール
<a name="control-access-resources"></a>

Amazon S3 には、さまざまなセキュリティ機能とツールが用意されています。概要については、「[Amazon S3 でのアクセスコントロール](access-management.md)」を参照してください。

デフォルトでは、S3 バケットとオブジェクトはプライベートです。作成した S3 リソースにのみアクセスできます。以下の機能を使用して、特定のユースケースをサポートする詳細なリソース許可を付与したり、Amazon S3 リソースの許可を監査したりできます。
+ [S3 パブリックアクセスをブロック](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html) – S3 バケットおよびオブジェクトへのパブリックアクセスをブロックします。デフォルトでは、[パブリックアクセスをブロック] 設定はバケットレベルで有効になっています。
+ [AWS Identity and Access Management (IAM) ID](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html) — IAM または AWS IAM アイデンティティセンター を使用して AWS アカウントで IAM ID を作成し、Amazon S3 のリソースへのアクセスを管理します。例えば、Amazon S3 で IAM を使用して、AWS アカウント が所有する Amazon S3 バケットの特定の部分に対するユーザーまたはユーザーグループのアクセス権のタイプをコントロールすることができます。IAM ID およびベストプラクティスの詳細については、「*IAM ユーザーガイド*」の「[IAM ID (ユーザー、ユーザーグループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」を参照してください。
+ [バケットポリシー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) – IAM ベースのポリシー言語を使用して、S3 バケットとその中のオブジェクトに対するリソースベースの許可を設定します。
+ [アクセスコントロールリスト (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) – 個々のバケットおよびオブジェクトに対する読み取りおよび書き込みの許可を、承認されたユーザーに付与します。原則として、アクセスコントロールには ACL ではなく S3 リソースベースのポリシー (バケットポリシーとアクセスポイントポリシー) または IAM ユーザーポリシーを使用することをお勧めします。ポリシーとは、よりシンプルで柔軟なアクセス制御のオプションです。バケットポリシーとアクセスポイントポリシーを使用すると、Amazon S3 リソースに対するすべてのリクエストに広く適用されるルールを定義できます。リソースベースのポリシーまたは IAM ユーザーポリシーの代わりに ACL を使用する場合の特定のケースの詳細については、「[Amazon S3 用 Identity and Access Management](security-iam.md)」を参照してください。
+ [S3 オブジェクト所有権](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) - バケット内のすべてのオブジェクトの所有権を取得し、Amazon S3 に保存されているデータのアクセス管理を簡素化します。S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、ACL を無効または有効にするのに使用できます。デフォルトでは、ACL は無効になっています。ACL を無効にすると、バケット所有者はバケット内のすべてのオブジェクトを所有し、アクセス管理ポリシーのみを使用してデータへのアクセスを管理します。
+ [IAM Access Analyzer for S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-analyzer.html) – S3 バケットアクセスポリシーを評価およびモニタリングし、ポリシーが S3 リソースへの意図したアクセスのみを提供することを確認します。

### ストレージの保護とモニタリング
<a name="manage-monitor-storage"></a>
+ [ストレージの保護](data-protection.md) – Amazon S3 でバケットを作成してオブジェクトをアップロードすると、オブジェクトストレージを保護できるようになります。例えば、ディザスタリカバリには S3 バージョニング、S3 レプリケーション、マルチリージョンアクセスポイントのフェイルオーバーコントロールを使用し、データのバックアップには AWS Backup を使用し、保持期間の設定、削除や上書きの防止、コンプライアンス要件ヘの準拠には S3 Object Lock を使用できます。
+ [ストレージのモニタリング](monitoring-overview.md) – モニタリングは、Amazon S3 および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。ストレージのアクティビティとコストを監視できます。また、マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集することをお勧めします。

  また、Amazon S3 の分析とインサイトを使用して、ストレージの使用状況を把握、分析、最適化することができます。例えば、[Amazon S3 Storage Lens](storage_lens.md) を使用して、ストレージの把握、分析、最適化を行います。S3 Storage Lens には、組織全体、特定のアカウント、リージョン、バケット、またはプレフィックスのデータを集約するための 29 以上の使用状況およびアクティビティに関するメトリクスとインタラクティブなダッシュボードが用意されています。[ストレージクラス分析](analytics-storage-class.md)を使用してストレージアクセスパターンを分析し、データをよりコスト効率の高いストレージクラスに移動するタイミングを決定します。コストを管理するには、[S3 ライフサイクル](object-lifecycle-mgmt.md)を使用できます。

### Amazon S3 を使用した開発
<a name="develop-with-s3"></a>

Amazon S3 は REST サービスです。REST API または、基礎となる Amazon S3 REST API をラップする AWS SDK ライブラリを使用して、Amazon S3 にリクエストを送信できます。これにより、プログラミング作業が簡易になります。また、AWS Command Line Interface (AWS CLI) を使用して、Amazon S3 API 呼び出しを行います。詳細については、「Amazon S3 API リファレンス」の「[リクエストの実行](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)」を参照してください。**

Amazon S3 REST API は、Amazon S3 に対する HTTP インターフェイスです。REST API を使用すると、標準 HTTP リクエストを使用してバケットとオブジェクトを作成、取得、および削除することができます。REST API を使用する場合、HTTP をサポートする任意のツールキットを使用できます。匿名で読み取り可能なオブジェクトであれば、ブラウザを使用して取得することもできます。詳細については、「Amazon S3 API リファレンス」の「[Amazon S3 での開発](https://docs.aws.amazon.com/AmazonS3/latest/API/developing-s3.html)」を参照してください。**

お客様が選択した言語を使用してアプリケーションを構築できるよう、以下のリソースを提供しています。

**AWS CLI**  
AWS CLI を使用して、Amazon S3 の機能にアクセスできます。AWS CLI をダウンロードして設定するには、「Amazon S3 API リファレンス」の「[AWS CLI を使用した Amazon S3 での開発](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html)」を参照してください。**

AWS CLI は Amazon S3 にアクセスするための 2 つの階層のコマンドとして、高レベル ([s3](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html)) コマンドと APIレベル ([s3api](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-apicommands.html) および `s3control`) コマンドを提供しています。高レベル S3 コマンドは、オブジェクトおよびバケットの作成、操作、削除など、一般的なタスクの実行を簡素化します。s3api および s3control コマンドは、すべての Amazon S3 API オペレーションへの直接アクセスを提供します。これにより、高レベルコマンドだけでは不可能なアドバンスドオペレーションを実行することができます。

Amazon S3 AWS CLI コマンドのリストについては、[s3](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/index.html)、[s3api](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/index.html)、および [s3control](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/index.html) を参照してください。

**AWS SDK と Explorer**  
Amazon S3 でのアプリケーション開発に AWS SDK を使用できます。AWS SDK は、基盤となる REST API をラップして、プログラミング作業を簡素化します。AWS を使用して、接続されるモバイルおよびウェブアプリケーションを構築するために、AWS Mobile SDK と Amplify JavaScript ライブラリも用意されています。

AWS SDK に加え、Visual Studio および Eclipse for Java IDE で使用できる AWS Explorer も提供されています。この場合、SDK と Explorer が、AWS ツールキットとしてバンドルされて提供されます。

詳細については、「Amazon S3 API リファレンス」の「[AWS SDK を使用した Amazon S3 での開発](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html)」を参照してください。**

**サンプルコードおよびライブラリ**  
[AWS デベロッパーセンター](https://aws.amazon.com/code/Amazon-S3)および[AWS サンプルコードカタログ](https://docs.aws.amazon.com/code-samples/latest/catalog/welcome.html)には、Amazon S3 用に特別に作成されたサンプルコードとライブラリが用意されています。これらのサンプルコードを、Amazon S3 API の実装方法を理解する教材としてご利用いただけます。また、[https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html](https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html)を参照して、Amazon S3 API オペレーションについて詳しく理解してください。

### チュートリアルから学ぶ
<a name="s3-getting-started-tutorials-list"></a>

ステップバイステップのチュートリアルを開始して、Amazon S3 の詳細について学びます。これらのチュートリアルはラボ型環境向けであり、架空の企業名やユーザー名などを使用しています。目的は、一般的なガイダンスを提供することです。お客様の組織環境に固有のニーズを満たすかどうかの十分な確認や調整をすることなく、本番環境で直接使用するためのものではありません。

#### 開始方法
<a name="getting-started-tutorials"></a>
+ [チュートリアル: Amazon S3 によるファイルの保存と取得](https://aws.amazon.com/getting-started/hands-on/backup-files-to-amazon-s3/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 Intelligent-Tiering を使用した開始方法](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-intelligent-tiering/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 Glacier ストレージクラスを使用した開始方法](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-glacier-storage-classes/?ref=docs_gateway/amazons3/tutorials.html)

#### ストレージコストの最適化
<a name="storage-costs-tutorials"></a>
+ [チュートリアル: S3 Intelligent-Tiering を使用した開始方法](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-intelligent-tiering/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 Glacier ストレージクラスを使用した開始方法](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-glacier-storage-classes/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 ストレージレンズによるコストの最適化と使用状況の可視化](https://aws.amazon.com/getting-started/hands-on/amazon-s3-storage-lens/?ref=docs_gateway/amazons3/tutorials.html)

#### ストレージの管理
<a name="storage-management-tutorials"></a>
+ [チュートリアル: Amazon S3 マルチリージョンアクセスポイントの使用の開始方法](https://aws.amazon.com/getting-started/hands-on/getting-started-with-amazon-s3-multi-region-access-points/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 バッチレプリケーションによる Amazon S3 バケット内の既存のオブジェクトのレプリケーション](https://aws.amazon.com/getting-started/hands-on/replicate-existing-objects-with-amazon-s3-batch-replication/?ref=docs_gateway/amazons3/tutorials.html)

#### 動画とウェブサイトのホスティング
<a name="host-web-video-tutorials"></a>
+ [チュートリアル: Amazon S3、Amazon CloudFront、Amazon Route 53 を使用したオンデマンドストリーミング動画のホスティング。](tutorial-s3-cloudfront-route53-video-streaming.md)
+ [チュートリアル: Amazon S3 での静的ウェブサイトの設定](HostingWebsiteOnS3Setup.md)
+ [チュートリアル: Route 53 に登録されたカスタムドメインを使用した静的ウェブサイトの設定](website-hosting-custom-domain-walkthrough.md)

#### データの処理
<a name="data-processing-tutorials"></a>
+ [チュートリアル: S3 Object Lambda を使用したアプリケーションのデータの変換](tutorial-s3-object-lambda-uppercase.md)
+ [チュートリアル: S3 Object Lambda と Amazon Comprehend を使用した PII データの検出と編集](tutorial-s3-object-lambda-redact-pii.md)
+ [チュートリアル: S3 Object Lambda を使用して、取得時に画像に動的に透かしを入れる](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 バッチオペレーションを使用した動画のバッチトランスコーディング](tutorial-s3-batchops-lambda-mediaconvert-video.md)

#### データの保護
<a name="protect-data-tutorials"></a>
+ [チュートリアル: チェックサムを追加して Amazon S3 のデータの整合性をチェックする](https://aws.amazon.com/getting-started/hands-on/amazon-s3-with-additional-checksums/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 レプリケーションを使用して AWS リージョン内およびリージョン間でデータをレプリケートする](https://aws.amazon.com/getting-started/hands-on/replicate-data-using-amazon-s3-replication/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 バージョニング、S3 オブジェクトロック、S3 レプリケーションを使用して、Amazon S3 上のデータを予期しない削除やアプリケーションのバグから保護する](https://aws.amazon.com/getting-started/hands-on/protect-data-on-amazon-s3/?ref=docs_gateway/amazons3/tutorials.html)
+ [チュートリアル: S3 バッチレプリケーションによる Amazon S3 バケット内の既存のオブジェクトのレプリケーション](https://aws.amazon.com/getting-started/hands-on/replicate-existing-objects-with-amazon-s3-batch-replication/?ref=docs_gateway/amazons3/tutorials.html)

### トレーニングとサポートを見る
<a name="explore-training-and-support"></a>

AWS のエキスパートから学び、スキルを向上させ、目的を達成するためにエキスパートの支援を受けることができます。
+ **トレーニング** – トレーニングリソースは、Amazon S3 を学習するための実践的なアプローチです。詳細については、[「AWS トレーニングと認定」](https://www.aws.training)および[「AWS オンラインテクニカルトーク」](https://aws.amazon.com/events/online-tech-talks)を参照してください。
+ **ディスカッションフォーラム** – フォーラムでは、投稿を確認して、Amazon S3 で何ができるのか、何ができないのかを理解することができます。質問を投稿することもできます。詳細については、「[ディスカッションフォーラム](https://forums.aws.amazon.com/index.jspa)」を参照してください。
+ **技術サポート** – さらにご質問がある場合は、[技術サポート](https://aws.amazon.com/contact-us)までご連絡ください。

# AWS CLI を使用した Amazon S3 の開始方法
<a name="GettingStartedS3CLI"></a>

AWS Command Line Interface (AWS CLI) を使用して、汎用バケットとオブジェクトを操作することで、Amazon S3 の使用を開始できます。バケット とは、オブジェクトのコンテナのことです。オブジェクト とは、ファイルと、そのファイルを記述している任意のメタデータのことです。

Amazon S3 にオブジェクトを保存するには、バケットを作成し、そのバケットにオブジェクトをアップロードします。オブジェクトがバケットの中にあるときは、オブジェクトを開き、ダウンロードして、移動させます。オブジェクトまたはバケットが不要になったら、リソースをクリーンアップします。

Amazon S3 では、お支払いは実際に使用した分のみです。Amazon S3 の機能と料金の詳細については、「[Amazon S3](https://aws.amazon.com/s3/)」を参照してください。Amazon S3 の新規のお客様は、Amazon S3 を無料で使い始めることができます。詳細については、[AWS 無料利用枠](https://aws.amazon.com/free/) を参照してください。

**注記**  
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「[チュートリアル: S3 Express One Zone の使用を開始する](s3-express-getting-started.md)」と「[ディレクトリバケットの使用](directory-buckets-overview.md)」を参照してください。

## 設定
<a name="GettingStartedS3CLI.setting-up"></a>

Amazon S3 で AWS CLI の使用を開始する前に、以下が行われていることを確認します。
+ AWS アカウントのサインアップ。手順については、「[Amazon S3 のセットアップ](GetStartedWithS3.md#setting-up-s3)」を参照してください。
+ `s3:*` アクセス許可のあるユーザーの作成。手順については、「[Amazon S3 のセットアップ](GetStartedWithS3.md#setting-up-s3)」を参照してください。
+ AWS CLI をインストールして設定済みである。手順については、「*AWS Command Line Interface ユーザーガイド*」にある「[AWS CLI の最新バージョンのインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

AWS CLI が適正に設定されていることを確認するには、次のコマンドを実行します。

```
aws sts get-caller-identity
```

詳細については、「*AWS CLI コマンドリファレンス*」の「[get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html)」を参照してください。

このコマンドは、AWS CLI が正しくインストールおよび設定されている場合、使用可能な Amazon S3 コマンドのリストを表示します。

## ステップ 1: 最初の Amazon S3 バケットを作成する
<a name="GettingStartedS3CLI.step1"></a>

AWS CLI をセットアップしたら、Amazon S3 にバケットを作成できます。Amazon S3 のオブジェクトはすべてバケットに保管されます。Amazon S3 にデータを保管する前に、バケットを作成する必要があります。

**注記**  
バケットの作成は課金対象にはなりません。バケット内にオブジェクトを保存した場合、およびバケット宛てまたはバケットからオブジェクトを転送した場合にのみ課金されます。このガイドの例に従って操作して発生する使用料はごくわずかです (1 USD 未満)。ストレージ料金の詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**バケットを作成するには**

1. `s3api create-bucket` コマンドを使用してバケットを作成します。`amzn-s3-demo-bucket` を一意のバケット名に、`us-east-1` を目的のリージョンに置き換えます。

   ```
   aws s3api create-bucket --bucket amzn-s3-demo-bucket --region us-east-1
   ```

   us-east-1 以外のリージョンでは、場所の制約を指定する必要があります。

   ```
   aws s3api create-bucket --bucket amzn-s3-demo-bucket --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2
   ```
**注記**  
一旦バケットを作成したら、そのリージョンを変更することはできません。
レイテンシーとコストを最小化するため、さらに規制条件に対応するために、最寄りのリージョンを選択します。明示的に別のリージョンに移動する場合を除き、特定のリージョンに保管されたオブジェクトは、そのリージョンから移動されることはありません。Amazon S3 AWS リージョンのリストについては、「*Amazon Web Services 全般のリファレンス*」の「[AWS サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)」を参照してください。
バケット名には次の条件があります。  
パーティション内で一意にする必要があります。パーティションは、リージョンのグループです。AWS には、現在 `aws` (商用リージョン)、`aws-cn` (中国リージョン)、および `aws-us-gov` (AWS GovCloud (US) リージョン) の 3 つのパーティションがあります。
3～63 文字で指定する。
小文字、数字、ピリオド (.)、ハイフン (-) のみで構成されます。互換性を最も高くするには、静的ウェブサイトホスティング専用のバケットを除き、バケット名にピリオド (.) を使用しないことをお勧めします。
文字や数字で始まり、文字や数字で終わります。
バケットを作成したら、その名前を変更することはできません。
バケット名に機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。

1. すべてのバケットを一覧表示して、バケットが作成されたことを確認します。

   ```
   aws s3 ls
   ```

1. [オブジェクト所有権](about-object-ownership.md)では、ACL を無効化または有効化して、バケットにアップロードされたオブジェクトの所有権を制御できます。

   **ACL の無効化**

   **バケット所有者の強制** (デフォルト) に設定する – ACL は無効になり、バケット所有者は汎用バケット内のすべてのオブジェクトを自動的に所有し、完全に制御します。

   ```
   aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
   ```
**注記**  
デフォルトでは、ACL は無効になっています。Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなっています。オブジェクトごとに個別にアクセスを制御する必要がある状況を除き、ACL は無効にしておくことをお勧めします。詳細については、「[オブジェクトの所有権の制御とバケットの ACL の無効化。](about-object-ownership.md)」を参照してください。

   **ACL の有効化**
   + **希望するバケット所有者**に設定する – バケット所有者は、他のアカウントが `bucket-owner-full-control` 既定 ACL でバケットに書き込む新しいオブジェクトを所有し、完全にコントロールできます。

     ```
     aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerPreferred}]"
     ```

     **希望するバケット所有者**設定を適用して、すべての Amazon S3 アップロードに `bucket-owner-full-control` 既定 ACL を含めることを要求する場合は、この ACL を使用するオブジェクトアップロードのみを許可する [Amazon S3 `PUT` オペレーションで bucket-owner-full-control 既定 ACL を要求する (バケット所有者の優先)](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) を追加できます。
   + **オブジェクトライター**に設定する — オブジェクトをアップロードする AWS アカウントは、そのオブジェクトを所有し、そのオブジェクトを完全にコントロールし、ACL を介して他のユーザーにそのオブジェクトへのアクセス権を付与できます。

     ```
     aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=ObjectWriter}]"
     ```
**注記**  
デフォルト設定は **[バケット所有者の強制]** です。デフォルト設定を適用して ACL を無効のままにするのに必要なのは、`s3:CreateBucket` アクセス許可のみです。ACL を有効にするためには、`s3:PutBucketOwnershipControls` アクセス許可が必要です。

   バケットの現在のオブジェクトの所有権の設定を確認するには。

   ```
   aws s3api get-bucket-ownership-controls --bucket amzn-s3-demo-bucket
   ```

1. **[ブロックパブリックアクセス]** が有効になっている (新しいバケットではデフォルトで有効になっている) ことを確認するには。

   ```
   aws s3api get-public-access-block --bucket amzn-s3-demo-bucket
   ```

   デフォルトでは、新しいバケットに対して 4 つの **[ブロックパブリックアクセス]** 設定のすべてが有効になっています。特定のユースケースでオフにする必要のある設定が 1 つ以上あることがわかっている場合を除き、すべての設定を有効にしておくことをお勧めします。ブロックパブリックアクセスの詳細については、[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md) を参照してください。

   **[ブロックパブリックアクセス]** を有効にする必要がある場合は、次のコマンドを使用します。

   ```
   aws s3api put-public-access-block --bucket amzn-s3-demo-bucket --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"
   ```
**注記**  
すべての [パブリックアクセスをブロック] 設定を有効にするのに必要なのは、`s3:CreateBucket` アクセス許可のみです。[パブリックアクセスをブロック] 設定をオフにするには、`s3:PutBucketPublicAccessBlock` アクセス許可が必要です。

1. バケットのバージョニングを有効にするには。

   ```
   aws s3api put-bucket-versioning --bucket amzn-s3-demo-bucket --versioning-configuration Status=Enabled
   ```

   [バケットのバージョニング] は、デフォルトで無効になります。バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニングを使用して、 バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元することができます。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、より簡単に復旧できます。バージョニングの詳細については、「[S3 バージョニングによる複数のバージョンのオブジェクトの保持](Versioning.md)」を参照してください。

1. Amazon S3 Object Lock は、新しいオブジェクトが削除または上書きされないように保護するのに役立ちます。詳細については、「[S3 Object Lock を使用したオブジェクトのロック](object-lock.md)」を参照してください。[S3 Object Lock を使用したオブジェクトのロック](object-lock.md) を有効にするには (バケットのバージョニングが必要です)。

   新しいバケットの場合。

   ```
   aws s3api create-bucket --bucket amzn-s3-demo-bucket --region us-east-1 --object-lock-enabled-for-bucket
   ```

   既存のバケットの場合。

   ```
   aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket --object-lock-configuration '{"ObjectLockEnabled": "Enabled"}'
   ```

   Object Lock を有効にする [S3 Object Lock を使用したオブジェクトのロック](object-lock.md) と同時にデフォルトを設定する場合は、以下を使用できます。

   ```
   aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket --object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Days":30}}}'
   ```

   制限の少ないモードでは `"COMPLIANCE"` を `"GOVERNANCE"` に置き換え、必要に応じて日数を調整できます。
**注記**  
Object Lock が有効なバケットを作成するには、`s3:CreateBucket`、`s3:PutBucketVersioning` および `s3:PutBucketObjectLockConfiguration` の許可が必要です。

1. バケットにタグを追加できます。AWS コスト配分では、バケットタグを使用してバケットの使用に対する請求に注釈を付けることができます。タグはキー/値ペアになっており、バケットに割り当てられるラベルを表します。詳細については、「[S3 バケットタグでのコスト配分タグの使用](CostAllocTagging.md)」を参照してください。

   バケットにタグを追加するには。

   ```
   aws s3api put-bucket-tagging --bucket amzn-s3-demo-bucket --tagging 'TagSet=[{Key=Purpose,Value=Testing},{Key=Environment,Value=Development}]'
   ```

1. バケットと新しいオブジェクトは、暗号化設定の基本レベルとして Amazon S3 マネージドキー (`SSE-S3`) を使用したサーバー側の暗号化で暗号化されます。バケットのデフォルトの暗号化を確認するには、次のコマンドを使用します。

   ```
   aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket
   ```

   バケットに対して、AWS KMS キーによるサーバー側の暗号化 (`SSE-KMS`) と、AWS KMS キーによる二層式サーバー側の暗号化 (`DSSE-KMS`) を設定することもできます。AWS マネージドキー (`aws/s3`) とカスタマーマネージドキーの両方を、`SSE-KMS` および `DSSE-KMS` 暗号化設定の AWS KMS キーとして使用できます。カスタマーマネージドキーの詳細については、*AWS Key Management Serviceデベロッパーガイド*の「[カスタマーキーと AWS キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)」を参照してください。AWS KMS キーの作成の詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」を参照してください。
**重要**  
AWS KMS キーは、Amazon S3 バケットと同じ AWS リージョンに存在する必要があります。クロスリージョン KMS キーは、Amazon S3 バケット暗号化ではサポートされていません。

   SSE-KMS でデフォルトの暗号化を使用するようにバケットを設定する場合は、Amazon S3 バケットキーを使用することもできます。Amazon S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、暗号化のコストを削減します。詳細については、「[Amazon S3 バケットキーを使用した SSE−KMS のコストの削減](bucket-key.md)」を参照してください。Amazon S3 バケットキーは DSSE-KMS ではサポートされていません。AWS CLI では、新しいバケットの作成時に Amazon S3 バケットキーがデフォルトで有効になっていません。これは、デフォルトで有効になっているコンソールの動作とは異なります。

   `SSE-KMS` を設定し、Amazon S3 バケットキーを有効にするには。

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration "{\"Rules\":[{\"ApplyServerSideEncryptionByDefault\":{\"SSEAlgorithm\":\"aws:kms\",\"KMSMasterKeyID\":\"YOUR-KMS-KEY-ARN\"},\"BucketKeyEnabled\":true}]}"
   ```

   Amazon S3 バケットキーがバケットに対して有効になっているかどうかを確認するには。

   ```
   aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket
   ```

   出力には、`true` または `false` に設定された `BucketKeyEnabled` フィールドが含まれます。

   `DSSE-KMS` を設定するには、以下のコマンドを使用します。

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms:dsse","KMSMasterKeyID":"YOUR-KMS-KEY-ARN"}}]}'
   ```

   デフォルトの暗号化の詳細については、「[Amazon S3 バケット向けのサーバー側のデフォルトの暗号化動作の設定](bucket-encryption.md)」を参照してください。SSE-KMS に関する詳細は、「[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)](UsingServerSideEncryption.md)」を参照してください。
**重要**  
デフォルト暗号化設定として SSE-KMS または DSSE-KMS オプションを使用する場合、AWS KMS の 1 秒あたりのリクエスト数 (RPS) 制限が適用されます。Amazon S3 バケットキーを有効にすると、KMS API コールを減らすことができます。これにより、AWS KMS に送信されるリクエストの数が減少します。AWS KMS クォータの詳細およびクォータの引き上げをリクエストする方法については、**「AWS Key Management Service デベロッパーガイド」の「[クォータ](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)」を参照してください。

Amazon S3 にバケットが作成されました。次のステップでは、バケットにオブジェクトをアップロードします。

## ステップ 2: バケットにオブジェクトをアップロードする
<a name="GettingStartedS3CLI.step2"></a>

Amazon S3 でバケットを作成すると、オブジェクトをバケットにアップロードする準備が整います。オブジェクトは、テキストファイル、写真、ビデオなど、どのような種類のファイルでも可能です。

**オブジェクトをバケットにアップロードするには**

1. アップロードするシンプルなテキストファイルを作成します。任意のテキストエディタを使用するか、次のコマンドを実行できます。

   ```
   echo 'Hello, Amazon S3!' > example.txt
   ```

1. s3 cp コマンドを使用して、ファイルをバケットにアップロードします。

   ```
   aws s3 cp example.txt s3://amzn-s3-demo-bucket/
   ```

   アップロードが成功すると、次のような出力が表示されます。

   ```
   upload: ./example.txt to s3://amzn-s3-demo-bucket/example.txt
   ```

1. バケットのコンテンツを一覧表示して、オブジェクトがアップロードされたことを確認します。

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

オブジェクトがバケットに正常にアップロードされました。次のステップでは、オブジェクトをダウンロードします。

## ステップ 3: オブジェクトをダウンロードする
<a name="GettingStartedS3CLI.step3"></a>

バケットにオブジェクトをアップロード後、オブジェクトに関する情報を表示し、ローカルコンピュータにそのオブジェクトをダウンロードできます。

**Amazon S3 バケットからオブジェクトをダウンロードするには**

1. オブジェクトに関する情報を取得するには

   ```
   aws s3api head-object --bucket amzn-s3-demo-bucket --key example.txt
   ```

   このコマンドは、コンテンツタイプ、コンテンツの長さ、最終更新日など、オブジェクトに関するメタデータを返します。

1. オブジェクトをローカルコンピューターにダウンロードします。

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/example.txt downloaded-example.txt
   ```

   ダウンロードが成功すると、次のような出力が表示されます。

   ```
   download: s3://amzn-s3-demo-bucket/example.txt to ./downloaded-example.txt
   ```

1. ダウンロードしたファイルのコンテンツを確認します。

   ```
   cat downloaded-example.txt
   ```

**注記**  
コンソールとは異なり、AWS CLI はワイルドカードまたは `--recursive` フラグを使用して一度に複数のオブジェクトをダウンロードできます。
AWS CLI を使用してオブジェクトをダウンロードする場合、オブジェクトキー名の末尾のピリオド (.) は、削除されるコンソールとは異なり、保持されます。これは、オブジェクトキーがピリオドで終わる場合に重要です。

複数のオブジェクトをダウンロードする例。

特定のファイル拡張子を持つ Amazon S3 バケットから複数のオブジェクトをダウンロードするには、例に示すように、`exclude` および `include` フィルターで再帰的なコピーコマンドを使用します。

```
aws s3 cp s3://amzn-s3-demo-bucket/ . --recursive --exclude "*" --include "*.txt"
```

オブジェクトが正常にダウンロードされました。次のステップでは、オブジェクトをフォルダにコピーします。

## ステップ 4: オブジェクトをフォルダにコピーする
<a name="GettingStartedS3CLI.step4"></a>

バケットにオブジェクトを追加し、そのオブジェクトをダウンロードできました。ここで、フォルダを作成し、オブジェクトをフォルダにコピーします。

**オブジェクトをフォルダにコピーするには**

1. Amazon S3 では、フォルダはオブジェクトキーのプレフィックスとして表されます。プレフィックスが付いたオブジェクトをコピーして、「フォルダ」を作成します。

   ```
   aws s3 cp s3://amzn-s3-demo-source-bucket/example.txt s3://amzn-s3-demo-destination-bucket/favorite-files/example.txt
   ```

   コピーが成功すると、次のような出力が表示されます。

   ```
   copy: s3://amzn-s3-demo-source-bucket/example.txt to s3://amzn-s3-demo-destination-bucket/favorite-files/example.txt
   ```

1. フォルダのコンテンツを一覧表示して、オブジェクトがコピーされたことを確認します。

   ```
   aws s3 ls s3://amzn-s3-demo-destination-bucket/favorite-files/
   ```

オブジェクトをフォルダに正常にコピーしました。次のステップでは、オブジェクトとバケットを削除します。

## ステップ 5: オブジェクトとバケットを削除する
<a name="GettingStartedS3CLI.step5"></a>

オブジェクトまたはバケットが不要になった場合は、それ以上の料金が発生しないように、オブジェクトまたはバケットを削除することをお勧めします。この開始方法のチュートリアルを演習として完了し、バケットまたはオブジェクトを使用する予定がないときは、料金が発生しないようにするため、バケットを削除することをお勧めします。

バケットを削除する前に、バケットを空にするか、バケット内のオブジェクトを削除します。オブジェクトとバケットを削除すると、それらは使用できなくなります。

引き続き同じバケット名を使用したいときは、オブジェクトを削除するか、バケットを空にすることをお勧めします。ただし、バケットは削除しないでください。バケットを削除すると、その名前は再利用できるようになります。ただし、バケットを再利用する前に、別の AWS アカウントで同じ名前のバケットが作成される可能性があります。

### オブジェクトの削除
<a name="GettingStartedS3CLI.step5.delete-object"></a>

バケットからすべてのオブジェクトを空にせずに、削除するオブジェクトを選択する場合は、オブジェクトを削除できます。

特定のオブジェクトを削除します。

```
aws s3 rm s3://amzn-s3-demo-bucket/example.txt
```

削除が成功すると、次のような出力が表示されます。

```
delete: s3://amzn-s3-demo-bucket/example.txt
```

### バケットを空にする
<a name="GettingStartedS3CLI.step5.empty-bucket"></a>

バケットを削除する場合は、まずバケットを空にする必要があります。これにより、バケット内のすべてのオブジェクト、バージョン、削除マーカーが削除されます。

**バケットを空にするには**
**重要**  
バケットを空にすると、元に戻すことはできません。バケットを空にするアクションの実行中にバケットに追加されたオブジェクトは削除されます。

1. **オプション 1:** 小さいバケットの場合は、`rm` コマンドと `--recursive` フラグを使用してバケット内のすべてのオブジェクトを削除します。

   ```
   aws s3 rm s3://amzn-s3-demo-bucket --recursive
   ```

   このコマンドは、フォルダ内のオブジェクトを含む、バケット内のすべてのオブジェクトを削除します。
**注記**  
バケットに多数のオブジェクトまたは大きなオブジェクトが含まれている場合、このコマンドはタイムアウトすることがあります。大量のデータがあるバケットの場合、Amazon S3 ライフサイクルルールを使用してバケット内のオブジェクトを期限切れにします。

   **オプション 2:** Amazon S3 ライフサイクルルールを使用する (大きなバケットに推奨)

   多数のオブジェクトまたは大きなオブジェクトを持つバケットの場合、Amazon S3 ライフサイクルルールを使用して、すべてのオブジェクトを自動的に期限切れにし、削除します。ライフサイクルルールが処理されるまで待ちます (これには最大 24 時間かかる場合があります)。ライフサイクルルールを使用してバケットを空にする方法については、「[ライフサイクル設定ルールを使用して Amazon S3 バケットを空にするにはどうすればよいですか?](https://repost.aws/knowledge-center/s3-empty-bucket-lifecycle-rule)」を参照してください。

1. バケットが空であることを確認します。

   ```
   aws s3 ls s3://amzn-s3-demo-bucket
   ```

1. バケットでバージョニングが有効になっている場合は、次のコマンドを使用してバージョニングされたオブジェクトと削除マーカーを削除します。

   バージョニングされたオブジェクトを削除します。

   ```
   aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete "$(aws s3api list-object-versions --bucket amzn-s3-demo-bucket --output json --query='{Objects: Versions[].{Key:Key,VersionId:VersionId}}')"
   ```

   削除マーカーを削除します。

   ```
   aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete "$(aws s3api list-object-versions --bucket amzn-s3-demo-bucket --output json --query='{Objects: DeleteMarkers[].{Key:Key,VersionId:VersionId}}')"
   ```

1. バケットにすべてのオブジェクトバージョンと削除マーカーがないことを確認します。

   ```
   aws s3api list-object-versions --bucket amzn-s3-demo-bucket
   ```

   出力には、残りのバージョンや削除マーカーは表示されません。

### バケットの削除
<a name="GettingStartedS3CLI.step5.delete-bucket"></a>

バケットを空にするか、バケットからすべてのオブジェクトを削除した後、バケットを削除できます。

**重要**  
バケットを削除すると、元に戻すことはできません。バケット名は一意です。バケットを削除すると、別の AWS ユーザーがその名前を使用できます。同じバケット名を引き続き使用する場合は、バケットを削除しないでください。代わりに、バケットを空にして保管しておきます。

**バケットを削除するには**

1. バケットを削除します。

   ```
   aws s3api delete-bucket --bucket amzn-s3-demo-bucket
   ```

1. すべてのバケットを一覧表示して、バケットが削除されたことを確認します。

   ```
   aws s3 ls
   ```

## 次のステップ
<a name="GettingStartedS3CLI.next-steps"></a>

上記の例で、AWS CLI を使用するいくつかの基本的な Amazon S3 のタスクをどのように実行するかを学びました。

次のトピックでは、Amazon S3 をより深く理解して、アプリケーションに実装できるようにするために使用できるラーニングパスについて説明します。
+ [一般的なユースケースを理解するチュートリアルから学ぶ](GetStartedWithS3.md#s3-use-cases)
+ [バケットとオブジェクトへのアクセスをコントロール](GetStartedWithS3.md#control-access-resources)
+ [ストレージの保護とモニタリング](GetStartedWithS3.md#manage-monitor-storage)
+ [Amazon S3 を使用した開発](GetStartedWithS3.md#develop-with-s3)
+ [一般的なユースケースを理解するチュートリアルから学ぶ](GetStartedWithS3.md#s3-getting-started-tutorials-list)
+ [トレーニングとサポートを見る](GetStartedWithS3.md#explore-training-and-support)

次のリストは、Amazon S3 の一般的な AWS CLI コマンドを示しています。
+ [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) – ローカルファイルシステムと Amazon S3 の間、または Amazon S3 の場所の間でファイルまたはオブジェクトをコピーします
+ [ls](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) – 指定されたバケットとプレフィックスの下に Amazon S3 オブジェクトと一般的なプレフィックスを一覧表示します
+ [mb](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) – Amazon S3 バケットを作成します
+ [mv](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) – ローカルファイルシステムと Amazon S3 の間、または Amazon S3 の場所の間でファイルまたはオブジェクトを移動します
+ [presign](https://docs.aws.amazon.com/cli/latest/reference/s3/presign.html) – AWS 認証情報なしで一時的なアクセスを許可する Amazon S3 オブジェクトの署名付き URL を生成します
+ [rb](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html) – 空の Amazon S3 バケットを削除します。`--force` フラグを使用して、1 つのコマンドでコンテンツを含むバケットを自動的に空にして削除できます。この操作は元に戻すことができません。
+ [rm](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) – Amazon S3 からオブジェクトを削除します
+ [sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) – ソースディレクトリからコピー先に新規および更新されたファイルを再帰的にコピーすることで、ディレクトリと Amazon S3 プレフィックスを同期します。
+ [website](https://docs.aws.amazon.com/cli/latest/reference/s3/website.html) – バケットを静的ウェブサイトとして設定します

Amazon S3 の AWS CLI コマンドの詳細については、次のリソースを参照してください。
+ [s3](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) – 一般的な操作を簡素化する高レベルの Amazon S3 コマンド
+ [s3api](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) – すべての Amazon S3 API オペレーションへの直接アクセス
+ [s3control](https://docs.aws.amazon.com/cli/latest/reference/s3control/index.html) – すべての Amazon S3 コントロール API オペレーションへの直接アクセス