

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 で Elastic Beanstalk を使用する
<a name="AWSHowTo.S3"></a>

このトピックでは、Elastic Beanstalk が Amazon Simple Storage Service (Amazon S3) を使用する方法と、S3 バケットに保存するオブジェクトのタイプについて説明します。また、Elastic Beanstalk 環境を終了した後に手動で削除する必要があるオブジェクトについても記載し、その手順を示します。

## Elastic Beanstalk Amazon S3 カスタマーアカウントバケット
<a name="AWSHowTo.S3.aeb-bucket"></a>

Elastic Beanstalk は、環境を作成した各リージョンに対して、`elasticbeanstalk-{{region}}-{{account-id}}` という名前の Amazon S3 バケットを作成して暗号化します。 AWS アカウントはこのバケットを所有しています。Elastic Beanstalk は一時設定ファイルと、このバケット内のアプリケーションの適切なオペレーションのその他のオブジェクトを保存します。Elastic Beanstalk では、サービスマネージドバケットに対して有効な ACL が必要であるため、このバケットのアクセスコントロールリスト (ACL) を有効にします。

Amazon S3 はデフォルトでバケットアクセスコントロールリスト (ACL) を無効にすることに注意してください。さらに、*Amazon S3 ユーザーガイド*の [ACL 概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)トピックでは、特定のユースケースを除き、ACL を無効にしておくことをお勧めします。Elastic Beanstalk のサービスマネージドバケットは、ACL を有効にする必要があるユースケースに該当します。セキュリティを維持するために、Elastic Beanstalk デプロイでは、このバケットがアプリケーションを実行しているアカウントによって所有されることを強制します。

Elastic Beanstalk は、Amazon S3 バケットによって提供されているデフォルトの暗号化を保持します。詳細については、「* Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 のデフォルト暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)」を参照してください。

## Elastic Beanstalk Amazon S3 カスタマーアカウントバケットの内容
<a name="AWSHowTo.S3.content"></a>

次の表に、Elastic Beanstalk が顧客アカウントバケットに保存するオブジェクトの一覧を示します。この表には、手動で削除する必要があるオブジェクトも示されています。不要なストレージコストを避け、個人情報が保持されないようにするために、不要になったオブジェクトを手動で削除してください。


|  **オブジェクト**  |  **いつ保存されますか。** |  **いつ削除されますか。** | 
| --- | --- | --- | 
| [**アプリケーションバージョン**](applications-versions.md) | 環境を作成したり、既存の環境にアプリケーションコードをデプロイすると、Elastic Beanstalk はアプリケーションバージョンを Amazon S3 に保存し、それを環境に関連付けます。 | アプリケーションの削除中は、「[バージョンライフサイクル](applications-lifecycle.md)」に従います。 | 
| [**ソースバンドル**](applications-versions.md) | Elastic Beanstalk コンソールまたは EB CLI を使用して新しいアプリケーションバージョンをアップロードすると、Elastic Beanstalk はそのコピーを Amazon S3 に保管し、環境のソースバンドルとして設定します。 | *手動。*アプリケーションバージョンを削除すると、[**Amazon S3 からのバージョンの削除**] を選択して、関連するソースバンドルを削除することもできます。詳細については、「[アプリケーションバージョンの管理](applications-versions.md)」を参照してください。 | 
| **カスタムプラットフォーム** | カスタムプラットフォームを作成すると、Elastic Beanstalk は関連するデータを一時的に Amazon S3 に保存します。 | カスタムプラットフォームの作成が正常に完了したとします。 | 
| [**ログファイル**](using-features.logging.md) | Elastic Beanstalk にインスタンスログファイル (テールログまたはバンドルログ) を取得して Amazon S3 に保存するようにリクエストできます。ログのローテーションを有効にし、ローテーション後にログを自動的に Amazon S3 に発行するように環境を設定することもできます。 | ログ末尾およびバンドルログ: 作成の 15 分後に削除されます。<br />ローテーションされたログ: *手動。* | 
| [**保存された設定**](environment-configuration-savedconfig.md) | *手動。* | *手動。* | 

## Elastic Beanstalk Amazon S3 バケット内のオブジェクトの削除
<a name="AWSHowTo.S3.delete-objects"></a>

環境を終了するかアプリケーションを削除すると、Elastic Beanstalk は Amazon S3 から大部分の関連オブジェクトを削除します。実行中のアプリケーションのストレージコストを最小限に抑えるには、アプリケーションが必要としないオブジェクトを定期的に削除します。さらに、「[Elastic Beanstalk Amazon S3 カスタマーアカウントバケットの内容](#AWSHowTo.S3.content)」にリストされているように、手動で削除する必要のあるオブジェクトに注意してください。個人情報が不必要に保持されないようにするには、不要になった時点でそれらのオブジェクトを削除します。
+ アプリケーションで使用する予定のないアプリケーションのバージョンを削除してください。アプリケーションバージョンを削除すると、[**Amazon S3 からのバージョンの削除**] を選択して関連ソースバンドルを削除することもできます。ソースバンドルはアプリケーションのソースコードと設定ファイルのコピーで、アプリケーションをデプロイしたり、アプリケーションのバージョンをアップロードしたりしたときに、Elastic Beanstalk が Amazon S3 にアップロードしたものです。アプリケーションバージョンを削除する方法については、「[アプリケーションバージョンの管理](applications-versions.md)」を参照してください。
+ ローテーションされた不要なログを削除します。または、それらをダウンロードするか、Amazon Glacier に移動して、詳細に分析します。
+ どの環境でも使用する予定のない保存済みの設定は、削除します。

## Elastic Beanstalk Amazon S3 バケットの削除
<a name="AWSHowTo.S3.delete-bucket"></a>

Elastic Beanstalk がバケットを作成すると、新しいバケットに適用されるバケットポリシーも作成されます。このポリシーには次の 2 つの目的があります。
+ 環境がバケットに書き込めるようにすること。
+ バケットが誤って削除されるのを防ぐこと。

Elastic Beanstalk が環境用に作成したバケットに適用するポリシーにより、最初に意図的にバケットポリシーを削除しない限り、これらのバケットを削除することはできません。Amazon S3 コンソールでバケットプロパティの **[アクセス許可]** セクションからバケットポリシーを削除できます。

**警告**  
**バケット全体を削除するのではなく、特定の不要なオブジェクトを Elastic Beanstalk Amazon S3 バケットから削除することをお勧めします。**  
アカウントで Elastic Beanstalk が作成したバケットを削除しても、既存のアプリケーションと実行中の環境が対応するリージョンに残っていると、アプリケーションが正しく機能しなくなる可能性があります。例:  
環境がスケールアウトされると、Elastic Beanstalk は Amazon S3 バケットで環境のアプリケーションバージョンを見つけて、新しい Amazon EC2 インスタンスを開始するためにそれを使用できるはずです。
カスタムプラットフォームを作成すると、Elastic Beanstalk は作成プロセス中に一時ストレージおよび Amazon S3 ストレージを使用します。
  
S3 バケットを削除する意味の詳細については、「*Amazon S3 ユーザーガイド*」の「[バケットの削除](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)」に記載されている考慮事項を参照してください。

**Elastic Beanstalk ストレージバケットを削除するには (コンソール)**

S3 バケットを削除する一般的な手順については、「*Amazon S3 ユーザーガイド*」の「[バケットの削除](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)」にも記載されています。以下の手順では、Elastic Beanstalk によって作成されたバケットを削除するため、最初にバケットポリシーを削除する追加ステップが含まれます。

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

1. バケット名を選択して、Elastic Beanstalk ストレージバケットのページを開きます。

1. **[アクセス許可]** タブを選択します。

1. [**バケットポリシー**] を選択します。

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

1. Amazon S3 コンソールのメインページに戻り、Elastic Beanstalk ストレージバケットを選択します。

1. **[Delete Bucket]** (バケットの削除) を選択します。

1. テキストフィールドにバケット名を入力することでバケットを削除することを確認し、**[バケットの削除]** を選択します。