Вы столкнулись с проблемой на основе состояния. Когда вы определяете ресурс, вы даете ему имя. Эти имена используются в файле состояния, и именно это заставляет Terraform думать, что вы пытаетесь изменить существующий ресурс. У вас есть несколько способов решить эту проблему, и это зависит от того, что вы действительно делаете.
Рабочие пространства Terraform
Вы можете использовать рабочие пространства в terraform для каждого создаваемого вами VPC, это будет разделять состояние, однако рабочие пространства действительно предназначены для разделения сред, а не для нескольких ресурсов в одной среде. Вы можете прочитать больше здесь .
Модули Terraform
Для меня это звучит так, что вы действительно хотите создать модуль terraform для вашей конфигурации VPC. Затем создайте каждый VPC, используя ваш модуль в том же файле main.tf. Таким образом, у вас будут уникальные имена ресурсов, которые не будут путать управление государством. Вы можете прочитать больше о модулях здесь . Хороший источник информации об этом можно найти в этом блоге посте.