29

Elastic Beanstalkについての私の理解では、アプリの新しいバージョンをデプロイすると、Amazon EC2インスタンスに一度に 1 つずつデプロイされます (複数ある場合)。.warただし、少なくとも 2 つのインスタンスがある場合でも、アプリケーションをデプロイするときに新しいインスタンスをアップロードすると、アプリケーションが両方を同時に更新しているかのように、短時間のダウンタイムが発生します。ダウンタイムがなく、1 つのインスタンスが完全に更新され、次のインスタンスが開始される前にリクエストを受け入れるようにする方法はありますか? イベントは次のようになります。これはアプリの負荷がゼロであるため、本番トラフィックでのみ悪化することに注意してください。

INFO
Environment update completed successfully.

INFO
New application version was deployed to running EC2 instances.

ERROR
The application did not respond at the health check URL.

INFO
Waiting for 8 seconds while EC2 instances download the updated application version.

INFO
Deploying version SomethingMore to 2 instance(s).
4

2 に答える 2

22

Elastic Beanstalkでこの目標を達成するには、展開手順を拡張して複数の環境を促進する必要があります( AWS Elastic Beanstalk コンポーネントを参照)。

環境は、AWS リソースにデプロイされるバージョンです。各環境は 1 つのバージョンのみを実行しますが、同時に多くの環境で同じバージョンまたは異なるバージョンを実行できます。[...] 作成される環境とリソースの詳細については、「アーキテクチャの概要」を参照してください。[鉱山を強調]

この機能は、すでに個別のバージョンをテスト/デバッグするのに役立ちますが、具体的には、これにより環境のホット スワップも可能になります。それぞれのウォークスルーについては、ゼロ ダウンタイムでのバージョンの展開を参照してください。

アプリケーションのバージョンを更新すると、AWS Elastic Beanstalk はインプレース更新を実行するため、ダウンタイムが発生します。ただし、環境の CNAME を交換することで、このダウンタイムを回避することができます。このセクションでは、AWS マネジメント コンソール、コマンド ライン インターフェイス、または API を使用して CNAME スワップを実行する方法について説明します。[鉱山を強調]

于 2012-07-17T17:09:17.947 に答える