Автоматическое отключение и запуск инстанса Amazon EC2 - PullRequest
88 голосов
/ 10 марта 2010

Могу ли я автоматически запускать и завершать работу своего экземпляра Amazon с помощью Amazon API?Не могли бы вы описать, как это можно сделать?В идеале мне нужно запускать экземпляр и останавливать его через определенные промежутки времени каждый день.

Ответы [ 14 ]

1 голос
/ 27 ноября 2013

Автоматическое масштабирование ограничено завершающими экземплярами. Если вы хотите остановить экземпляр и сохранить состояние сервера, тогда лучше всего использовать внешний сценарий.

Это можно сделать, запустив задание в другом экземпляре, работающем круглосуточно, или вы можете использовать стороннюю службу, такую ​​как Ylastic (упомянутая выше) или Rocket Peak .

Например, в C # код для остановки сервера довольно прост:

public void stopInstance(string instance_id, string AWSRegion)
        {
            RegionEndpoint myAWSRegion = RegionEndpoint.GetBySystemName(AWSRegion);
            AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client(AWSAccessKey, AWSSecretKey, myAWSRegion);
            ec2.StopInstances(new StopInstancesRequest().WithInstanceId(instance_id));
        }
1 голос
/ 10 апреля 2010

Вы можете посмотреть на Ylastic , чтобы сделать это. Похоже, альтернативой является наличие одной работающей машины, которая выключает / запускает другие экземпляры, используя задание cron или запланированное задание.

Очевидно, что если вам нужен только один экземпляр, это дорогое решение, поскольку всегда должен работать один компьютер, и платить ~ 80 долларов в месяц за один компьютер для выполнения заданий cron не выгодно.

0 голосов
/ 26 ноября 2013

Я полагаю, что первоначальный вопрос был немного запутанным. Это зависит от того, что нужно пасте: 1. запуск / завершение (хранилище экземпляров) - правильное решение - автоматическое масштабирование (ответ Nakedible) 2.start / stop EBS boot instance - автоматическое масштабирование не поможет, я использую удаленные запланированные сценарии (т.е. ec2 CLI).

0 голосов
/ 16 ноября 2010

Вы не можете сделать это автоматически или, по крайней мере, без программирования и API-манипуляции в файлах сценариев. Если вы хотите надежное решение для остановки, перезапуска и управления вашими изображениями (предположительно для контроля затрат в вашей среде), тогда вам может потребоваться LabSlice . Отказ от ответственности: я работаю в этой компании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...