Как обращаться с ресурсами, которые должны быть созданы Pulumi, но впоследствии управляются в другом месте?

#amazon-web-services #devops #pulumi #infrastructure-as-code

Вопрос:

Например, чтобы реализовать конвейер развертывания синего/зеленого цвета с CodeDeploy на AWS ECS, я сначала использую Pulumi для предоставления балансировщика нагрузки, Слушателей и целевых групп (среди других ресурсов). Но после того, как я предоставлю Прослушиватели для создания DeploymentConfig в CodeDeploy, контроллер развертывания синего/зеленого цвета будет управлять Прослушивателями при каждом развертывании.

На этом этапе, если я запущу pulumi preview снова, это покажет, что слушатели разошлись (из-за нового развертывания), и Пулуми попытается «исправить» это, конфликтуя с контроллером развертывания.

Единственное решение, которое я вижу до сих пор, — это pulumi state delete заставить Pulumi прекратить отслеживать эти ресурсы, но это не кажется правильным путем.

Как правильно обращаться с ресурсами, которые сначала создаются Pulumi, но затем управляются в другом месте?

Комментарии:

1. Проблема не ограничивается Пулуми. То же самое было бы в Терраформировании и облачном образовании. К сожалению, наиболее вероятный ответ-вручную настроить свой код в соответствии с новой настройкой.

2. Лучшее, что я придумал, — это использовать attr «ignore_changes» в опции ресурса.

3. Да, это сработало бы, но это приводит к постоянному дрейфу, который впоследствии может привести к еще большему количеству проблем.