Share via


在 DevTest Labs 中設定實驗室和 VM 的自動關機

身為 Azure DevTest Labs 實驗室擁有者,您可以設定排程,在白天或晚上的特定時間關閉實驗室中的所有虛擬機器 (VM)。 您可以此節省未使用的機器的執行成本。

您也可以設定中央自動關機原則,以控制實驗室使用者是否可以為自己的個別 VM 排程自動關機。 自動關機原則的範圍可從允許 VM 擁有者完全控制其 VM 的關機排程,到使其無法控制排程。

本文說明如何設定 DevTest Labs 實驗室和個別實驗室 VM 的自動關機排程。 本文也說明如何設定實驗室自動關機原則,以及如何設定自動關機通知。

設定實驗室自動關機排程

自動關機會在白天或晚上特定的時間,關閉實驗室中的所有 VM,協助將實驗室的浪費降到最低。 若要檢視或變更實驗室的自動關機排程,請遵循下列步驟:

  1. 在實驗室首頁上,選取 [設定與原則]

  2. 左側功能表的 [排程] 區段中選取 [自動關機]

  3. 在 [自動關機] 畫面上,針對 [已啟用] 選取 [開啟] 來啟用自動關機或 [關閉] 將其停用。

  4. 針對 [排程關機] 和 [時區],如果您啟用自動關機,請指定關閉所有實驗室 VM 的時間和時區。

  5. 對於 [自動關機前傳送通知?],請針對指定的自動關機時間 30 分鐘前,選取傳送通知選項的 [是] 或 [否]

    • 如果您選擇 [是],請在 [Webhook URL] 下,輸入 Webhook URL 端點,或者在您要張貼或傳送通知的 [電子郵件地址] 下,輸入分號分隔的電子郵件地址。 如需詳細資訊,請參閱自動關機通知一節。

    Screenshot showing setting auto shutdown details for a lab.

  6. 選取 [儲存]。

依預設,此排程適用於實驗室中的所有 VM。 若要從特定的 VM 移除這項設定,如原則允許,請開啟 VM 的管理窗格並變更其 [自動關機] 設定。

注意

如果您在先前排程關機時間的 30 分鐘內更新實驗室或 VM 的自動關機排程,則新的關機時間將於隔天生效。

設定實驗室自動關機原則

身為實驗室擁有者,您可以管理實驗室的自動關機原則設定,以控制成本並將浪費降到最低。 若要了解如何設定每個實驗室原則,請參閱在 Azure DevTest Labs 中定義實驗室原則

重要

自動關機原則變更僅適用於實驗室中新建的 VM,不適用於已經存在的 VM。

  1. 在實驗室首頁上,選取 [設定與原則]

  2. 在左側功能表的 [排程] 區段中選取 [自動關機原則]

  3. 選取其中一個選項。

    Screenshot showing setting auto shutdown policy options.

    • 使用者可設定排程,且可退出:實驗室使用者可以覆寫或退出實驗室排程。 此選項會將完整控制權授與 VM 擁有者,以設定其 VM 的自動關機排程。

    • 使用者可設定排程,但無法退出:實驗室使用者可以覆寫實驗室排程,但無法退出自動關機原則。 此選項可確保每個實驗室 VM 都依循自動關機排程。 VM 擁有者可以更新排程時間,並設定關機通知。

    • 使用者無法控制實驗室管理員所設定的排程:實驗室使用者無法改變或退出實驗室自動關機排程。 此選項可讓實驗室管理員完整控制所有實驗室 VM 的排程。 VM 擁有者仍然可以設定其 VM 的自動關機通知。

  4. 選取 [儲存]。

設定 VM 自動關機設定

根據自動關機原則,您也可以為個別實驗室 VM 設定自動關機排程。

  1. 在 VM 首頁上,左側功能表的 [作業] 區段中,選取 [自動關機]

  2. 在 [自動關機] 畫面上,針對 [已啟用] 選取 [開啟] 來啟用自動關機或 [關閉] 將其停用。

  3. 針對 [排程關機] 和 [時區],如果您啟用自動關機,請指定關閉所有實驗室 VM 的時間和時區。

  4. 對於 [自動關機前傳送通知?],請針對指定的自動關機時間 30 分鐘前,選取傳送通知選項的 [是] 或 [否]。 如果您選擇 [是],請在 [Webhook URL] 下,輸入 Webhook URL 端點,或者在您要張貼或傳送通知的 [電子郵件地址] 下,輸入電子郵件地址。 如需詳細資訊,請參閱自動關機通知一節。

  5. 選取 [儲存]。

    Screenshot showing setting auto shutdown details for a virtual machine.

檢視自動關機更新的活動記錄

更新自動關機設定之後,您可以看到記錄在 VM 活動記錄檔中的活動。

  1. 在 VM 的首頁上,從左側功能表中選取 [活動記錄]

  2. 移除 [資源] 篩選器、套用適當的 [資源群組] 篩選,然後檢視 [新增或修改排程] 的項目。

    Screenshot showing Add or modify schedules in the Activity log.

  3. 選取 [新增或修改排程] 作業來開啟摘要頁面,以顯示作業的詳細資料。

自動關機通知

當您在自動關機設定中啟用通知時,實驗室使用者會在自動關機影響其任何 VM 之前 30 分鐘收到通知。 通知可讓使用者有機會在關機之前儲存其工作。 如果自動關機設定已指定電子郵件地址,通知會傳送至該電子郵件地址。 如果設定指定為 Webhook,則通知會傳送至 Webhook URL。

如果有人需要繼續使用,通知也可以提供連結,允許每個 VM 執行下列動作:

  • 此次略過自動關機。
  • 延遲自動關機一小時。
  • 延遲自動關機 2 小時。

您可以使用 Webhook 來實作自己的通知。 您可以設定訂閱特定事件的整合。 當其中一個事件發生時,HTTP POST 承載會傳送至 Webhook 的 URL。

Azure Logic Apps 和 Slack 等應用程式對 Webhook 有廣泛的支援。 如需回應 Webhook 的詳細資訊,請參閱 Azure Functions HTTP 觸發程式和系結概觀新增適用於 Azure Logic Apps 的 HTTP 觸發程式

下列範例示範如何使用邏輯應用程式來設定自動關機通知,將電子郵件傳送給 VM 擁有者。

建立傳送電子郵件通知的邏輯應用程式

邏輯應用程式提供許多連接器,可讓您輕鬆地將服務與其他用戶端整合,例如 Office 365 和 Twitter。 概括而言,設定邏輯應用程式的電子郵件通知步驟如下:

  1. 建立邏輯應用程式。
  2. 設定內建範本。
  3. 與您的電子郵件用戶端整合。
  4. 取得要用於自動關機通知設定的 Webhook URL。

若要開始使用,請透過下列步驟在 Azure 中建立邏輯應用程式:

  1. 在Azure 入口網站中,將邏輯應用程式輸入到頂端的 [搜尋] 欄位中,然後選取 [邏輯應用程式]

  2. 在 [邏輯應用程式] 頂端上,選取 [新增]

  3. 在 [建立邏輯應用程式] 頁面上:

    名稱
    訂用帳戶 選取您的 Azure [訂用帳戶]。
    資源群組 選取資源群組或建立新的資源群組。
    邏輯應用程式名稱 輸入邏輯應用程式的描述性名稱。
    發佈 工作流程
    區域 選取您附近或靠近您的邏輯應用程式存取的其他服務的區域。
    方案類型 使用量。 取用方案可讓您使用邏輯應用程式設計工具來建立您的應用程式。
    Windows 方案 接受預設的 App Service 方案 (ASP)。
    定價方案 接受預設的工作流程標準 WS1 (ACU 總共 210,3.5 GB 記憶體,1 個 vCPU)
    區域備援 接受預設值:已停用。

    Screenshot showing the Create Logic App page.

  4. 選取 [檢閱 + 建立],並在驗證通過時選取 [建立]

  5. 部署結束時,請選取 [移至資源]

接下來請設定內建範本。

  1. 在 [邏輯應用程式] 頁面上,選取左側導覽中 [部署工具] 下方的 [邏輯應用程式設計工具]

  2. 選取頂端功能表的 [範本]

  3. 在 [範本] 下方,選取 [HTTP 要求/回應]

    Screenshot showing the HTTP Request Response template.

  4. 在 [HTTP 要求回應] 頁面上,選取 [使用此範本]

    Screenshot showing selecting Use this template.

  5. 將下列 JSON 程式碼貼到 [要求本文 JSON 結構描述] 區段中。

    Screenshot showing the Request Body JSON Schema in the designer.

    {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "properties": {
            "delayUrl120": {
                "type": "string"
            },
            "delayUrl60": {
                "type": "string"
            },
            "eventType": {
                "type": "string"
            },
            "guid": {
                "type": "string"
            },
            "labName": {
                "type": "string"
            },
            "owner": {
                "type": "string"
            },
            "resourceGroupName": {
                "type": "string"
            },
            "skipUrl": {
                "type": "string"
            },
            "subscriptionId": {
                "type": "string"
            },
            "text": {
                "type": "string"
            },
            "vmName": {
                "type": "string"
            },
            "vmUrl": {
                "type": "string"
            },
            "minutesUntilShutdown": {
                "type": "string"
            }
        },
        "required": [
            "skipUrl",
            "delayUrl60",
            "delayUrl120",
            "vmName",
            "guid",
            "owner",
            "eventType",
            "text",
            "subscriptionId",
            "resourceGroupName",
            "labName",
            "vmUrl",
            "minutesUntilShutdown"
        ],
        "type": "object"
    }
    

現與您的電子郵件用戶端整合。

  1. 在設計工具中,選取 [新增步驟]

    Screenshot showing New step in the designer.

  2. 在 [選擇作業] 頁面上,在 [搜尋] 欄位中輸入 Office 365 Outlook - 傳送電子郵件,然後從 [動作] 選取 [傳送電子郵件 (V2) ]

    Screenshot showing the Send an email V2 option.

  3. 在 [傳送電子郵件 (V2)] 表單中,填寫 [收件者]、[主旨] 和 [本文] 欄位。

    選取 [新增動態內容] 以自動填入應用程式與連接器所使用的值通知。 例如,針對 [收件者],選取 [擁有者]。 使用 vmNamelabName 填入 [主旨]。 將 skipUrldelayUrl 的值內容新增至訊息本文。

    Screenshot showing shows an example notification email.

  4. 在工具列上選取 [儲存]

  5. 現在您可以複製 Webhook URL。

    1. 選取 [收到 HTTP 要求時] 步驟,然後選取複製按鈕,將 HTTP POST URL 複製到剪貼簿。

      Screenshot showing copying the webhook URL.

    2. 將此 Webhook URL 貼到自動關機通知設定中。

      Screenshot showing pasting the webhook URL into the auto-shutdown settings.

    3. 選取 [儲存]。

下一步