6

Beanstalk 인스턴스 인 응용 프로그램 서버가 시작시 일부 작업을 수행 할 수 있어야하며 사용할 수있는 UserData 속성을 사용하여 인스턴스에 전달 된 bash 스크립트를 실행해야한다고 생각했습니다. 일반 EC2 인스턴스로CloudFormation이있는 Beanstalk 인스턴스에 UserData 전달 방법

일반적인 EC2 인스턴스에서는이 작업을 수행하는 몇 가지 예제 CloudFormation 템플릿을 찾았지만 Beanstalk에서는 예제가 없습니다. 만들려고 할 때 실패의 결과 두 경우 모두

"MyAppEnv" : { 
    "Type" : "AWS::ElasticBeanstalk::Environment", 
    "Properties" : { 
    "ApplicationName" : { "Ref" : "MyApp" }, 
    "Description" : "MyApp environment description", 
    "UserData" : { 
     "Fn::Base64" : { "Fn::Join" : ["", [ 
     "#!/bin/bash\n", 
     "touch /tmp/userdata_sucess\n" 
     ]] 
    }}, 
    "TemplateName" : "MyAppConfiguration", 
    "VersionLabel" : "First Cloud version" 
    } 
}, 

: 나는 또한 환경 부분에 추가하려고

"MyApp" : { 
    "Type" : "AWS::ElasticBeanstalk::Application", 
    "Properties" : { 
    "Description" : "MyApp description", 
    "ApplicationVersions" : [{ 
     ... 
    }], 
    "UserData" : { 
     "Fn::Base64" : { "Fn::Join" : ["", [ 
     "#!/bin/bash\n", 
     "touch /tmp/userdata_sucess\n" 
     ]] 
    }}, 
    ... 

: 나는 응용 프로그램의 속성 필드에이를 추가하려고했습니다 스택 CloudFormation을 사용하여 Beanstalk 인스턴스에 UserData를 전달할 수 있는지 여부를 알 수 있습니까? 그렇다면 - 예를 들어 줄 수 있습니다.

답변

6

당신이 Beanstalk에서 제공하는 모든 장점을 원한다면 - 아마존이 당신을 위해하는 OS를 패치하지 않아도되는 것처럼 - 이것은 불가능합니다. 한 가지 옵션은 필요한 스크립트를 포함하는 사용자 지정 AMI를 만드는 것이지만 보안 패치를 사용하여 OS를 직접 관리해야합니다. 더 읽기 here.

+0

+1 감사합니다. –

+0

@ 트론다, 6 년 후 아직도 똑같은지 알고 있니? –

+0

죄송합니다.이 게시물 이후 Beanstalk에서 일하지 않았습니다. @AlexanderF. – tronda

관련 문제