Импортируйте текущее состояние моей облачной учетной записи AWS с помощью terraform - PullRequest
0 голосов
/ 29 июня 2019

Я хотел бы сначала контролировать свои облачные ресурсы, прежде чем использовать его для применения через Terraform. Можно ли в любом случае запустить одну команду и сохранить текущее состояние моего облака?

Я пытался использовать команду Terraform import :

terraform import ADR ID

Но это занимает много времени, чтобы идентифицировать все ресурсы и импортировать их.

Я пробовал terraforming, но для импорта также необходим тип ресурса:

терраформинг с3

Существует ли какой-либо инструмент, который может помочь в импорте всех существующих ресурсов?

1 Ответ

2 голосов
/ 30 июня 2019

Хотя это технически не отвечает на ваш вопрос, я настоятельно советую не пытаться импортировать всю существующую учетную запись AWS в Terraform одним способом, даже если это было возможно.

Если вы посмотрите на любую Terraform лучшие практики очень многое сводится к минимизации радиуса взрыва вещей, поэтому одновременно применяются только вещи, которые имеют смысл изменяться одновременно друг с другом, Charity Majors написал хорошее сообщение в блоге об этом и влиянии, которое это имело, когда это было не так.

Любой инструмент, который бы массово импортировал вещи (например,terraforming) просто собирается сбросить все в один файл состояния.Что, как упоминалось ранее, является плохой идеей.

Хотя это звучит трудоемко, я бы порекомендовал вам более тщательно и методично перейти на Terraform.В целом, я бы сказал, что только новая инфраструктура должна использовать Terraform, используя источники данных Terraform для поиска существующих вещей, таких как идентификаторы VPC, которые уже существуют.

Как только вы освоитесь с Terraform и структурируете код инфраструктурыи определенным образом определяя состояние файлов, вы можете начать думать о том, как сопоставить существующий код инфраструктуры с файлами состояния Terraform и т. д., и начать вручную импортировать определенных ресурсов по мере необходимости.

Выполнение действийэтот способ также позволяет вам лучше узнать Terraform и понять его ограничения и сильные стороны, а также выяснить, как ваша команда и / или CI будут работать вместе (например, удаленная блокировка и согласование файлов состояний и состояний), не спускаясь друг на другаили может вызвать проблемы со здоровьем.

...