AWS Elastic Beanstalkでトリガーを自動スケーリングするときに、シェルスクリプトスクリプトをデプロイしてプログラムをインストールしようとしています。
私はグーグルで検索しました、そしてそれはすべて起動時にプログラムをインストールするために設定ファイルを使用するための.ebextensionsの作成を指しますこれを作成する方法を知っていますか?
事前に助けてくれてありがとう
次のことを行う必要があります(明らかに要件に対応します)。
パッケージソフトウェアのルートに。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
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"