Поддерживает ли terraform функцию восстановления AWS BACKUP? - PullRequest
0 голосов
/ 21 апреля 2020

Поддерживает ли terraform функцию резервного копирования aws для восстановления образа из хранилища (https://www.terraform.io/docs/providers/aws/r/backup_plan.html)?

Когда я читаю документ, я вижу, что он поддерживает создание плана резервного копирования, назначение ресурсов и политики, создание хранилища, но не поддерживает восстановление образа или тома ebs

How do i add the restore block in my terraform template

1 Ответ

0 голосов
/ 23 апреля 2020

Модель выполнения Terraform предназначена для преобразования декларативных описаний предполагаемого состояния в императивные действия для автоматического достижения этого состояния, поэтому ее модель на самом деле не поддерживает «исключительные» процессы, такие как восстановление резервных копий.

Однако, Вы можете разработать процесс восстановления резервных копий вместе с Terraform, посредством которого основное действие по восстановлению выполняется с использованием AWS Console, AWS CLI или API в вашей собственной автоматизации, а затем вы сообщаете Terraform после факта что он должен использовать восстановленный объект с помощью своих команд управления состоянием.

Например, если у вас есть том EBS, управляемый Terraform с использованием ресурса aws_ebs_volume, вы также можете использовать Terraform для настройте AWS план резервного копирования для этого тома, и затем резервные копии будут создаваться автоматически в соответствии с вашим планом.

В исключительной ситуации, когда существующий том утерян или поврежден, и вы хотите восстановить резервную копию, человек, отвечающий на inci dent может выполнить следующий процесс:

  • Создать AWS Резервное задание восстановления либо с помощью консоли AWS, AWS CLI, либо с помощью какого-либо программного обеспечения вашего собственного дизайна с использованием AWS API резервного копирования.
  • После завершения задания резервного копирования обратитесь к CreatedResourceARN, чтобы найти идентификатор нового объекта, который был создан путем восстановления резервной копии. В случае тома EBS это будет последняя часть после разделителя :volume/.
  • Скажите Terraform «забыть» существующий объект тома EBS, который теперь уничтожен или поврежден:

    terraform state rm aws_ebs_volume.example

  • Сказать Terraform импортировать объект, созданный путем восстановления резервной копии, в качестве нового удаленного объекта, связанного с ресурсом Terraform:

    terraform import aws_ebs_volume.example vol-049df61146c4d7901

  • Если ваш старый том EBS все еще присутствует, но поврежден или иным образом поврежден, последним шагом будет поиск и ручное уничтожение оставшегося из него, поскольку Terraform больше не управляет им. и, следовательно, в противном случае он останется на месте навсегда.

После завершения этого процесса Terraform будет считать новый объект объектом, управляемым этим ресурсом, и вы можете использовать Terraform как нормально с этим ресурсом движется вперед. Тот же принцип применим к любому из типов объектов, поддерживаемых AWS Backup, если у них есть тип ресурса в AWS провайдере, который поддерживает terraform import.

...