6

Tôi cần máy chủ ứng dụng, là các phiên bản beanstalk, thực hiện một số hành động khi khởi động và tôi nghĩ chạy một tập lệnh bash được truyền tới cá thể với thuộc tính UserData. đối với các phiên bản EC2 thông thường.Làm cách nào để chuyển UserData vào một phiên bản Beanstalk với CloudFormation

Tôi đã tìm thấy một số ví dụ mẫu CloudFormation thực hiện điều này với các phiên bản EC2 thông thường, nhưng không có ví dụ về Cây đậu. Tôi đã cố gắng để thêm video này vào lĩnh vực bất động sản cho các ứng dụng:

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

Tôi cũng đã cố gắng để thêm vào phần môi trường:

"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" 
    } 
}, 

Trong cả hai trường hợp này dẫn đến thất bại khi cố gắng tạo ngăn xếp. Có ai biết nếu nó có thể vượt qua UserData để một trường hợp Beanstalk bằng cách sử dụng CloudFormation. Nếu vậy - bạn có thể cung cấp một ví dụ không.

Trả lời

6

Nếu bạn muốn có tất cả những lợi thế mà Beanstalk cung cấp - như không phải vá hệ điều hành mà Amazon làm cho bạn - điều này là không thể. Một tùy chọn là tạo một AMI tùy chỉnh trong đó bạn bao gồm các tập lệnh cần thiết, nhưng sau đó bạn phải tự quản lý hệ điều hành bằng các bản vá bảo mật. Đọc thêm here.

+0

+1 để theo dõi câu hỏi của riêng bạn, cảm ơn! –

+0

@tronda, bạn có biết liệu 6 năm sau đó có giống nhau không? –

+0

Xin lỗi, đã không làm việc với Beanstalk kể từ bài đăng này. @AlexanderF. – tronda