Предотвратить остановку экземпляра AWS - PullRequest
0 голосов
/ 21 февраля 2019

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

Я попытался использовать SNS и зарегистрировать конечную точку HTTP.Но не удалось остановить событие остановки.

Ответы [ 4 ]

0 голосов
/ 22 февраля 2019

Нет возможности «перехватывать» операции.

Вместо этого вам следует ограничить людей (пользователей IAM), которые имеют разрешение на выдачу команд Stop или Terminate.

По умолчанию пользователи IAM не имеют разрешения.Затем они получают разрешение на выполнение операций в AWS.Если вы не хотите, чтобы люди использовали команду Stop, не предоставляйте им ec2:StopInstances разрешений или, по крайней мере, ограничивайте разрешения только ограниченным набором экземпляров, для которых они могут выполнять команду.

Например,, возможно предоставить разрешение для экземпляров Stop , если экземпляры не имеют определенного тега.

0 голосов
/ 21 февраля 2019

Вы можете добавить Termination Protection для своего экземпляра EC2.Таким образом, вы можете контролировать, может ли экземпляр быть или не может быть удален через CLI или API.Вы можете добавить роль IAM, у которой есть доступ для вызова интерфейса командной строки или API.

Защита от прерывания не мешает пользователю инициировать отключение системы из экземпляра.Возможно, вам придется взглянуть на это также.

Для получения дополнительной информации посмотрите документацию .

0 голосов
/ 22 февраля 2019

Нет ловушки для этих операций API.

Экземпляр также может быть остановлен из внутри экземпляра (например, sudo halt или sudo poweroff), и EC2 остановит или даже прекратит работу экземпляра в этом случае на основе его экземпляра.InstanceInitiatedShutdownBehavior атрибут, который можно установить для остановки (по умолчанию) или завершения экземпляра.Фактически, экземпляр с этой опцией, установленной для завершения экземпляра, также защищен от «защиты от прерывания», которая является атрибутом, который блокирует завершение только через API (или консоль, которая также вызывает API).

Однако EC2 с автоматическим масштабированием имеет хуков жизненного цикла , которые позволяют перехватывать предлагаемый останов или завершение автоматического масштабирования до того, как вызовы API EC2 будут выполнены с помощью автоматического масштабирования.Это не похоже на то, что вы ищете.

0 голосов
/ 21 февраля 2019

сначала добавьте защиту от прерывания в вашем экземпляре.затем вы должны включить cloud-trail для регистрации вызовов API, чтобы увидеть неудачные вызовы пользователя.Вы можете полностью запретить определенным пользователям прекращение работы экземпляра с помощью IAM.не стоит полагаться на IP.

...