Перезапустить существующий экземпляр Amazon EC2 с помощью пользовательского сценария?
хотя я нашел много документации о том, как создавать новые экземпляры Amazon EC2 AMI со скриптом пользовательских данных (Ала Эрик Хаммонд), Я не видел способа запустить уже существующий, но в настоящее время остановленный экземпляр Amazon EC2 с указанным пользователем скриптом при перезапуске.
У меня есть несколько экземпляров Amazon EC2 Ubuntu, которые используются для тестирования и аварийного восстановления. Я хотел бы иметь возможность запустить один и иметь его, например, при необходимости автоматически извлекать и восстанавливать резервную копию, соответствующую нашей промежуточной или рабочей среде. Я бы предпочел не поддерживать два отдельных экземпляра каждый со своим собственным эластичным IP.
есть ли способ сделать это из командной строки с помощью Amazon ec2tools так же, как это можно сделать с помощью команды ec2-run-instances? В основном я хочу иметь возможность передать скрипт, который будет работать как root, как если бы он был вызван из rc.местные или похожие.
4 ответов
вы можете сделать это с помощью инструментов API. Проверка ec2-modify-instance-attribute на
--user-data
собственность.кроме того, консоль AWS позволяет делать то же самое на остановленном экземпляре:
-
кроме того, вы всегда можете запустить команду или скрипт через 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
Я не тестировал этот конкретный сценарий, но я считаю это должно дать необходимую поддержку