2014-11-07 7 views
9

aws 탄력적 인 beanstalk에서 자동 확장 트리거를 사용할 때 프로그램을 설치하기 위해 쉘 스크립트 스크립트를 배포하려고합니다.aws elastic beanstalk에 .ebextensions 폴더 생성

나는 google에서 검색했으며, 시작시 프로그램을 설치하기 위해 config 파일을 사용하는 .ebextensions 생성을 가리킨다. 나는 이것을 어떻게 만들지 모른다. 사전

+0

? 대답에 따라 부팅 할 때 물건을 설치하는 몇 가지 방법이 있습니다. – Tal

+0

안녕하세요, 트렌드 마이크로의 깊은 보안을 서비스로 구독했습니다. 그들은 저에게 시작 스크립트를 제공했습니다. 자동 시작으로 인해 인스턴스가 생성 될 때이 시작 스크립트를 시작하고 싶습니다. – AWSLearner

답변

13

의 도움을

많은 감사 당신은 (분명히 당신의 요구 사항에 음식) 다음을 수행해야합니다

루트에 패키지 소프트웨어라는 폴더를 만들 .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 

02_files.config03_container_comm라는 두 개의 파일을 만들 폴더 ands.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의 내용은 쉘 스크립트의 내용이 포함되어야합니다 실행하는 명령을 포함해야 03_container_commands.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: 

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

이제 업로드 할 때 귀하의 코드는 쉘 스크립트를 /path/to/your/shellscript/myscript.sh에 작성한 다음 Hello World! to /var/log/myscript.out

+0

잘못된 경우, 탄력있는 beanstalk 인스턴스 자체에 .ebextensions를 작성해야합니다. 내 응용 프로그램 자체가 트렌드 마이크로에 의해 호스팅되기 때문에 – AWSLearner

+0

탄성 탄자국 인스턴스에 아무 것도 만들지 마십시오. 로컬 컴퓨터에 디렉토리를 생성하고 압축 한 다음 콘솔을 통해 해당 압축을 EB에 업로드합니다. 응용 프로그램 버전 –

4

Elastic Beanstalk은 마술이 아닙니다. 단순히 EC2 서버를 시작하고 특정 순서로 여러 쉘 스크립트를 실행합니다. 일단 서버가 시작되면 Elastic Beanstalk에게 스크립트를 실행하도록 요청할 수 있습니다. EB에 물건을 실행하도록 요청하는 방법에 대한 전체 문서는 here입니다.
귀하의 신청서가 이후에 으로 실행되는 기본적으로 container_commands을 실행하도록 EB에 요청해야합니다.
먼저 트렌드 마이크로 스크립트를 응용 프로그램 소스에 추가하여 런타임에 찾을 수 있도록하십시오. scripts/trendmicro.sh 다음으로 EB를 스크립트 실행을 요청하는 것은 응용 프로그램 소스에 파일을 추가하는 것만 큼 간단합니다.

당신은 다음과 /.ebextensions/container_commands.config라는 이름의 파일을 추가 할 수 있습니다

container_commands: 

    trent_micro_startup: 
    command: "scripts/trendmicro.sh" 
설치 원하는 작업 프로그램
+0

에서 "scripts"는 업로드 한 zip 파일의 루트에 있습니다. – red888

+0

@ red888 예, Tal의 예에서 scripts 디렉토리는 프로젝트의 루트에 있습니다. EB 설정 파일/스크립트를 다른 코드처럼 소스 관리에 커밋합니다. –