В моем рабочем процессе развертывания сначала создается ami с помощью Packer, а затем выполняется развертывание с помощью Terraform.
У меня есть класс EC2, который был создан до 2013 года, поэтому VPC по умолчанию не настроен.
Когда я запускаю packer build packer.json
, инструмент жалуется, что
amazon-ebs: Adding tag: "Name": "Packer Builder"
==> amazon-ebs: Error launching source instance: VPCResourceNotSpecified: The specified instance type can only be used in a VPC. A subnet ID or network interface ID is required to carry out the request.
==> amazon-ebs: status code: 400, request id: 35ca5736-f808-4bb9-9a34-3dca24b59259
Я планировал создать VPC с Terraform. Итак, вопрос в том, каков порядок исполнения? Сначала запустите Terraform, затем Packer. Или запустить в обратном порядке? Или мы разделяем конфигурацию сети (VPC), используем Terraform для ее развертывания один раз, затем Packer, а затем терраформируем остальные серверы?
Обновление: если я использую стратегию: запустите сетевой модуль (в основном статические элементы), затем Packer, а затем запустите модуль «Часто меняющиеся элементы», как мне поделиться состоянием между Terraform и Packer? Это означает, что после создания нового VPC, как я могу сообщить Packer об этом новом vpc_id? Нужно ли мне изменять каждый файл Packer?