Перезапустить существующий экземпляр Amazon EC2 с помощью пользовательского сценария?

хотя я нашел много документации о том, как создавать новые экземпляры Amazon EC2 AMI со скриптом пользовательских данных (Ала Эрик Хаммонд), Я не видел способа запустить уже существующий, но в настоящее время остановленный экземпляр Amazon EC2 с указанным пользователем скриптом при перезапуске.

У меня есть несколько экземпляров Amazon EC2 Ubuntu, которые используются для тестирования и аварийного восстановления. Я хотел бы иметь возможность запустить один и иметь его, например, при необходимости автоматически извлекать и восстанавливать резервную копию, соответствующую нашей промежуточной или рабочей среде. Я бы предпочел не поддерживать два отдельных экземпляра каждый со своим собственным эластичным IP.

есть ли способ сделать это из командной строки с помощью Amazon ec2tools так же, как это можно сделать с помощью команды ec2-run-instances? В основном я хочу иметь возможность передать скрипт, который будет работать как root, как если бы он был вызван из rc.местные или похожие.

4 ответов


  1. вы можете сделать это с помощью инструментов API. Проверка ec2-modify-instance-attribute на --user-data собственность.

  2. кроме того, консоль AWS позволяет делать то же самое на остановленном экземпляре: enter image description here

  3. кроме того, вы всегда можете запустить команду или скрипт через ssh в качестве последнего аргумента:

    ssh [user@]hostname [command]


вы можете остановить / перезапустить функциональность экземпляра Amazon EC2 с помощью интерфейс командной строки AWS как рассказали здесь.

Без Эластичного Балансировщика Нагрузки

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

С эластичным балансировщиком нагрузки без 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

эластичный балансировщик нагрузки с Автомасштабированием

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

вы изучили шаблоны формирования облака? http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/Welcome.html

Я бы предположил, что было бы просто запустить ваши скрипты при перезапуске экземпляра с этим. Я сделал это для настройки фермы sharepoint server на AWS и исследовал сценарии CF. http://aws.amazon.com/articles/9982940049271604

Я не тестировал этот конкретный сценарий, но я считаю это должно дать необходимую поддержку


к сожалению, ответ заключается в том, что в настоящее время невозможно сделать то, что я просил.