AWS Elastic Beanstalk
開発者ガイド

Amazon S3 で Elastic Beanstalk を使用する

Amazon Simple Storage Service (Amazon S3) には、耐久性と耐障害性の高いデータストレージが用意されています。見た目はシンプルですが、実際は Amazon S3 が、AWS リージョンの複数の施設の複数のデバイスにわたってオブジェクトを冗長的に保存します。

Elastic Beanstalk は環境を作成するリージョンごとに elasticbeanstalk-region-account-id という名前の Amazon S3 バケットを作成します。Elastic Beanstalk はこのバケットを使用して、アプリケーションの適切なオペレーションに必要なオブジェクトを保存します。

Elastic Beanstalk Amazon S3 バケットの内容

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

オブジェクト いつ保存されますか。 いつ削除されますか。

アプリケーションバージョン

環境を作成したり、既存の環境にアプリケーションコードをデプロイすると、Elastic Beanstalk はアプリケーションバージョンを Amazon S3 に保存し、それを環境に関連付けます。

アプリケーションの削除中は、「バージョンライフサイクル」に従います。

ソースバンドル

Elastic Beanstalk コンソールまたは EB CLI を使用して新しいアプリケーションバージョンをアップロードすると、Elastic Beanstalk はそのコピーを Amazon S3 に保管し、環境のソースバンドルとして設定します。

手動.アプリケーションバージョンを削除すると、[Amazon S3 からのバージョンの削除] を選択して、関連するソースバンドルを削除することもできます。詳細については、「アプリケーションバージョンの管理」を参照してください。

カスタムプラットフォーム

カスタムプラットフォームを作成すると、Elastic Beanstalk は関連するデータを一時的に Amazon S3 に保存します。

カスタムプラットフォームの作成が正常に完了したとします。

ログファイル

Elastic Beanstalk にインスタンスログファイル (テールログまたはバンドルログ) を取得して Amazon S3 に格納するようにリクエストできます。ログのローテーションを有効にし、ローテーション後にログを自動的に Amazon S3 に発行するように環境を設定することもできます。

ログ末尾およびバンドルログ: 作成の 15 分後に削除されます。

ローテーションされたログ:手動。

保存された設定

手動.

手動.

Elastic Beanstalk Amazon S3 バケットのオブジェクトの削除

環境を終了するかアプリケーションを削除すると、Elastic Beanstalk は Amazon S3 から大部分の関連オブジェクトを削除します。実行中のアプリケーションのストレージコストを最小限に抑えるには、アプリケーションが必要としないオブジェクトを定期的に削除します。さらに、「Elastic Beanstalk Amazon S3 バケットの内容」にリストされているように、手動で削除する必要のあるオブジェクトに注意してください。個人情報が不必要に保持されないようにするには、不要になった時点でそれらのオブジェクトを削除します。

  • アプリケーションで使用する予定のないアプリケーションのバージョンを削除してください。アプリケーションバージョンを削除すると、[Amazon S3 からのバージョンの削除] を選択して関連ソースバンドルを削除することもできます。ソースバンドルはアプリケーションのソースコードと設定ファイルのコピーで、アプリケーションをデプロイしたり、アプリケーションのバージョンをアップロードしたりしたときに、Elastic Beanstalk が Amazon S3 にアップロードしたものです。アプリケーションバージョンを削除する方法については、「アプリケーションバージョンの管理」を参照してください。

  • ローテーションされた不要なログを削除します。または、それらをダウンロードするか Amazon Glacier に移動して、詳細に分析します。

  • どの環境でも使用する予定のない保存済みの設定は、削除します。

Elastic Beanstalk Amazon S3 バケットの削除

Elastic Beanstalk は、環境でのバケットへの書き込みを許可し誤った削除を禁止するバケットポリシーを作成し、バケットに適用します。Elastic Beanstalk によって作成されたバケットを削除する必要がある場合は、その前に Amazon S3 コンソールでバケットプロパティの [アクセス許可] セクションからバケットポリシーを削除してください。

警告

アカウントで Elastic Beanstalk が作成したバケットを削除しても、既存のアプリケーションと実行中の環境が対応するリージョンに残っていると、アプリケーションが正しく機能しなくなる可能性があります。以下に例を示します。

  • 環境がスケールアウトされると、Elastic Beanstalk はAmazon S3 バケットで環境のアプリケーションバージョンを見つけて、新しい Amazon EC2 インスタンスを開始するためにそれを使用できるはずです。

  • カスタムプラットフォームを作成すると、Elastic Beanstalk は作成プロセス中に一時ストレージおよび Amazon S3 ストレージを使用します。

バケット全体を削除するのではなく、特定の不要なオブジェクトを Elastic Beanstalk Amazon S3 バケットから削除することをお勧めします。

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

  1. Amazon S3 コンソールを開きます。

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

    Amazon S3 コンソールでバケットのページを開く
  3. [Permissions] タブを選択します。

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

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

    Amazon S3 コンソールのバケットポリシーエディター
  6. Amazon S3 コンソールのメインページに戻り、バケット名の外側にある行をクリックして Elastic Beanstalk ストレージバケットを選択します。

    Amazon S3 コンソールのバケットの選択
  7. [Delete Bucket] を選択します。

  8. バケットの名前を入力し、[Confirm] を選択します。