AWS Elastic Beanstalk
開発者ガイド

アプリケーションバージョンライフサイクルの設定

Elastic Beanstalk コンソール または EB CLI を使用して新しいバージョンのアプリケーションをアップロードするたびに、Elastic Beanstalk はアプリケーションバージョンを作成します。使用しなくなったバージョンを削除しないと、最終的にはアプリケーションバージョン制限に到達し、そのアプリケーションの新しいバージョンを作成できなくなります。

アプリケーションにアプリケーションバージョンライフサイクルポリシーを適用することで、制限に到達するのを回避できます。ライフサイクルポリシーにより、古いアプリケーションバージョンを削除するか、アプリケーションの合計数が指定した数を超えた場合にアプリケーションバージョンを削除するよう Elastic Beanstalk に指示されます。

Elastic Beanstalk は、新しいアプリケーションバージョンを作成するたびにアプリケーションのライフサイクルポリシーを適用し、ライフサイクルポリシーが適用されるたびに、最大 100 個のバージョンを削除します。Elastic Beanstalk は、新しいバージョンの作成後に古いバージョンを削除し、ポリシーで定義された最大バージョン数に対して新しいバージョンをカウントしません。

Elastic Beanstalk は、環境で現在使用されているアプリケーションバージョン、またはポリシーがトリガーされる 10 週前までに終了した環境にデプロイされているアプリケーションバージョンは削除しません。

アプリケーションバージョンの制限はリージョン内のすべてのアプリケーションに適用されます。複数のアプリケーションがある場合は、上限に達するのを回避するため、各アプリケーションを適切なライフサイクルポリシーで設定します。たとえば、リージョンに 10 個のアプリケーションがあり、制限が 1,000 アプリケーションバージョンである場合、すべてのアプリケーションについて、制限を 99 アプリケーションにしたライフサイクルポリシーを設定するか、合計が 1,000 アプリケーションバージョン未満である限り、各アプリケーションにその他の値を設定することを検討してください。Elastic Beanstalk は、アプリケーションバージョンの作成が成功した場合にのみポリシーを適用するため、すでに制限に達した場合は、新しいバージョンを作成する前に、いくつかのバージョンを手動で削除する必要があります。

デフォルトでは、Elastic Beanstalk はデータの損失を防ぐため、アプリケーションバージョンのソースバンドルを Amazon S3 に残します。ソースバンドルを削除すると、領域を節約できます。

ライフサイクル設定は、Elastic Beanstalk CLI および API を通じて設定できます。詳細については、eb appversionCreateApplication (ResourceLifecycleConfig パラメータを使用)、および UpdateApplicationResourceLifecycle を参照してください。

コンソールでアプリケーションのライフサイクル設定を指定する

コンソールでライフサイクル設定を指定できます。

アプリケーションのライフサイクル設定を指定するには

  1. Elastic Beanstalk コンソール を開きます。

  2. アプリケーションを選択します。

  3. ナビゲーションペインで、[アプリケーションバージョン] を選択します。

  4. [設定] を選択します。

    アプリケーションのライフサイクル設定
  5. [ライフサイクルポリシー] の [有効] を選択して、ライフサイクル設定を有効にします。

  6. [アプリケーションバージョンの制限を合計数で設定] または [アプリケーションバージョンの制限を期間で設定] のいずれかを選択します。

  7. [アプリケーションバージョンの制限を合計数で設定] を選択した場合は、[アプリケーションバージョン] として 1 から 1000 までの値を入力して、古いバージョンを削除する前に保持するアプリケーションバージョンの最大数を指定します。

  8. [アプリケーションバージョンの制限を期間で設定] を選択した場合は、アプリケーションバージョンを保持する最大期間を 1 から 180 までの日数で指定します。

  9. [保持期間] として、アプリケーションバージョンが削除されるときにソースバンドルを S3 から削除するかどうかを指定します。

  10. [サーヒ゛スロール] として、アプリケーションバージョンの削除に使用するロールを指定します。バージョン削除に必要なすべてのアクセス許可を含めるには、aws-elasticbeanstalk-service-role という名前のデフォルトの Elastic Beanstalk サービスロールを選択するか、Elastic Beanstalk 管理サービスポリシーを使用して別のサービスロールを選択します。詳細については、「Elastic Beanstalk サービスロールを管理する」を参照してください。

  11. [保存] を選択して、アプリケーションライフサイクル設定を保存します。