共用方式為


在 Azure DevTest Labs 中設定共用映像庫

DevTest Labs 支援使用 Azure 計算資源庫儲存和共用映像。 共用映像庫可讓您輕鬆地維護大量的受控映像,並使其廣泛可用。 它也是為您的使用者提供目前軟體的標準化影像的絕佳方式。 支援特製化和一般化映像。 藉由使用共用映像庫,您可以建置自定義受控虛擬機 (VM) 映射的結構和組織。

本文說明如何將共用映像庫附加至您的實驗室。 用戶可以在建立實驗室 VM 時,從共用位置存取映像。 這種方法的主要優點是 DevTest Labs 可讓您跨實驗室、跨訂用帳戶和跨區域共用 VM 映射。

探索共用映像庫

搭配 DevTest Labs 使用共用映像庫的一些優點包括:

  • 管理映像的全域複寫
  • 套用映像的版本設定和群組,以方便管理
  • 在支援可用性區域的區域中,使用區域備援記憶體 (ZRS) 帳戶存取高可用性映射,以針對區域性失敗提供更好的復原能力
  • 使用角色型訪問控制在訂用帳戶之間和租用戶之間共用映像

使用共享資源庫時,請記住下列考慮:

  • 您一次只能將一個共用映像庫附加至實驗室。 若要附加不同的資源庫,您必須先卸離目前的資源庫。
  • 您只能透過 DevTest Labs 從連結庫選取映像。 您無法透過 DevTest Labs 上傳影像或變更資源庫中的影像。
  • 當您從共用映像建立 VM 時,DevTest Labs 會在鏈接的資源庫中使用最新發佈的映射版本。 如果映射有多個版本,您可以在 VM 建立期間,於 [進階設定] 下選擇舊版。
  • DevTest Labs 會嘗試將連結庫中的所有映像復寫至實驗室區域。 有時候,無法進行復寫。 若要避免從映像建立 VM 時發生問題的使用者,請確定連結庫中的映射完全復寫到實驗室區域。

若要瞭解使用共用映像庫相關聯的成本,請參閱 Azure 計算資源庫的計費。

請遵循下列步驟,將共用映像庫附加至您的 DevTest Labs 資源:

  1. Azure 入口網站 中,移至您想要連結共用映像庫的 DevTest Labs 資源。

  2. 在您實驗室的 [概觀] 頁面上,展開左側功能表中的 [設定] 區段,然後選取 [設定與原則]

  3. 在 [ 設定和原則] 畫面上,展開 左側功能表中的 [虛擬機基底 ] 區段,然後選取 [ 共用映射庫]:

    顯示如何為 DevTest Labs 資源選取共用映像庫的 [附加] 選項的螢幕快照。

  4. 選取 [附加 ] 以將現有的共用映射庫新增至實驗室。

  5. 在 [ 附加現有的資源庫 ] 下拉式清單中,選取要新增至實驗室的共用映射庫,然後選取 [ 確定]:

    顯示如何將共用映像庫附加至實驗室的螢幕快照。

  6. 在 DevTest Labs 將資源庫附加至實驗室之後,您可以選取資源庫名稱以查看映像的完整清單:

    顯示如何查看實驗室連結共用資源庫中所有影像清單的螢幕快照。

    [ 共用影像 ] 頁面隨即開啟:

    共用資源庫中映射清單的螢幕快照,其中包含複選框指標,以顯示允許建立 VM 的映射。

控制可用的影像

[允許所有映射做為虛擬機基底] 選項可讓您控制實驗室用戶可在建立實驗室 VM 時使用的映射。 根據預設,此選項會設定為 [是],而實驗室使用者可以存取連結庫中的所有影像。

請遵循下列步驟來限制資源庫中影像的存取:

  1. 在實驗室的 [設定和原則] 頁面上,移至 [虛擬機基底>共用映射庫] 畫面。

  2. 選取連結庫名稱以開啟 [共用映射 ] 頁面,其中顯示影像清單。

  3. 在 [ 共用映射 ] 頁面上,將 [ 允許所有映射做為虛擬機基底 ] 選項設定為 [否]。

  4. 針對您想要讓 實驗室用戶無法使用 的任何映像,請取消選取影像的複選框。

  5. 選取儲存

將共用映像庫連結至實驗室之後,實驗室用戶可以在建立新的 VM 時,從允許的映像中選擇:

  1. 在實驗室的 [設定和原則] 頁面上,移至 [虛擬機基底>共用映射庫] 畫面。

  2. 選取連結庫名稱以開啟 [共用映射 ] 頁面,其中顯示影像清單。

  3. 記下您要用來建立新 VM 之資源庫映像的名稱。

  4. 返回實驗室 [概觀] 頁面,然後選取 [ 新增]。

  5. 在 [ 選擇基底 ] 頁面上,選取您要用來建立新 VM 的資源庫映射。 在映射清單中,來自鏈接共用映像庫的允許映像會遵循 Azure Resource Manager (ARM) 範本提供的映射:

    顯示 VM 實例可用映射清單的螢幕快照,包括來自連結共用映射庫的允許映像。

請遵循步驟,從選取的映像建立 VM。

實驗室一次只能有一個連結的共用映像庫。 如果您的實驗室有連結庫,而且您想要使用不同的資源庫,您必須先中斷連結現有的資源庫。 卸離現有的資源庫之後,您可以連結不同的資源庫。

  1. 在實驗室的 [設定和原則] 頁面上,移至 [虛擬機基底>共用映射庫] 畫面。

  2. 選取 附加資源庫的 [更多選項 ],然後選取 [ 中斷連結]:

    顯示如何從實驗室中斷連結目前共用映像庫的螢幕快照。

連結庫的 [共用映射] 頁面上也提供 [卸離] 選項。

您可以使用ARM樣本將共用映像庫附加至實驗室。 您需要將資源庫新增為 ARM 樣本的資源,如下列範例所示:

"resources": [
{
    "apiVersion": "2018-10-15-preview",
    "type": "Microsoft.DevTestLab/labs",
    "name": "mylab",
    "location": "eastus",
    "resources": [
    {
        "apiVersion":"2018-10-15-preview",
        "name":"myGallery",
        "type":"sharedGalleries",
        "properties": {
            "galleryId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
            "allowAllImages": "Enabled"
        }
    }
    ]
}

DevTest Labs GitHub 存放庫提供使用ARM樣本連結共用映像庫的完整範例。 若要開始使用,您可以在 建立新的實驗室時設定共用映像庫。

使用 REST API

下列各節提供如何使用 REST API 來處理共用映像庫影像的範例。

取得實驗室清單

下列 GET 呼叫會傳回訂用帳戶的 DevTest Labs 資源清單。 在此範例中,您會提供下列參數:

  • subscriptionId:要為其傳回 DevTest Labs 資源的訂用帳戶標識碼。
  • resourceGroupName:要搜尋 DevTest Labs 資源的資源群組名稱。
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs?api-version= 2018-10-15-preview

取得實驗室的共用映像庫清單

下列 GET 呼叫會傳回與實驗室相關聯的共用映像庫清單。 在此範例中,您會提供下列參數:

  • subscriptionId:D evTest Labs 資源的訂用帳戶標識碼。
  • resourceGroupName:D evTest Labs 資源的資源群組名稱。
  • labName:要為其傳回相關聯共用映射庫清單的DevTest Labs 資源名稱。
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries?api-version= 2018-10-15-preview

下列PUT呼叫會建立或更新指定實驗室的共用映像庫。 在此範例中,您會提供下列參數:

  • subscriptionId:D evTest Labs 資源的訂用帳戶標識碼。
  • resourceGroupName:D evTest Labs 資源的資源群組名稱。
  • labName:D evTest Labs 資源的名稱。
  • name:要為實驗室建立或更新的共用資源庫名稱。
  • galleryId:要為實驗室建立或更新之共用資源庫的標識符。
  • allowAllImages:設定為 Enabled ,以允許資源庫中的所有影像與實驗室資源搭配使用。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}?api-version=2018-10-15-preview
Body: 
{
    "properties":{
        "galleryId": "[Shared Image Gallery resource Id]",
        "allowAllImages": "Enabled"
    }
}

下列 GET 呼叫會傳回實驗室所指定共用映像庫中的映射清單。 在此範例中,您會提供下列參數:

  • subscriptionId:D evTest Labs 資源的訂用帳戶標識碼。
  • resourceGroupName:D evTest Labs 資源的資源群組名稱。
  • labName:D evTest Labs 資源的名稱。
  • name:與您要列出影像之實驗室相關聯的共用資源庫名稱。
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}/sharedimages?api-version=2018-10-15-preview