web-dev-qa-db-ja.com

AWS ElasticBeanstalkでの.ebextensionsフォルダーの作成

AWS Elastic Beanstalkでトリガーを自動スケーリングするときに、シェルスクリプトスクリプトをデプロイしてプログラムをインストールしようとしています。

私はグーグルで検索しました、そしてそれはすべて起動時にプログラムをインストールするために設定ファイルを使用するための.ebextensionsの作成を指しますこれを作成する方法を知っていますか?

事前に助けてくれてありがとう

12
AWSLearner

次のことを行う必要があります(明らかに要件に対応します)。

パッケージソフトウェアのルートに。ebextensionsというフォルダーを作成します。

drwxr-xr-x 4 root root     4096 Sep 30 13:39 .
dr-xr-x--- 7 root root     4096 Nov  4 15:22 ..
drwxr-xr-x 2 root root     4096 Nov  4 15:22 .ebextensions

.ebextensionsフォルダーに、2_files.configおよび_container_commands.configという2つのファイルを作成します。

-rw-r--r-- 1 root root 11334 Jul 25 12:26 02_files.config
-rw-r--r-- 1 root root   960 Nov  4 11:22 03_container_commands.config

2_files.configの内容には、シェルスクリプトの内容が含まれている必要があります。

files:

  "/path/to/your/shellscript/myscript.sh" :
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/sh
      echo "Hello World!" >> /var/log/myscript.out

_container_commands.configの内容には、シェルスクリプトを実行するためのコマンドが含まれている必要があります。

container_commands:

  01_runmyshellscript:
    command: "/path/to/your/shellscript/myscript.sh"

これで、コードをアップロードすると、シェルスクリプトが/ path/to/your/shellscript/myscript.shに作成され、実行されてHello World!から/ var/log/myscript.out

14
George Rushby

ElasticBeanstalkは魔法ではないことを理解する必要があります。 EC2サーバーを起動し、特定の順序で一連のシェルスクリプトを実行するだけです。これに気付いたら、Elastic Beanstalkに、サーバーのキックスタート時にスクリプトを実行するように依頼できます。 EBに自分のものを実行するように依頼する方法の完全なドキュメントは ここ です。
あなたの場合、EBにcontainer_commandsを実行するように依頼する必要があります。これは基本的にafterの後に実行されるスクリプトです。アプリケーションがセットアップされます。
最初に、トレンドマイクロスクリプトをアプリケーションソースに追加して、実行時に検出できるようにします。 scripts/trendmicro.shにあると仮定しましょう。次に、EBにスクリプトの実行を要求するのは、アプリケーションソースにファイルを追加するのと同じくらい簡単です。

/.ebextensions/container_commands.configという名前のファイルを次のように追加できます。

container_commands:

  trent_micro_startup:
    command: "scripts/trendmicro.sh"
6
Tal