建立自動化工作來管理 Azure 資源和監視成本 (預覽)

重要

此功能處於預覽狀態,且受限於 Microsoft Azure 預覽版的補充使用規定

為協助您更輕鬆地管理 Azure 資源,您可以為特定資源或資源群組建立自動化管理工作。 這些工作的數目和可用性會根據資源類型而不同。 例如:

  • 針對 Azure 儲存體帳戶,您可以設定自動化工作,以傳送該儲存體帳戶的每月成本。

  • 針對 Azure 虛擬機器,您可以建立自動化工作,按照預先定義的排程來開啟或關閉該虛擬機器。 具體而言,您可以建立一項工作,每天、每周或每個月自動啟動或停止虛擬機特定次數。 在工作的 [設定] 索引標籤上,將 [間隔] 值設定為次數,並將 [頻率] 值設定為 [日]、[周] 或 [月]。 自動化工作會繼續運作,直到您刪除或停用工作為止。

    例如,您可以建立一個工作,每天自動啟動虛擬機器一次。 在工作的 [設定] 索引標籤上,將 [間隔] 設定為 1,並將 [頻率] 設定為 [日]

您可以從特定的自動化工作範本來建立自動化工作。 下表列出此預覽版中目前支援的資源類型和可用的工作範本:

資源類型 自動化工作範本
所有 Azure 資源 傳送資源的每月成本
Azure 虛擬機器 此外:

- 關閉虛擬機器
- 啟動虛擬機器
- 解除虛擬機器的配置
Azure 儲存體帳戶 此外:

- 刪除舊的 Blob
Azure Cosmos DB 此外,

- 透過電子郵件傳送查詢結果

本文顯示如何完成下列工作:

自動化工作與 Azure 自動化有何不同?

自動化工作比 Azure 自動化更為基本和輕量型。 目前,您只能在 Azure 資源層級建立自動化工作。 在幕後,自動化工作實際上是執行工作流程的邏輯應用程式資源。 此邏輯應用程式工作流程是由多租用戶 Azure Logic Apps 服務所提供。 建立自動化工作之後,您可以在工作流程設計工具中開啟工作來檢視和編輯基礎工作流程。 工作至少完成一次執行之後,即可檢閱執行的狀態、歷程記錄、輸入和輸出。

相較之下,Azure 自動化是一種雲端式自動化和設定服務,在您的 Azure 和非 Azure 環境之間支援一致的管理。 此服務包含可協調程序的程序自動化,而此自動化使用 Runbook、具有變更追蹤和清查的設定管理、更新管理、共用功能和異質功能。 自動化會在部署、作業和解除委任工作負載與資源期間,提供完整的控制權。

定價

當您建立自動化工作時,不會自動開始產生費用。 在下方,自動化工作是由多租用戶 Azure Logic Apps 中所裝載邏輯應用程式資源內的工作流程所提供。 因此,取用定價模型適用於自動化工作。 計量和計費是以基礎邏輯應用程式工作流程中的觸發程序和動作執行為基礎。

不論工作流程成功執行,還是具現化工作流程,執行都會進行計量和計費。 例如,假設您的自動化工作使用可定期對端點進行撥出電話的輪詢觸發程序。 不論引發還是略過觸發程序,都會將此輸出要求計量和計費為執行,而這會影響是否建立工作流程執行個體。

觸發程序和動作會遵循取用方案費率,其差異取決於這些作業是內建還是受控 (Standard 或 Enterprise)。 觸發程序和動作也會進行儲存體交易,而這使用取用方案資料費率

注意

作為每月獎勵,取用方案會包括「數千」個免費內建執行。 如需特定資訊,請檢閱取用方案費率

必要條件

  • Azure 帳戶和訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶

  • 您想要管理的 Azure 資源。 本文使用 Azure 儲存體帳戶作為範例。

  • Office 365 帳戶 (如果您想要遵循範例),其會使用 Office 365 Outlook 來傳送電子郵件。

建立自動化工作

  1. Azure 入口網站中,尋找您想要管理的資源。

  2. 在資源導覽功能表的 [自動化] 區段中,選取 [工作 (預覽)]

    Screenshot that shows the Azure portal and storage account resource menu with

  3. 在 [工作] 窗格上,選取 [新增工作] 以選取工作範本。

    Screenshot that shows the

  4. 在 [新增工作] 窗格的 [選取範本] 下,於您想要用來建立複寫工作的範本中,選取 [選取]。 如果下一頁未出現,則請選取 [下一步: 驗證]

    此範例會繼續選取 [傳送資源的每月成本] 工作範本。

    Screenshot that shows the

  5. 在 [驗證] 的 [連線] 區段中,針對工作中顯示的每個連線選取 [建立],以為所有連線提供驗證認證。 每個工作中的連線類型都會根據工作而不同。

    此範例只會顯示這項工作所需的其中一個連線。

    Screenshot that shows the selected

  6. 系統提示您時,請使用 Azure 帳戶認證進行登入。

    Screenshot that shows the selection,

    每個成功驗證的連線看起來都與下列範例類似:

    Screenshot that shows successfully created connection.

  7. 驗證所有連線之後,如果未顯示下一頁,則請選取 [下一步: 設定]

  8. 在 [設定] 下,提供工作的名稱,以及工作所需的任何其他資訊。 當您完成時,選取 [檢閱 + 建立]

    注意

    工作名稱在建立之後就無法變更,因此,請考慮使用您在編輯基礎工作流程時仍然適用的名稱。 您對基礎工作流程所做的變更僅適用於您建立的工作,而不是工作範本。

    例如,如果您將工作命名為 SendMonthlyCost,但稍後將基礎工作流程編輯成每週執行,則無法將工作的名稱變更為 SendWeeklyCost

    可傳送電子郵件通知的工作需要電子郵件地址。

    Screenshot that shows the required information for the selected task.

    您建立的工作 (會自動啟動並執行) 現在會出現在 [工作] 清單中。

    Screenshot that shows the automation tasks list

    提示

    如果工作未立即出現,則請嘗試重新整理工作清單,或在重新整理之前稍候一下。 在工具列上,選取 [重新整理]

    在選取的工作執行之後,您會收到與下列範例類似的電子郵件:

    Screenshot that shows email notification sent by task.

檢閱工作歷程記錄

若要檢視工作的執行歷程記錄以及其狀態、輸入、輸出和其他資訊,請遵循下列步驟:

  1. Azure 入口網站中,尋找資源,而此資源具有您想要檢閱的工作歷程記錄。

  2. 在資源功能表的 [設定] 下,於 [自動化] 區段中,選取 [工作 (預覽)]

  3. 在工作清單中,尋找您想要檢閱的工作。 在該工作的 [執行] 資料行中,選取 [檢視]

    Screenshot that shows a task and the selected

    [執行歷程記錄] 窗格會顯示工作的所有執行,以及其狀態、開始時間、識別碼和執行持續時間。

    Screenshot that shows a task's runs, their statuses, and other information.

    以下是執行的可能狀態:

    狀態 描述
    已取消 工作已在執行時取消。
    失敗 工作至少有一個失敗的動作,但沒有後續動作可以處理失敗。
    執行中 工作目前執行中。
    已成功 所有動作都已成功。 如果動作失敗,則工作仍然可以順利完成,但有後續動作可以處理失敗。
    等待 執行尚未開始但已暫停,因為工作先前的執行個體仍在執行中。

    如需詳細資訊,請參閱檢閱監視檢視中的執行歷程記錄

  4. 若要檢視一個執行中每個步驟的狀態和其他資訊,請選取該執行。

    [邏輯應用程式執行] 窗格隨即開啟,並顯示已執行的基礎工作流程。

    • 工作流程一律由觸發程序開始。 針對此工作,工作流程會由定期觸發程序開始。

    • 每個步驟都會顯示其狀態和執行持續時間。 持續時間為 0 秒的步驟,表示其執行時間少於 1 秒。

    Screenshot that shows each step in the run, status, and run duration.

  5. 若要檢閱每個步驟的輸入和輸出,請選取步驟,而此步驟會展開。

    此範例顯示定期觸發程序的輸入,而沒有輸出,因為觸發程序只指定何時執行工作流程,並未提供可供後續動作處理的輸出。

    Screenshot that shows the expanded trigger and inputs.

    相反地,[傳送電子郵件] 動作具有工作流程中稍早動作的輸入和輸出。

    Screenshot that shows an expanded action, inputs, and outputs.

若要了解如何建置您自己的自動化工作流程,以在 Azure 資源的自動化工作之外整合應用程式、資料、服務和系統,請參閱快速入門:建立範例使用量邏輯應用程式工作流程 - Azure 入口網站

編輯工作

若要變更工作,您有下列選項:

內嵌編輯工作

  1. Azure 入口網站中,尋找資源,而此資源具有您想要更新的工作。

  2. 在資源導覽功能表的 [自動化] 區段中,選取 [工作 (預覽)]

  3. 在工作清單中,尋找您要更新的工作。 開啟工作的省略符號 (...) 功能表,然後選取 [內嵌編輯]

    Screenshot that shows the opened ellipses menu and the selected option,

    預設會出現 [驗證] 索引標籤,並顯示現有的連線。

  4. 若要為連線新增驗證認證或選取不同的現有驗證認證,請開啟連線的省略符號 (...) 功能表,然後選取 [新增連線],或不同的驗證認證 (如果有的話)。

    Screenshot that shows the Authentication tab, existing connections, and the selected ellipses menu.

  5. 若要更新其他工作屬性,請選取 [下一步: 設定]

    針對此範例中的工作,唯一可供編輯的屬性是電子郵件地址。

    Screenshot that shows the

  6. 完成時,選取儲存

編輯工作的基礎工作流程

當您變更自動化工作的基礎工作流程時,您的變更只會影響您已建立的工作執行個體,而不是可建立工作的範本。 在您進行並儲存變更之後,您為原始工作所提供的名稱可能無法再精確地描述工作,因此您可能必須以不同的名稱來重新建立工作。

提示

最佳做法是複製基礎工作流程,以改為編輯所複製的版本。 如此一來,您可以對複本進行和測試變更,同時原始自動化工作繼續運作並執行,而不會造成中斷現有功能的風險。 完成變更並滿意新版本成功執行之後,您可以停用或刪除原始自動化工作,並使用所複製的自動化工作版本。 下列步驟包括如何複製工作流程的相關資訊。

  1. Azure 入口網站中,尋找資源,而此資源具有您想要更新的工作。

  2. 在資源導覽功能表的 [自動化] 區段中,選取 [工作]

  3. 在工作清單中,尋找您要更新的工作。 開啟工作的省略號 (...) 功能表,然後選取 [在 Logic Apps 中開啟]

    Screenshot that shows the opened ellipses menu and the selected option,

    工作的基礎工作流程會在 Azure Logic Apps 服務中開啟,並顯示 [概觀] 窗格,而您可以在其中檢視工作可用的相同執行歷程記錄。

    Screenshot that shows the task in Azure Logic Apps view with Overview pane selected.

  4. 若要在設計工具中開啟基礎工作流程,請在邏輯應用程式導覽功能表上,選取 [邏輯應用程式設計工具]

    Screenshot that shows the

    您現在可以編輯工作流程的觸發程序和動作屬性,以及編輯可定義工作流程本身的觸發程序和動作。 不過,最佳做法是遵循步驟來複製工作流程,以對複本進行變更,同時原始工作流程繼續運作和執行。

  5. 若要複製工作流程並改為編輯所複製的版本,請遵循下列步驟:

    1. 在邏輯應用程式工作流程功能表上,選取 [概觀]

    2. 在概觀窗格的工具列上,選取 [複製]

    3. 在邏輯應用程式建立窗格的 [名稱] 下,輸入所複製邏輯應用程式工作流程的新名稱。

      除了 [邏輯應用程式狀態] 之外,其他屬性都無法進行編輯。

    4. 在 [邏輯應用程式狀態] 下,選取 [已停用],以讓所複製的工作流程不要在您進行變更時執行。 您可以在準備好測試變更時啟用工作流程。

    5. 在 Azure 完成佈建所複製的工作流程之後,請在設計工具中尋找並開啟該工作流程。

  6. 若要檢視觸發程序或動作的屬性,請展開該觸發程序或動作。

    例如,您可以將定期觸發程序變更為每週執行,而不是每月執行。

    Screenshot that shows the expanded Recurrence trigger with the Frequency list open to show available frequency options.

    如需定期觸發程序的詳細資訊,請參閱使用定期觸發程序來建立、排程及執行週期性工作和工作流程

  7. 若要儲存變更,請在設計工具的工具列上選取 [儲存]

    Screenshot that shows the designer toolbar and the selected

  8. 若要測試並執行更新過的工作流程,請在設計工具的工具列上選取 [執行]

    執行完成之後,設計工具會顯示工作流程的執行詳細資料。

    Screenshot that shows the workflow's run details on the designer.

  9. 若要停用工作流程,讓工作無法繼續執行,請參閱在 Azure 入口網站中管理邏輯應用程式

從工作流程建立自動化工作範本

您可以使用以週期性或事件型觸發程序開始的任何取用邏輯應用程式工作流程,來建立自己的自動化工作範本,但不能使用 HTTP 型觸發程序或 HTTP 型 Webhook 觸發程序。 針對此工作,您將需要下列項目:

若要建立範本並讓範本可用於 Azure,以下是高階步驟:

  1. 匯出工作流程至自動化工作範本。
  2. 上傳範本至派生存放庫中的工作分支。
  3. 使用 Web 偵錯工具或 Fiddler 來測試您的範本
  4. 針對 Azure 自動化工作範本 GitHub 存放庫中的預設分支,為工作分支建立提取要求 (PR)

在 Azure Logic Apps 小組檢閱並核准您的 PR 以合併至預設分支之後,您的範本會啟動並可供所有 Azure 客戶使用。

將工作流程匯出至自動化工作範本

  1. Azure 入口網站中,開啟您要匯出的邏輯應用程式工作流程。 請確定工作流程是以週期性或事件型觸發程序開始,而不是 HTTP 型觸發程序或 HTTP 型 Webhook 觸發程序。

  2. 在邏輯應用程式資源功能表上,選取 [概觀]

  3. 在 [概觀] 窗格工具列上,選取 [匯出] > [匯出至自動化工作]

    Screenshot showing the 'Overview' pane toolbar with 'Export' menu open and 'Export to Automation Task' selected.

  4. 在開啟的 [匯出至自動化工作] 窗格中,提供下列資訊:

    屬性 必填 Description
    範本名稱 Yes <template-name> 自動化工作範本的易記顯示名稱。

    重要事項:請確定您使用簡潔且容易了解的名稱,例如 List stale virtual machines

    範本描述 Yes <template-description> 範本工作或用途的描述
    支援的資源類型 No 空白或 <supported-Azure-resource-type-list> 您想要將範本設為可用的第一級 Azure 資源類型。 目前不支援子資源類型。 若要包括所有第一級 Azure 資源類型,請將此屬性空白。 若要指定多個資源類型,請以逗號區隔每個名稱,並使用下列語法:

    Microsoft.<service-provider>/<entity>

    例如,若要將範本設為可供 Azure 資源群組使用,請指定 Microsoft.Resources/resourceGroups。 如需詳細資訊,請檢閱 Azure 服務的資源提供者

    不支援的資源類型 No 空白或 <unsupported-Azure-resource-type-list> 如果有的話,會是您特別不想將範本設為可用的 Azure 資源類型。 若要指定多個資源類型,請以逗號區隔每個名稱,並使用下列語法:

    Microsoft.<service-provider>/<entity>

    例如,若要將範本設為不可供 Azure 資源群組使用,請指定 Microsoft.Resources/resourceGroups。 如需詳細資訊,請檢閱 Azure 服務的資源提供者

    設定參數 No 不定 如果您的工作流程包括跨環境參數定義,則這些參數會出現在本節中,以讓您進一步進行設定。 您可以選取是從資源還是工作建立者來提供每個參數值。

    - 如果您選取 [從資源],則請選取要從該資源使用的 [來源參數] 屬性值:

    -- 資源名稱
    -- 資源類型
    -- 資源識別碼
    -- 訂用帳戶識別碼
    -- 資源群組
    -- 資源位置

    - 如果您選取 [使用者提供],則請選取 [範本] 格式,以決定工作建立者如何提供參數值:

    -- 預設值:參數值是間隔、頻率或時區以外的任何值。

    ---- 指定參數的顯示名稱、預設值和描述。

    ---- 如果值為時間戳記 (hh:mm:ss),則請將 [格式] 屬性設定為 [時間格式]

    ---- 若要將參數標示為必要,請將 [選用] 變更為 [必要]

    -- 間隔:參數值是間隔,例如 112

    -- 頻率:參數值是頻率,例如 HourDayMonth

    -- 時區:參數值是時區,例如 (UTC-08:00) Pacific Time (US & Canada)

    下列範例顯示僅適用於 Azure 資源群組的範例自動化工作範本屬性:

    Screenshot showing the 'Export to Automation Task' pane with example properties for an automation task template.

    在此範例中,工作的基礎工作流程包括下列參數定義,並指定由工作建立者提供這些參數值:

    參數 描述
    emailAddress 指定要傳送報表的電子郵件地址。 此參數使用 Default 範本,而此範本可讓您指定參數的資訊、預期的格式,以及參數是否為選用。 在此範例參數中,預期的格式為 None,而參數為 Required
    numberOf 指定虛擬機器可保持閒置的時間單位數目上限。 此參數使用 Default 範本。
    timeUnit 指定要用於參數值的時間單位。 此參數使用 Frequency 範本,而此範本顯示工作建立者可選取的時間單位,例如 HourDayMonth
  5. 完成時,請選取 [下載範本],然後使用 .json 副檔名來儲存範本。 針對一致的範本名稱,請只使用小寫、單字之間的連字號,以及下列語法:

    <action-verb>-<Azure-resource>

    例如,根據稍早的範例範本名稱,您可能會將範本檔案命名為 list-stale-virtual-machines.json

將範本上傳至 GitHub

  1. 移至 GitHub,並使用 GitHub 帳戶登入。

  2. 移至 Azure 自動化工作範本 GitHub 存放庫,這會帶您前往存放庫中的預設分支。

  3. 從分支清單中,切換至您的工作分支。

  4. 在檔案清單上方,選取 [新增檔案] > [上傳檔案]

  5. 將您的工作流程定義檔案拖曳至頁面上的指定區域,或選取 [選擇您的檔案]

  6. 新增範本之後,請在相同的資料夾中開啟 manifest.json 檔案,然後新增 <template-name>.json 檔案的項目。

測試您的範本

您可以使用慣用的 Web 偵錯工具來測試您已上傳至工作目錄的範本。 此範例會繼續搭配使用 Fiddler 與可修改 Web 要求的指令碼。 如果您使用不同的工具,則請使用您工具的對等步驟和指令碼。

  1. 在 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 檔案,而不是從主要 Azure GitHub 存放庫取得。

    因此,根據範例,檔案重新導向程式碼看起來會像下列版本:

    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";
       }
    
       {...}
    }
    
  2. 執行測試之前,請務必關閉所有瀏覽器視窗,並在 Fiddler 中清除瀏覽器快取。

  3. 開啟新的瀏覽器視窗,並登入 Azure 入口網站

  4. 開啟您預期要尋找自動化工作的 Azure 資源。 使用所匯出的範本來建立自動化工作。 執行工作。

如果工作成功執行,則請繼續建立從工作分支到預設分支的提取要求。

建立提取要求

  1. 在 [認可變更] 下,輸入您更新的簡潔但具描述性的標題。 您可以在描述方塊中提供詳細資訊。

  2. 選取 [為此認可建立新的分支,並啟動提取要求]。 在提示字元中,提供工作分支的名稱,例如:

    <your-GitHub-alias>-<automation-task-name>-template

  3. 當您準備就緒時,請選取 [建議變更]。 在下一個頁面上,選取 [建立提取要求]

  4. 提供提取要求的名稱和描述。 選取右下角的 [建立提取要求]

  5. 等候 Azure Logic Apps 小組檢閱您的提取要求。

提供意見反應

希望能夠聽到您的意見! 若要回報 錯誤 (Bug)、提供意見反應或詢問此預覽功能問題,請連絡 Azure Logic Apps 小組

下一步