2012-12-10 17 views
7

Trong khi tôi tìm thấy rất nhiều tài liệu về cách tạo các phiên bản mới của một AMI Amazon EC2 với tập lệnh dữ liệu người dùng (ala Eric Hammond), tôi chưa thấy cách bắt đầu đã có, nhưng hiện đang bị ngừng, Amazon Ví dụ EC2 với tập lệnh do người dùng chỉ định khi khởi động lại.Khởi động lại phiên bản hiện tại của Amazon EC2 bằng tập lệnh do người dùng chỉ định?

Tôi có một số phiên bản Ubuntu EC2 của Amazon được sử dụng để thử nghiệm và khôi phục thảm họa. Tôi muốn để có thể bắt đầu một và có nó, ví dụ, tự động lấy và khôi phục lại một bản sao lưu tương ứng với một trong hai dàn dựng của chúng tôi hoặc môi trường sản xuất, khi cần thiết. Tôi không muốn phải duy trì hai trường hợp riêng biệt với mỗi IP đàn hồi của riêng mình.

Có cách nào để thực hiện điều này từ dòng lệnh với Amazon ec2tools tương tự như cách nó có thể được thực hiện bằng lệnh ec2-run-instances không? Về cơ bản tôi muốn để có thể vượt qua một kịch bản sẽ chạy như là người chủ như thể nó đã được gọi là từ rc.local hoặc tương tự.

Trả lời

0

Rất tiếc, câu trả lời dường như hiện tại không thể thực hiện những gì tôi đã yêu cầu.

0

Bạn đã xem các mẫu hình thành đám mây chưa? http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/Welcome.html

Tôi sẽ tưởng tượng sẽ dễ dàng khi chạy tập lệnh của bạn khi khởi động lại ví dụ bằng cách này. Tôi đã làm điều này để thiết lập trang trại máy chủ sharepoint trên AWS và điều tra các tập lệnh CF. http://aws.amazon.com/articles/9982940049271604

tôi đã không kiểm tra kịch bản đặc biệt này nhưng tôi tin rằng điều này sẽ cung cấp cho các hỗ trợ cần thiết

2
  1. Bạn có thể làm điều đó với sự giúp đỡ của Công cụ API. Kiểm tra ec2-modify-instance-attribute lệnh cho thuộc tính --user-data.

  2. Ngoài ra, AWS Bảng điều khiển cho phép bạn làm điều tương tự trên dụ ngừng: enter image description here

  3. Ngoài ra, bạn luôn có thể chạy một lệnh hoặc script thông qua ssh như là đối số cuối cùng:

    ssh [[email protected]]hostname [command]

+0

Vấn đề ở đây là, nó xuất hiện, kịch bản được đặt trong vùng dữ liệu người dùng được chạy ** chỉ ** khi một cá thể được tạo đầu tiên từ một AMI, h có thể là lý do tại sao không có tham số dữ liệu người dùng trong lệnh ec2-start-instances mặc dù nó có mặt trong lệnh ec2-run-instances.Phương thức SSH chắc chắn là khả thi, nhưng nó không trả lời câu hỏi về việc có thể làm điều đó với ec2tools và nó sẽ đòi hỏi một số loại xác thực cho một tài khoản trên cá thể bắt đầu, mặc dù tôi đoán đó không phải là vấn đề lớn vì chúng ta bằng cách sử dụng các tập tin quan trọng. –

+0

Tôi vừa hoàn thành kiểm tra dữ liệu người dùng đơn giản và có thể thấy nó không được thực thi sau khi khởi động lại hoặc dừng/bắt đầu. Dường như với tôi lạ có thể thay đổi nó, nhưng nó sẽ không được thực hiện. Tôi sẽ liên lạc với Amazon về điều đó. BTW, Hãy xem trang này - nó cũng có thể thú vị cho bạn: https://help.ubuntu.com/community/CloudInit –

+0

Cảm ơn bạn. Cảm kích điều đó. –

0

Bạn có thể xem xét để Dừng/Khởi động lại Chức năng của Amazon EC2 Instance sử dụng AWS Command Line Interface như mô tả here.

Nếu không có đàn hồi cân bằng tải

aws ec2 stop-instances --instance-ids i-1a2b3c4d 
aws ec2 start-instances --instance-ids i-1a2b3c4d 

Với đàn hồi cân bằng tải mà không Autoscaling

aws elb deregister-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd 
aws elb register-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd 

đàn hồi cân bằng tải với Autoscaling

aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name" --launch-configuration-name "launch-config-name" --min-size 0 --max-size 0 
aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name" --launch-configuration-name "launch-config-name" --min-size 1 --max-size 1