Недавно я использовал Amazon CloudFormation для запуска экземпляров компьютеров EC2 Ubuntu, на которых работает MongoDB.
Когда дело доходит до удаления стека, он часто терпит неудачу, я полагаю, из-за невозможности отключить диски ebs raid 10, которые использует Mongo.
Я хотел бы что-то в этом шаблоне (в настоящее время есть сценарий bash в пользовательских данных) или машине, чтобы перехватить это сообщение, выключить Mongo и отключить диски, чтобы удаление могло произойти чисто, а не повторять дважды. Есть ли простой способ дополнить CloudFormation более аккуратным удалением стека?
Я понимаю, что есть альтернативы (OWS с Chef 9 по-прежнему / Chef установлен на одной из наших машин в AWS / Juju / Puppet / etc / etc), но прямо здесь и сейчас я просто хочу, чтобы это сначала работало чисто, если это вообще возможно.
У нас есть аналогичная проблема из-за того, что созданный стек CF ведер S3 не может быть удален, если он не пустой.
У нашего решения / хака есть сценарий bash, вызывающий API AWS с использованием aws-cli чтобы перебрать все ведра S3 и сначала удалить содержимое внутри, затем вызвать aws cloudformation delete-stack
.
Для вашей проблемы вы можете сделать то же самое, просто отсоединив тома ebs на своем экземпляре Mongo, прежде чем удалять стек.