Câu trả lời phụ thuộc một chút vào AMI bạn đang chạy vì các tính năng được cung cấp hoàn toàn phụ thuộc vào AMI.
AMI Linux của Amazon và AMI Ubuntu chính thức có gói cloud-init được cài đặt. Điều này có một số cách bạn có thể kích hoạt các hành động khởi động, nhưng một cách phù hợp với yêu cầu của bạn chặt chẽ nhất (và yêu thích của tôi bởi vì tôi đã phát minh ra nó) là khái niệm về một user-data script.
Bạn chỉ cần chuyển bất kỳ tập lệnh nào (bắt đầu bằng hai ký tự #!) Làm dữ liệu người dùng khi bắt đầu phiên bản EC2. Nó sẽ được chạy dưới dạng root trên lần khởi động đầu tiên của cá thể.
Đối với một ví dụ cụ thể về cách làm việc này, tôi sử dụng kỹ thuật này chính xác trong bài viết gần đây của tôi: Uploading Known ssh Host Key in EC2 user-data Script
Bạn cũng muốn chạy nhiều hơn một ví dụ EC2 với kịch bản tương tự. Lệnh ec2-run-instances và các API liên quan và giao diện điều khiển web cho phép bạn chỉ định bất kỳ số lượng cá thể nào để bắt đầu với cùng một dữ liệu người dùng. Ví dụ:
ec2-run-instances \
--instance-count 10 \
--user-data-file $MYSCRIPT \
--key $USER \
$SOMEAMI
Nếu bạn đang chạy một AMI mà không có đám mây-init được cài đặt, bạn có thể làm một trong số:
Đổi thành một AMI có đám mây-init cài đặt, hoặc
xây dựng một phiên bản tùy chỉnh của AMI của bạn mà có đám mây-init cài đặt, hoặc
Viết một kịch bản wrapper phức tạp hơn mà làm cho một reco thứ của tất cả các id cá thể sau khi chúng được khởi động, chờ cho tất cả các cá thể di chuyển đến trạng thái đang chạy, đợi sshd chấp nhận các kết nối, tải tập lệnh khởi động của bạn lên từng cá thể và chạy tập lệnh khởi động trên mỗi cá thể .
Nguồn
2012-04-12 16:55:09
Một trong những điều tốt đẹp với SO là vào thời điểm bạn bắt đầu tìm một số gợi ý, tên có tên bắt đầu xuất hiện trong tất cả truy vấn google của bạn đã trả lời câu hỏi của bạn một cách cá nhân. Tuyệt vời :-) –
Tôi sẽ tránh tùy chọn 3 của câu trả lời ở trên. Tôi đã chạy vào hai cạm bẫy khác nhau với cách tiếp cận này. 1) Một cá thể có địa chỉ IP mà bạn đã thấy trước đây và mục nhập known_hosts không khớp. 2) Máy tải lên và kiểm soát tất cả các trường hợp và kịch bản khởi động bị quá tải, và các nội dung bị ngắt – Nate
Trích dẫn tốt nhất của SO: "và yêu thích của tôi bởi vì tôi đã phát minh ra nó" –