Shell 在aws elastic beanstalk中创建.ebextensions文件夹

Shell 在aws elastic beanstalk中创建.ebextensions文件夹,shell,amazon-web-services,amazon-elastic-beanstalk,Shell,Amazon Web Services,Amazon Elastic Beanstalk,我正在尝试部署shellscript脚本,以便在aws elastic beanstalk上触发自动缩放时安装程序 我在google上搜索过,它都指向.ebextensions的创建,以便在启动时使用配置文件安装程序 我可以知道如何创建这个吗 非常感谢您提前提供的帮助您需要执行以下操作(显然符合您的要求): 在打包软件的根目录中创建一个名为.ebextensions drwxr-xr-x 4 root root 4096 Sep 30 13:39 . dr-xr-x--- 7 root

我正在尝试部署shellscript脚本,以便在aws elastic beanstalk上触发自动缩放时安装程序

我在google上搜索过,它都指向.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文件夹中,创建两个名为02_files.config03_container\u commands.config的文件

-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
02_files.config的内容应包含shell脚本的内容:

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:

  01_runmyshellscript:
    command: "/path/to/your/shellscript/myscript.sh"
03\u container\u commands.config的内容应包含运行shell脚本的命令:

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:

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

现在,当您上传代码时,它将在/path/to/your/shellscript/myscript.sh中创建shell脚本,然后通过发送Hello World来执行它!要想/var/log/myscript.out

你需要明白弹性豆茎不是魔法。它只需启动EC2服务器,并按特定顺序在服务器上运行一系列shell脚本。一旦您意识到这一点,您可以让Elastic Beanstalk在启动服务器时也执行您的脚本。关于如何要求EB执行您的工作的完整文档是。
在您的情况下,您需要要求EB执行一个
容器\u命令
,这基本上是一个脚本,在设置应用程序后运行
因此,第一件事是将trend micro脚本添加到应用程序源中,以便在运行时找到它。让我们假设它位于
scripts/trendmicro.sh
然后,要求EB执行脚本就像向应用程序源添加文件一样简单

您可以添加名为
/.ebextensions/container\u commands.config的文件,其中包含以下内容:

container_commands:

  trent_micro_startup:
    command: "scripts/trendmicro.sh"

你想安装什么程序?根据您的回答,有几种方法可以在启动时安装stuff。嗨,塔尔,我已经订阅了trend micro的深度安全服务。他们为我提供了一个启动脚本。我希望在实例因自动缩放而生成时启动此启动脚本更正我的错误,我应该在我的elastic beanstalk实例本身上创建.ebextensions?由于我的应用程序本身由trend Micro托管,所以不应该在elastic beanstalk实例上创建任何内容。您可以在本地计算机上创建目录,对其进行压缩,然后通过控制台将该压缩上传到EB。你会发现它正在申请中Versions@GeorgeRushby是否必须按照您在回答中给出的文件名称命名?像“02_files.config”和“03_container_commands.config”?@Sandun它不是,但它帮助我了解各个阶段的执行顺序。在这种情况下,将在运行容器命令之前创建所有文件。您可以在此处阅读有关流程顺序的更多信息“脚本”位于您上载的zip文件的根目录中?@red888是的,在Tal的示例中,脚本目录将位于项目的根目录中。您可以像其他代码一样,将您的EB配置文件/脚本提交到源代码管理。