4

Мне нужно установить свойство «Защита экземпляра» для экземпляров в моей группе автоматического масштабирования с использованием шаблона CloudFormation.Как настроить «Защита экземпляра» над CloudFormation в AWS?

я обычно делаю это в моей консоли AWS так: EC2 -> Авто Scaling Группы

Но я не могу найти его на CloudFormation documentation

ответ

5

Это может быть сделано с помощью CloudFormation, но это не так просто ,

В настоящее время CloudFormation (начиная с 3/30/2016) официально не поддерживает функцию автоматического масштабирования экземпляров. CloudFormation, к сожалению, имеет тенденцию отставать от новых функций, добавленных к базовым API AWS, и эта функция была только recently launched от 12/7/2015.

В будущем, чтобы подтвердить, были ли обновлены новые функции в CloudFormation, лучше всего обратиться к CloudFormation release history, чтобы узнать, указана ли требуемая функция.

Другие AWS SDK, как правило, обновляются чаще, поэтому в качестве обходного пути вы можете создать свою группу AutoScaling, используя, например, команда AWS CLI create-auto-scaling-group с флагом --new-instances-protected-from-scale-in.

Если вы нарушаете CloudFormation, чтобы создать свою группу автомасштабирования, это не вариант, другим (более сложным) решением будет исправление пользовательского ресурса поверх существующего ресурса CloudFormation для обновления вновь созданной группы автомасштабирования с новой функцией используя один из обновленных SDK. Он работает, но вам нужно создать функцию лямбда и все поддерживающие роли и разрешения IAM и объединить их все вместе в пользовательский resouce. Пример того, как это сделать для поддержки другой неподдерживаемой функции CloudFormation (присоединение сертификатов ACM к дистрибутиву CloudFront), см. В моем SO answer here.

Конечно, проще всего ждать, пока AWS добавит официальную поддержку этой функции CloudFormation, как они в конечном итоге будут.

+0

Awesome. Мне нужно это подтверждение, я думал, что не искал достаточно. Думаю, я просто подожду. Спасибо! – imTachu

+1

Через полтора года после введения этой функции, к сожалению, все же правильный ответ. – kadrach

2

Это не похоже, что в настоящее время поддерживается CloudFormation.

Если вы посмотрите документацию CFN для автосканирования, у него есть элемент для TerminationProtection, который представляет собой список строк. Я не могу найти список доступных опций в документации, но когда я использую CLI там не кажется, что связано:

$> aws autoscaling describe-termination-policy-types 
{ 
    "TerminationPolicyTypes": [ 
     "ClosestToNextInstanceHour", 
     "Default", 
     "NewestInstance", 
     "OldestInstance", 
     "OldestLaunchConfiguration" 
    ] 
} 
+0

Да, это еще один фактор в группе автоматического масштабирования, однако ничто не связывает защиту экземпляра над CLI. – imTachu