Ожидание завершения остановки или запуска экземпляра AWS EC2

Я хотел бы отправить запрос через API AWS EC2, чтобы остановить (или запустить) экземпляр, а затем получить обратный вызов, когда машина находится в состоянии stopped (или running).

Я использую AWS SDK для .NET и пробовал метод ec2Client.StopInstancesAsync. Он возвращается, как только запрос отправлен, поэтому он не выполняет асинхронный обратный вызов после перехода состояния.

Что я собираюсь сделать в целом, так это остановить экземпляр, изменить InstanceType, как только машина станет stopped, а затем запустить экземпляр. Похоже, что единственный способ сделать это может состоять в том, чтобы сделать запрос на остановку, запустить собственный механизм опроса, чтобы наблюдать за переходом состояния экземпляра в stopped, а затем продолжить изменение InstanceType после его завершения.

Я хотел бы думать, что есть более простой и менее болтливый способ дождаться завершения перехода. Кто-нибудь знает, как получить уведомление о завершении перехода состояния EC2?


person jdmcnair    schedule 14.04.2015    source источник
comment
StopInstancesAsync возвращает задачу‹T›. Вам нужно ждать его, используя async/await, или использовать продолжение, или как вы хотите это сделать.   -  person vcsjones    schedule 14.04.2015
comment
Да... это то, что я пробовал с StopInstancesAsync, но когда я получил ответ после ожидания, это был простой StopInstancesResponse (то есть то же самое, что и стандартный вызов StopInstances). Он не ждет завершения, только запрос.   -  person jdmcnair    schedule 14.04.2015
comment
Вызов Rest API не ждет, пока он будет остановлен, прежде чем вернуться, вместо этого вам необходимо запрашивать статус с некоторым интервалом.   -  person datasage    schedule 15.04.2015
comment
Я думаю, что лучшим подходом, ориентированным на облако, было бы завершение текущего экземпляра и запуск нового экземпляра с использованием нового типа экземпляра. Не привязывайтесь к своим экземплярам, ​​они должны быть одноразовыми.   -  person mafue    schedule 17.04.2015


Ответы (2)


Похоже, что нет. Похоже, нет способа получить уведомление о завершении перехода экземпляра EC2. Опрос — способ добиться этого.

person jdmcnair    schedule 23.04.2015

Нет другого способа проверить состояние, кроме опроса. Причина в том, что ответ на запрос остановки API не содержит подтверждения состояния экземпляра. Так что вы ничего не можете с этим поделать.

person Rishabh Soni    schedule 25.02.2016