AWS Elastic Beanstalk
開発者ガイド

Elastic Beanstalk 環境のプラットフォームバージョンの更新

Elastic Beanstalk 環境でアプリケーションを実行している Linux ベース、および Windows Server ベースのプラットフォームの場合、更新が定期的に Elastic Beanstalk からリリースされます。プラットフォームは、ソフトウェアコンポーネント 1 つ (特定バージョンのオペレーティングシステム (OS) を実行する AMI とツール、Elastic Beanstalk 固有のスクリプト) と設定コンポーネント 1 つ (プラットフォームで作成され環境に適用されたデフォルト設定) で構成されます。新しいバージョンから、既存のソフトウェアコンポーネントへの更新と、新しい機能と設定オプションのサポートが提供されます。

ウェブコンテナまたはプログラミング言語、フレームワークが含まれたメジャーバージョン (互換性なし) を複数サポートするプラットフォームについては、そのプラットフォームの設定がそれぞれ別途提供されます。たとえば、Java と Tomcat プラットフォームでは、Tomcat 7 と Tomcat 8 についてそれぞれ別の設定がサポートされます。 プラットフォームの設定はそれぞれ別のバージョンですが、更新のリリースは通常、すべての設定について同時に行われます。

設定は言語やツールのメジャーバージョンに固有です。構成が更新される場合、言語やツールのメジャーバージョンは変更されません。たとえば、Java 7 と Tomcat 7Java 8 と Tomcat 8 は、それぞれ異なる Java と Tomcat プラットフォームの設定です。プラットフォームの更新は、異なる設定間ではできず、同じ設定の異なるバージョン間 (Java 8 と Tomcat 8 のバージョン 1.4.5Java 8 と Tomcat 8 のバージョン 2.0.0 の間など) でのみ可能です。

Linux ベースの Elastic Beanstalk プラットフォームのバージョンは、メジャー、マイナー、パッチとそれぞれ意味のある 3 つの番号で構成されます。たとえば、Java 8 と Tomcat 8 バージョン 2.1.0 は、メジャーバージョン 2、マイナーバージョン 1、パッチバージョン 0 であることを意味します。メジャーバージョンは後方互換性のない変更についてのみ使用されます。マイナーバージョンは Elastic Beanstalk の新機能のサポートが追加されたこと、パッチバージョンはバグの修正が行われたこと、OS かソフトウェアコンポーネントの更新が行われこと、更新されたパッケージ(Amazon Linux yum リポジトリにある)にアクセスできるようになったことを意味します。

Windows Server ベースのプラットフォームのバージョンは意味のある番号で構成されておらず、マネージドプラットフォーム更新はサポートされていません。Windows Server プラットフォームの設定はそれぞれ最新バージョンのみ起動することができ、アップグレード後のロールバックはできません。

環境のプラットフォーム設定の更新

使用中の環境のプラットフォーム設定で新しいバージョンが利用可能である場合、Elastic Beanstalk によって環境マネジメントコンソールにメッセージが表示され、[Change] ボタンが使用可能になります。以前に同じ設定で古いバージョンを使用して環境を作成したか、または古い設定から環境をアップグレードした場合は、[Change] ボタンを使用して以前の設定バージョンに戻すこともできます。

環境のプラットフォームを更新する

  1. お客様の環境の管理ページに移動します。

  2. [Overview] セクションの [Configuration]で、[Change] をクリックします。

     Elastic Beanstalk 使用できる新しいプラットフォーム
  3. プラットフォームのバージョンを選択します。最新のプラットフォームバージョンが自動的に選択されますが、以前使用したバージョンへの更新も可能です。

     Elastic Beanstalk プラットフォームバージョン更新の確認
  4. [Save] を選択します。

マイナーバージョンとパッチバージョンの更新が自動的に適用されるように、マネージドプラットフォーム更新で週ごとのメンテナンス時間を環境に設定しておくこともできます。マネージド更新はダウンタイムが発生したり容量が減少することなく適用されます。また、この新バージョンでアプリケーションを実行しているインスタンスがヘルスチェックにパスしなかった場合、マネージド更新はすぐにキャンセルされます。

環境の新しい設定への移行

アプリケーションを新しい設定に移行する理由があるかもしれません。一般的な理由は、最新の言語バージョンへの切り替えです。たとえば、PHP アプリケーションをバージョン 7.0 からバージョン 7.1 に、または、Java と Tomcat アプリケーションを、Java 7 と Tomcat 7 から Java 8 と Tomcat 8.5 に移行する場合があります。

Elastic Beanstalk は設定間でのプラットフォームの自動更新をサポートしていません。環境の設定を変更する場合、前のセクションに示されている手順を使用することはできません。次の手順では、設定を異なるプラットフォーム環境に移行する方法について説明します。

環境のプラットフォームを新しい設定に移行するには

  1. 新しい環境の作成、新しいターゲット設定を使用し、アプリケーションコードを設定にデプロイします。新しい環境は、移行する環境がある Elastic Beanstalk アプリケーションに含まれている必要があります。既存の環境をまだ削除しないでください。

  2. アプリケーションコードを移行する新しい環境を使用します。新しい言語設定に移行したことによるアプリケーションの互換性の問題を見つけて修正します。新しい環境のアプリケーションが適切になるまで、修正のテストとデプロイを反復します。

  3. CNAME を既存の本稼働環境の CNAME と交換することにより、新しい環境を本稼働環境に切り替えます。詳細については、「AWS Elastic Beanstalk を使用した Blue-Green Deployment」を参照してください。

  4. 本稼働環境の新しい環境の状態が適切であることを確認したら、古い環境を終了します。詳細については、「Elastic Beanstalk 環境を終了する」を参照してください。