Управление ресурсами Azure и отслеживание затрат путем создания задач автоматизации (предварительная версия)
Внимание
Эта возможность входит в предварительную версию, и на нее распространяются Дополнительные условия использования предварительных версий Microsoft Azure.
Чтобы упростить управление ресурсами Azure, можно создать автоматизированные задачи управления для определенного ресурса или группы ресурсов. Эти задачи различаются по количеству и доступности в зависимости от типа ресурса. Например:
Для учетной записи хранения Azure можно настроить задачу автоматизации, которая отправляет ежемесячные затраты для этой учетной записи хранения.
Для виртуальной машины Azure можно создать задачу автоматизации, которая будет включать или выключать эту виртуальную машину по определенному расписанию. В частности, можно создать задачу, которая автоматически запускает или останавливает виртуальную машину определенное количество раз в день, неделю или месяц. На вкладке "Настройка задачи" задайте для значения интервала количество раз и значение частоты в значение "День", "Неделя" или "Месяц". Задача автоматизации продолжает работать, пока не будет удалена или отключена задача.
Например, можно создать задачу, которая автоматически запускает виртуальную машину один раз в день. На вкладке "Настройка задачи " установите интервал 1 и частоту в день.
Вы можете создать задачу автоматизации из определенного шаблона задачи автоматизации. В следующей таблице перечислены поддерживаемые сейчас типы ресурсов и доступные шаблоны задач в этой предварительной версии:
Тип ресурса | Шаблоны задач автоматизации |
---|---|
Все ресурсы Azure | Отправка информации о ежемесячных затратах для ресурса |
Виртуальные машины Azure | Дополнительно: - Выключение виртуальной машины - Запуск виртуальной машины - Отмена выделения виртуальной машины |
Учетные записи хранения Azure | Дополнительно: - Удаление устаревших больших двоичных объектов |
Azure Cosmos DB | Дополнительно - Отправка результата запроса по электронной почте |
В этой статье демонстрируется, как выполнять следующие задачи:
Создание задачи автоматизации для конкретного ресурса Azure.
Проверка журнала задачи, куда входит состояние выполнения, входные и выходные данные, а также другая историческая информация.
Изменение задачи, что позволяет обновлять задачу или настраивать базовый рабочий процесс задачи в конструкторе рабочих процессов.
Чем отличаются задачи автоматизации от службы автоматизации Azure?
Задачи автоматизации являются более базовыми и требуют меньше ресурсов, чем служба автоматизации Azure. В настоящее время задачу автоматизации можно создать только на уровне ресурса Azure. С технической точки зрения задача автоматизации — это на самом деле ресурс приложения логики, который выполняет рабочий процесс. этот рабочий процесс приложения логики и основан на мультитенантной службе Azure Logic Apps. После создания задачи автоматизации можно просматривать и изменять базовый рабочий процесс, открывая задачу в конструкторе рабочих процессов. По мере выполнения по крайней мере одного запуска задачи можно просматривать состояние, историю, входные и выходные данные запуска.
Для сравнения можно отметить, что служба автоматизации Azure — это облачная служба автоматизации и настройки, которая поддерживает согласованное управление в Azure и других средах. Эта служба включает в себя автоматизацию процессов для оркестрации процессов с помощью модулей Runbook, управление конфигурацией с отслеживанием изменений и инвентаризацией, управление обновлениями, общими возможностями и разнородными функциями. Служба автоматизации обеспечивает полный контроль во время развертывания, использования и вывода из эксплуатации рабочих нагрузок и ресурсов.
Цены
При создании задачи автоматизации списание средств не начинается автоматически. С внутренней стороны задача автоматизации управляется рабочим процессом в ресурсе приложения логики, размещенном в нескольких клиентах Azure Logic Apps. Таким образом, Модель ценообразования потребления применяется к задачам автоматизации. Операции измерения и выставления счетов основаны на выполнении триггера и действий в базовом рабочем процессе приложения логики.
За выполнения взимается плата и выставляется счет независимо от того, успешно ли выполнен рабочий процесс, а также создается ли экземпляр рабочего процесса. Например, предположим, что задача автоматизации использует триггер опроса, который регулярно выполняет исходящий вызов к конечной точке. Этот исходящий запрос измеряется и оплачивается как выполнение, независимо от того, срабатывает или пропускается триггер, определяя, создается ли экземпляр рабочего процесса.
К триггерам и действиям применяются тарифы плана потребления, которые различаются в зависимости от того, являются ли операции встроенными или управляемыми (Standard или Enterprise). Триггеры и действия также вызывают транзакции с хранилищем, для которых действует тариф на передачу данных в рамках плана потребления.
Примечание.
В качестве ежемесячной премии план потребления включает в себя несколько тысяч встроенных выполнений без оплаты. Для получения более точных сведений ознакомьтесь с тарифами плана потребления.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Ресурс Azure, которым нужно управлять. В этой статье в качестве примера используется учетная запись хранения Azure.
А также учетная запись Office 365 для демонстрации примера по отправке сообщения на электронную почту с помощью Office 365 Outlook.
Создание задачи автоматизации
На портале Azure найдите ресурс, которым нужно управлять.
В меню навигации по ресурсам в разделе Автоматизация выберите Задачи (предварительная версия).
В области Задачи выберите Добавить задачу, чтобы выбрать шаблон задачи.
В области Добавить задачу в разделе Выбор шаблона в шаблоне для задачи репликации, которую необходимо создать, нажмите Выбрать. Если следующая страница не открывается, нажмите кнопку Далее: проверка подлинности.
На следующем шаге этого примера нужно выбрать шаблон задачи Отправка информации о ежемесячных затратах для ресурса.
В области Проверка подлинности в разделе Подключения нажмите Создать для каждого подключения, которое отображается в задаче, чтобы предоставить всем этим подключениям учетные данные для проверки подлинности. Типы подключений в каждой задаче зависят от задачи.
В этом примере показано только одно из подключений, необходимых в этой задаче.
При появлении соответствующего запроса войдите в свою учетную запись Azure.
Каждое подключение с успешной проверкой подлинности выглядит как на следующем рисунке:
После проверки подлинности для всех подключений выберите Далее: конфигурация, если следующая страница не открывается.
В разделе Конфигурация укажите имя задачи и другие необходимые для задачи сведения. Когда все будет готово, выберите Просмотр и создание.
Примечание.
После создания задачи ее имя нельзя изменить, поэтому нужно выбрать имя, которое будет оставаться действительным даже при изменении базового рабочего процесса. Изменения, вносимые в базовый рабочий процесс, применяются только к созданной задаче, а не к шаблону задачи.
Например, если вы выберете для задачи имя
SendMonthlyCost
, а затем измените базовый рабочий процесс, чтобы он выполнялся еженедельно, нельзя изменить имя этой задачи наSendWeeklyCost
.Для задач, выполняющих отправку уведомлений по электронной почте, требуется указать адрес электронной почты.
Созданная задача, которая выполняется автоматически, теперь отображается в списке Задачи.
Совет
Если задача не отображается в этом списке сразу, попробуйте обновить список задач или немного подождите, прежде чем выполнять обновление. На панели инструментов нажмите кнопку Обновить.
После запуска выбранной задачи вы получите сообщение на электронную почту, которое выглядит следующим образом:
Проверка журнала задачи
Чтобы просмотреть историю выполнений задачи вместе с соответствующими состояниями, входными и выходными данными, а также с другими сведениями, выполните следующие действия:
На портале Azure найдите ресурс, где находится журнал задачи, который нужно просмотреть.
В Параметрах меню ресурсов в разделе Автоматизация выберите Задачи (предварительная версия).
В списке задач найдите задачу, информацию о которой нужно просмотреть. В столбце Выполнения этой задачи выберите Посмотреть.
На панели Журнал запусков отображаются все запуски задачи вместе с их состояниями, начальным временем, идентификаторами и продолжительностью выполнения.
Ниже приведены возможные состояния для процесса выполнения.
Состояние Description Отменено Задача была отменена во время выполнения. Неудачно У задачи имеется по крайней мере одно действие, завершившееся сбоем, а последующие действия по устранению этого сбоя отсутствуют. Выполнение Задача выполняется в данный момент. Успешно Все действия выполнены успешно. Задача еще может завершиться успешно, если произошел сбой какого-либо действия, при этом имеются последующие действия по устранению этого сбоя. Ожидание Запуск не выполнен и приостановлен, так как еще выполняется раннее запущенный экземпляр задачи. Дополнительные сведения см. в статье Просмотр журналов выполнения в режиме мониторинга.
Чтобы просмотреть состояния и другие сведения о каждом шаге запуска, нужно выбрать этот запуск.
Откроется панель Запуск приложения логики, в которой будет отображаться выполняемый базовый рабочий процесс.
Рабочий процесс всегда запускается с помощью триггера. Для рассматриваемой задачи рабочий процесс запускается с помощью триггера Повторение.
Для каждого шага отображается его состояние и продолжительность выполнения. Шагам с продолжительностью 0 секунд потребовалось для выполнения менее 1 секунды.
Чтобы посмотреть входные и выходные данные для каждого шага, выделите соответствующий шаг, при этом раскроются сведения о нем.
В этом примере показаны входные данные для триггера "Повторение", у которого отсутствуют выходные данные, так как триггер определяет только время выполнения рабочего процесса и не предоставляет выходных данных для их обработки последующими действиями.
А у действия Отправить электронное письмо имеются как входные данные от предыдущих действий в рабочем процессе, так и выходные данные.
Чтобы узнать, как создавать собственные автоматизированные рабочие процессы, чтобы можно было интегрировать приложения, данные, службы и системы, помимо контекста задач автоматизации для ресурсов Azure, см. краткое руководство. Создание примера рабочего процесса приложения логики потребления — портал Azure.
Изменение задачи
Для изменения задачи имеются следующие возможности:
Изменение задачи в режиме "inline" позволяет изменять свойства задачи, например сведения о подключении или сведения о конфигурации, например адрес электронной почты.
Изменение базового рабочего процесса задачи в конструкторе рабочих процессов.
Изменение задачи в режиме "inline"
На портале Azure найдите ресурс, к которому принадлежит изменяемая задача.
В меню навигации по ресурсам в разделе Автоматизация выберите Задачи (предварительная версия).
В списке задач найдите задачу, которую нужно обновить. Откройте меню задачи, отображаемое в виде многоточия (...) и выберите пункт Изменить в режиме "in-line".
По умолчанию при этом откроется вкладка Проверка подлинности, где отображаются существующие соединения.
Чтобы добавить новые учетные данные для проверки подлинности или выбрать другие существующие учетные данные для проверки подлинности, применительно к какому-либо подключению, откройте меню с многоточием (...) и выберите либо команду Добавить новое подключение, либо другие учетные данные для проверки подлинности при их наличии.
Чтобы обновить другие свойства задачи, нажмите кнопку Далее: конфигурация.
Для задачи в этом примере единственным доступным для редактирования свойством является адрес электронной почты.
По завершении выберите Сохранить.
Изменение базового рабочего процесса задачи
При изменении базового рабочего процесса для задачи автоматизации реализуемые изменения влияют только на созданный экземпляр задачи, а не на шаблон, с помощью которого создана задача. После внесения и сохранения изменений имя, указанное для исходной задачи, может не совсем точно характеризовать задачу, поэтому может потребоваться создать задачу заново с другим именем.
Совет
Рекомендуется клонировать базовый рабочий процесс, чтобы вместо него редактировать скопированную версию. Таким образом, можно вносить и тестировать изменения в копии, в то время как исходная задача автоматизации будет работать и выполняться без прерывания или нарушения существующей функциональности. После окончательного внесения изменений и успешного выполнения новой версии можно отключить или удалить исходную задачу автоматизации и использовать вместо нее клонированную версию. Клонирование рабочего процесса включает в себя следующие шаги.
На портале Azure найдите ресурс, к которому принадлежит изменяемая задача.
В меню навигации по ресурсам в разделе Автоматизация выберите Задачи.
В списке задач найдите задачу, которую нужно обновить. Откройте меню задачи в виде многоточия (...) и выберите пункт Открыть в приложениях логики.
Базовый рабочий процесс задачи откроется в службе Azure Logic Apps с отображением области Обзор, где можно просмотреть уже упоминавшийся журнал запусков, который доступен для задачи.
Чтобы открыть базовый рабочий процесс в конструкторе, выберите в меню приложения логики пункт Конструктор приложений логики.
Теперь можно изменить свойства триггера и действий рабочего процесса, а также изменить триггер и действия, определяющие сам рабочий процесс. Однако в качестве оптимальной методики рекомендуется выполнить клонирование рабочего процесса, чтобы можно было вносить изменения в копию, пока исходный рабочий процесс продолжит выполняться.
Чтобы клонировать рабочий процесс и вносить изменения в скопированную версию, выполните следующие действия.
В меню рабочего процесса в приложении логики выберите пункт Обзор.
В меню инструментов области обзора выберите Клонировать.
В приложении логики в области создания введите в поле Имя новое имя для скопированного рабочего процесса приложения логики.
Кроме Состояния приложения логики, другие свойства недоступны для редактирования.
В разделе Состояние приложения логики выберите Отключено, чтобы клонированный рабочий процесс не выполнялся во время внесения изменений. Рабочий процесс можно включить, когда он будет готов к тестированию изменений.
После того как Azure завершит подготовку клонированного рабочего процесса, найдите и откройте этот рабочий процесс в конструкторе.
Чтобы посмотреть свойства триггера или действия, разверните этот триггер или действие.
Например, можно изменить триггер "Повторение" так, чтобы он выполнялся еженедельно, а не ежемесячно.
Дополнительные сведения о триггере "Повторение" см. в разделе Создание, планирование и выполнение повторяющихся задач и рабочих процессов с помощью триггера повторения.
Чтобы сохранить внесенные изменения, на панели инструментов конструктора щелкните Сохранить.
Чтобы проверить и запустить обновленный рабочий процесс, на панели инструментов конструктора выберите Выполнить.
После завершения выполнения в конструкторе отображаются сведения о выполнении рабочего процесса.
Сведения о том, как отключить рабочий процесс и прекратить выполнение задачи, см. в разделе Управление приложениями логики на портале Azure.
Создание шаблона задачи автоматизации из рабочего процесса
Вы можете создать собственный шаблон задачи автоматизации, используя любой рабочий процесс приложения логики потребления, который начинается с повторяющегося триггера или триггера на основе событий, но не триггеров на основе HTTP или триггеров веб-перехватчиков на основе HTTP. Для этой задачи вам потребуются следующие элементы:
Разветвленная версия Репозитория GitHub шаблонов задач автоматизации Azure.
Дополнительные сведения о вилках и создании вилки см. в следующей документации GitHub:
Рабочая ветвь в разветвленном репозитории, куда будет добавлен шаблон задачи автоматизации.
Дополнительные сведения о ветвях и создании ветви см. в следующей документации:
Выбор средства веб-отладки. В этом примере используется Fiddler 4, но вы можете попробовать бесплатную пробную версию Fiddler Everywhere.
Чтобы создать шаблон и сделать его доступным для использования в Azure, выполните следующие действия:
- Экспортируйте рабочий процесс в шаблон задачи автоматизации.
- Загрузите шаблон в рабочую ветвь в разветвленном репозитории.
- Протестируйте шаблон с помощью средства веб-отладки или Fiddler.
- Создайте запрос на вытягивание (PR) для вашей рабочей ветви по сравнению с ветвью по умолчанию в репозитории GitHub шаблонов задач автоматизации Azure.
После того как команда Azure Logic Apps рассмотрит и утвердит ваш PR для слияния с ветвью по умолчанию, ваш шаблон будет запущен и доступен для всех клиентов Azure.
Экспорт рабочего процесса в шаблон задачи автоматизации
На портале Azure откройте рабочий процесс приложения логики, который вы хотите экспортировать. Убедитесь, что рабочий процесс начинается с повторяющегося триггера или триггера на основе событий, а не триггера на основе HTTP или триггера веб-перехватчика на основе HTTP.
В меню ресурсов приложения логики выберите Обзор.
На панели инструментов Обзор выберите Экспорт>Экспорт в задачу автоматизации.
На открывшейся панели Экспорт в задачу автоматизации укажите следующую информацию:
Свойство Обязательное поле значение Описание Имя шаблона Да <template-name> Понятное отображаемое имя для шаблона задачи автоматизации. Важно. Убедитесь, что вы используете краткое и простое в понимании имя, например, Список устаревших виртуальных машин.
Описание шаблона Да <template-description> Описание задачи или назначения шаблона Поддерживаемые типы ресурсов No Пусто или <supported-Azure-resource-type-list> Типы ресурсов Azure первого класса, в которых вы хотите сделать шаблон доступным. Типы подресурсов в настоящее время не поддерживаются. Чтобы включить все типы ресурсов Azure первого класса, не указывайте это свойство. Чтобы указать несколько типов ресурсов, разделите каждое имя с запятой и используйте следующий синтаксис: Microsoft.<поставщик услуг>/<объект>
Например, чтобы сделать шаблон доступным для групп ресурсов Azure, укажите Microsoft.Resources/resourceGroups. Дополнительные сведения см. в разделе Поставщики ресурсов для служб Azure.
Неподдерживаемые типы ресурса No Пусто или <unsupported-Azure-resource-type-list> Если таковые имеются, типы ресурсов Azure, для которых вы специально не хотите делать шаблон доступным. Чтобы указать несколько типов ресурсов, разделите каждое имя с запятой и используйте следующий синтаксис: Microsoft.<поставщик услуг>/<объект>
Например, чтобы сделать шаблон недоступным для групп ресурсов Azure, укажите Microsoft.Resources/resourceGroups. Дополнительные сведения см. в разделе Поставщики ресурсов для служб Azure.
Настройка параметров No Разные Если рабочий процесс включает определения параметровмежду средами, эти параметры появляются в этом разделе для дальнейшей настройки. Можно выбрать, будет ли каждое значение параметра предоставляться либо из ресурса, либо из автора задачи. — При выборе из ресурса выберите значение свойства source Parameter для использования из этого ресурса:
-- Имя ресурса
-- Тип ресурса
-- Идентификатор ресурса
-- Идентификатор подписки
-- Группа ресурсов
-- Расположение ресурса.— При выборе предоставленного пользователя выберите формат шаблона , который определяет, как создатель задачи предоставляет значение параметра:
-- По умолчанию: значение параметра является любым, за исключением интервала, частоты или часового пояса.
----Укажите отображаемое имя параметра, значение по умолчанию и описание.
----Если значение является меткой времени (чч:мм:сс), установите свойство Формат на Формат времени.
----Чтобы пометить параметр как обязательный, измените Необязательное значение на Обязательное.
-- Interval: значение параметра представляет собой интервал, например, 1 или 12.
-- Frequency: значение параметра представляет собой частоту, например, Час, День или Месяц.
-- Часовой пояс: значение параметра — это часовой пояс, например (UTC-08:00) Тихоокеанское время (США и Канада).
В следующем примере показаны свойства образца шаблона задачи автоматизации, который работает только в группе ресурсов Azure:
В этом примере базовый рабочий процесс задачи включает следующие определения параметров и указывает, что эти значения параметров предоставляются автором задачи:
Параметр Описание emailAddress Указывает адрес электронной почты, на который будет отправлен отчет. Этот параметр использует шаблон По умолчанию, который позволяет указать информацию о параметре, предполагаемый формат, а также указать, является ли параметр необязательным или нет. Для этого параметра в примере ожидаемый формат — None, а параметр — Required. numberOf Указывает максимальное количество единиц времени, в течение которых виртуальная машина может простаивать. Этот параметр использует шаблон По умолчанию. timeUnit Указывает единицу времени, используемую для значения параметра. Этот параметр использует шаблон Частота, показывающий единицы времени, которые может выбрать автор задачи, например, Час, День или Месяц. Когда все будет готово, выберите Скачать шаблони сохраните шаблон, используя расширение имени файла .json. Для согласованного имени шаблона используйте только строчные буквы, дефисы между словами и следующий синтаксис:
<action-verb>-<Azure-resource>
Например, основываясь на предыдущем примере имени шаблона, вы можете присвоить файлу шаблона имя list-stale-virtual-machines.json.
Отправка шаблона на GitHub
Перейдите на GitHub и войдите в систему со своей учетной записи GitHub.
Перейдите в раздел Репозиторий GitHub шаблонов задач службы автоматизации Azure, который ведет к ветви по умолчанию в репозитории.
В списке ветвей перейдите к вашей рабочей ветви.
Над списком файлов выберите Добавить файл>Отправить файлы.
Либо перетащите файл определения рабочего процесса в указанную область на странице, либо выберите Выбрать файлы.
После добавления шаблона в той же папке откройте файл manifest.json и добавьте запись для < файла template-name>.json.
Тестирование шаблона
Можно использовать любое предпочтительное средство веб-отладки для тестирования шаблона, отправленного в рабочий каталог. Этот пример продолжается для использования Fiddler со сценарием, который изменяет веб-запросы. Если вы используете другое средство, используйте эквивалентные шаги и скрипты для своего средства.
В скрипте Fiddler найдите функцию
onBeforeRequest()
и добавьте в функцию следующий код, например:static function OnBeforeRequest(oSession: Session) { if (oSession.url == "raw.githubusercontent.com/azure/automation-task-template/master/templates/manifest.json") { oSession.url = "raw.githubusercontent.com/<GitHub-username>/automation-task-template/<working-branch>/templates/manifest.json"; } if (oSession.url == "raw.githubusercontent.com/azure/automation-task-template/master/templates/<template-name>") { oSession.url = "raw.githubusercontent.com/<GitHub-username>/automation-task-template/<working-branch>/templates/<template-name>"; } {...} }
Этот код получает файлы manifest. json и <template-name>. json из разветвленного репозитория, а не из основного репозитория GitHub Azure.
Итак, исходя из примера, код перенаправления файлов выглядит следующим образом:
static function OnBeforeRequest(oSession: Session) { if (oSession.url == "raw.githubusercontent.com/azure/automation-task-template/master/templates/manifest.json") { oSession.url = "raw.githubusercontent.com/sophowe/automation-task-template/upload-auto-template/templates/manifest.json"; } if (oSession.url == "raw.githubusercontent.com/azure/automation-task-template/master/templates/list-stale-virtual-machines.json") { oSession.url = "raw.githubusercontent.com/sophowe/automation-task-template/upload-auto-template/templates/list-stale-virtual-machines.json"; } {...} }
Перед выполнением теста обязательно закройте все окна браузера и очистите кэш браузера в Fiddler.
Откройте новое окно браузера и войдите на портал Azure.
Откройте ресурс Azure, в котором вы намерены найти задачу автоматизации. Создайте задачу автоматизации с экспортированным шаблоном. Запустите задачу.
Если задача выполняется успешно, продолжите создание запроса на вытягивание из рабочей ветви в ветвь по умолчанию.
Создание запроса на вытягивание
В разделе Фиксация измененийвведите краткое, но описательное название обновления. Дополнительные сведения можно указать в поле "Описание".
Выберите Создать ветвь для этой фиксации и запустить запрос на вытягивание. В командной строке введите имя рабочей ветви, например:
<your-GitHub-alias>-<automation-task-name>-template
Когда будете готовы, выберите Предложить изменения. На следующей странице выберите Create pull request (Создать запрос на вытягивание).
Укажите имя и предоставьте описание запроса на вытягивание. В правом нижнем углу нажмите Создать запрос на вытягивание.
Подождите, пока команда Azure Logic Apps рассмотрит ваш запрос на вытягивание.
Предоставление отзыва
Нам интересно узнать ваше мнение! Чтобы сообщить об ошибках, отправить отзыв или задать вопросы о функциональных возможностях предварительной версии, обратитесь в группу специалистов, ответственных за службу Azure Logic Apps.