web-dev-qa-db-ja.com

タイムアウト期間よりも時間がかかるElastic Beanstalkのデプロイメント、タイムアウト期間を増やす方法

AWSウェブサイトを使用したアプリケーションの新しい環境のElastic Beanstalkデプロイメントが警告する

Create environment operation is complete, but with command timeouts. Try increasing the timeout period

そして最終的には、URLに接続しようとする緑が環境を示すだけですが、

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 

以前のバージョンのアプリケーションは問題なく動作しますが、ebextensionsではs3から大きなファイルをコピーして解凍する必要があるため、かなり時間がかかります。以前のバージョンのアプリケーションは3 GBのファイルをコピーするだけで済みますが、新しいバージョンは6 GBのファイルをコピーする必要があります。他のエラーは表示されないため、タイムアウトの原因でTomcatの起動が妨げられていると思います。

しかし、どうすればタイムアウトを増やすことができますか?

22
Paul Taylor

これは、オプション設定を使用して行うことができます。オプション設定は、ebextensionsを使用して指定できます。

アプリソースの.ebextensionsというディレクトリにファイルを作成します。ファイルが.ebextensions/01-increase-timeout.configだとしましょう。

ファイルの内容は次のようになります。

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 1000

このファイルはYAML形式であることに注意してください。その後、このバージョンのソースコードで環境を更新できます。

このオプション設定のドキュメントから:

タイムアウト:インスタンスがコマンドの実行を完了するまで待機する秒数。

たとえば、構成されたタイムアウト期間に達してもソースコードのデプロイタスクがまだ実行されている場合、AWS Elastic Beanstalkは次のエラーを表示します:「一部のインスタンスはコマンドに応答しませんでした。応答はから受信されませんでした。」 AWS Elastic Beanstalkサービスがソースコードがインスタンスに正常にデプロイされるまで待機する時間を増やすことができます。

Ebextensions here についての詳細を読むことができます。オプション設定に関するドキュメントが利用可能です ここ

49
Rohit Banga

使用:--timeout

例:eb create -db --timeout 20

これにより、20分のタイムアウト制限が得られます。

6
ashdaily

公式ドキュメント によると、--timeoutオプションをeb create呼び出し。

--timeout minutes
Set number of minutes before the command times out.
1

私は自分の環境への展開時にそれを行ったばかりで、この方法でもうまく機能します。

eb deploy production-env --timeout 30

..そして、それは私に30分を与えます。

0
Jordan