Автоматизация задач резервного копирования с помощью vCenter Orchestrator через Veeam Restful API

Большинство тех, кто сталкивался с автоматизацией задач VMware vSphere, рано или поздно узнает про VMware vCenter Orchestrator.Наличие REST плагина у этого фреймворка привело нас к мысли, что можно провести интеграцию vCenter Orchestrator с Veeam Backup & Replication, автоматизировав таким образом операции, выполняемые Veeam Backup Enterprise Manager, в частности: запуск, остановка или просмотр статистики бэкапов, выполнение восстановлений, просмотр, управление ролями безопаности.

Итак, исходные данные:

установленный vCenter Orchestrator 5.5.2 установленный Veeam Backup & Replication v8 Enterprise Plus Что требуется: сделать так, чтобы оно работало вместе через REST (кстати, через PowerShell интеграция тоже возможна, но это уже вне рамок этого кейса) Что вас ожидает: нюансы интеграции примеры REST запросов Прошу под кат за деталями.Подготовка: установка и настройка vCOНа самом деле, установка vCO — это вообще отдельная песня, у которой несколько куплетов и припевов (нет, серьезно, почему vCO не поддерживает IE младше 10, но взлетает на Firefox 15?). Если кого-то интересует сия история, пишите в комментариях, с удовольствием поделюсь своими «tips & tricks».

Но, в общем и целом, для интеграции с Veeam Backup & Replication самое главное, — это установить REST plugin. За всем остальным добро пожаловать в официальную документацию VMware.

Подготовка: настройка Veeam Backup & Replication

Хотелось бы обратить особое внимание, что рассматриваемый кейс возможен только если у вас установлен Veeam Backup & Replication Enterprise Plus. Причина очень проста — полное название интерфейса — Veeam Backup Enterprise Manager RESTful API. То есть API позволяет разработчикам общаться именно с Enterprise Manager, а этот компонент доступен только, если у вас лицензия Enterprise Plus.

Таким образом, подготовка к интеграции с vCO выглядит следующим образом:

Устанавливаем и настраиваем Veeam Backup Enterprise Manager Все, к интеграции готовы :) Шаг первый: устанавливаем соединение

Для установки соединения vCO с Veeam RESTful API необходимо добавить REST хост.

eb1516f5c7d2441c973511b2f421ba05.png

ad72b856aec54339bbaee8e21ea8615b.png

В запущенном Wokflow необходимо заполнить поля Name и URL. Настройки Connection timeout и Operation timeout можно не менять.

До Veeam RESTful API можно «достучаться» по следующим адресам:

Veeam Restful API HTTP URL http://:9399/api/ Veeam Restful API HTTPS URL https://:9398/api/ 8f442faf808344febe64188a9619756a.png

Укажите прокси, если он используется. Мы решили для нашего примера обойтись без нее.

9aed220ee9c148bdb859f422a7909d8a.png

Укажите тип аутентификации; мы подумали-подумали и выбрали basic.

a001280e0a67463398495aa0048d0ad4.png

Следующий шаг: выбираем режим сессии (Shared Session или per User Session) и указываем данные аутентификации.

b303afcfa78c43788923075171124208.png

В том случае если вы, как и мы, решили выбрать https соединение, необходимо принять SSL сертификат.

284b599a7de04053beee9b110fbd528f.png

35d7b414a5b9416c9c8c4c303f20358c.png

И если все прошло гладко, нигде ничего не отвалилось и не отлетело, то Workflow будет создан.

b8e7d6400f9a43639fa98e6bc5b4ae6d.png

Шаг второй: импортируем схему

Следующий шаг — это иморт Veeam REST схемы. Она доступна на сервере, где развернут Veeam Backup Enterprise Manager. В нашем случае это:

C:\Program Files\Veeam\Backup and Replication\Enterprise Manager\schemas\RestAPI.xsd

Самый простой способ — расшарить схему на веб-сервере, чтобы vCO смог до нее «достучаться».И приступаем непосредственно к процессу импорта.

28ce30d029a8416b8cb213ce7505c71b.png

Выбираем добавленный на предыдущем шаге хост.

92ba8c880e9e40ca9b7984b9d2e623ff.png

Указываем путь, где лежит схема.

ca19fbe8a0ef47a89c8ebfda075c72e4.png

Схема импортирована.

cbaedc207ec34167bceb149d0409b64a.png

Шаг третий: делаем, что хотим

После длительного этапа настроек, наконец, мы можем наслаждаться тем, что можем запускать любые операции, которые разрешены из Veeam Backup Enterprise Manager. Для примера мы решили создать ряд очень простых запросов.В частности:

Получили список бэкап серверов.

265c5d32a4cc4088b4aa655fd6165a03.png

Ознакомились со списком failover планов.

ed460b63efe345488dc6f140df35da1e.png

Ну и порадовались коллекции Cloud Gateways.

c322c65e85704c85a9a7eb55618d26c7.png

В заключение

В заключение хочется сказать, что процесс интеграции оказался достаточно простым, если знать, куда нажимать и что добавлять. Если предложить мне сейчас переделать все 16 картинок, которые вставлены для демонстрации процесса, то это займет меньше часа.И теперь даже стало интересно —, а для PowerShell получится все сложнее или проще? Кто-нибудь хочет попробовать?… Может, разобрать кейс посложнее? Что думаете?

Дополнительная информация:

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

© Habrahabr.ru