在 Azure Compute Gallery 中儲存和共用資源

適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集

Azure Compute Gallery 協助您建立 Azure 資源的結構和組織,例如映像和應用程式。 Azure Compute Gallery 提供:

  • 全域複寫。1
  • 資源的版本設定和分組,以更輕鬆管理。
  • 在支援可用性區域的區域中,具有區域備援儲存體 (ZRS) 帳戶的高可用性資源。 ZRS 針對區域失敗提供更好的復原能力。
  • 進階儲存體支援 (Premium_LRS)。
  • 與社群、跨訂用帳戶,以及 Active Directory (AD) 租用戶之間共用。
  • 透過每個區域中的資源複本來縮放部署。

透過資源庫,您可以將資源分享給所有人,或將分享限制為組織內的不同使用者、服務主體或 AD 群組。 資源可複寫到多個地區,以更快速擴展您的部署。

1 Azure Compute Gallery 服務不是全域資源。 針對災害復原案例,最佳做法是在不同區域具有至少兩個資源庫。

影像

如需在 Azure Compute Gallery 中儲存映像的詳細資訊,請參閱在 Azure Compute Gallery 中儲存及共用映像

VM 應用程式

雖然您可以使用預先安裝的應用程式來建立 VM 的映像,但每次有應用程式變更時,您都必須更新映像。 將應用程式安裝與 VM 映像分開,表示不需要為每個程式碼變更發佈新的映像。

如需在 Azure Compute Gallery 中儲存應用程式的詳細資訊,請參閱 VM 應用程式

區域支援

所有公用區域都可為目標區域,但在特定區域必須要求客戶通過要求程式,才能取得存取權。 如需要求將訂用帳戶新增至區域的允許清單,例如澳大利亞中部或澳大利亞中部 2,請提交存取要求

限制

每個訂用帳戶在使用 Azure Compute Gallery 部署資源方面都有限制:

  • 每個區域中的每個訂用帳戶有 100 個資源庫
  • 每個區域中的每個訂用帳戶有 1,000 個映像定義
  • 每個區域中的每個訂用帳戶有 10,000 個映像版本
  • 每個映像版本有 100 個複本,但 50 個複本應該足以用於大部分的使用案例
  • 已連結至映像的任何磁碟大小,必須小於或等於 1TB
  • Azure Compute Gallery 資源不支援資源移動

如需詳細資訊,請參閱根據限制檢查資源使用量,取得如何檢查目前使用量的範例。

調整大小

Azure Compute Gallery 可讓您指定要保留的複本數目。 在多個 VM 的部署案例中,VM 部署可以分散到不同複本,減少執行個體建立程序由於單一複本多載而遭到節流的機會。

您可以透過 Azure Compute Gallery,在擴展集中最多部署 1000 個 VM 執行個體。 您可以根據地區的擴展需求,在每個目標地區設定不同的複本。 由於每個複本都是您資源的複本,因此可協助您使用每個額外的複本,以線性方式調整您的部署。 雖然我們瞭解資源或區域各不相同,但是以下是如何在區域中使用複本的一般指導方針:

  • 針對您同時建立的每 20 個 VM,我們建議您保留一個複本。 例如,如果您在區域中使用相同映像同時建立 120 個 VM,建議您至少保留 6 個映像複本。
  • 針對您同時建立的擴展集,我們建議您保留一個複本。

由於資源大小、內容和 OS 類型等因素,我們一律建議超額佈建複本數目。

Graphic showing how you can scale images

高可用性

Azure 區域備援儲存體 (ZRS) 可針對區域中的可用性區域失敗提供復原能力。 Azure Compute Gallery 正式發行後,您即可選擇在具有可用性區域的地區中,將映像儲存在 ZRS 帳戶中。

您也可以選擇每個目標地區的帳戶類型。 預設儲存體帳戶類型為 Standard_LRS,但您針對具有可用性區域的地區可以選擇 Standard_ZRS。 如需 ZRS 區域可用性的詳細資訊,請參閱資料備援

Graphic showing ZRS

複寫

Azure Compute Gallery 也可讓您自動將資源複寫到其他 Azure 區域。 每個映像版本皆可複寫到不同區域,實際情形取決於何者對組織有利。 舉例來說,一律將最新映像複寫到多個區域,而讓所有較舊的映像版本只在 1 個區域中可用。 這有助於節省儲存體成本。

資源複寫到的區域可以在建立之後更新。 複寫到不同地區所需的時間取決於所要複製的資料量,以及要複寫版本的目的地地區數。 在某些情況下,這可能需要幾小時的時間。 在進行複寫時,您可以檢視每個地區的複寫狀態。 一旦在地區中完成映像複寫後,接下來您就可以在地區中使用該映像版本部署 VM 或擴展集。

Graphic showing how you can replicate images

共用

根據您想要共用的對象,在 Azure Compute Gallery 中共用映像有三種主要方式:

共用對象: 人員 群組 Service Principal 特定訂用帳戶 (或) 租使用者中的所有使用者 與 Azure 中的所有使用者全體
RBAC 共用 Yes .是 .是 No
RBAC + 直接共用資源庫 Yes .是 .是 .是 No
RBAC + 社群資源庫 Yes .是 .是 .是

注意

請注意,映像可以在具有讀取權限的情況下,用於部署虛擬機器和磁碟。

使用直接共用資源庫時,映像會廣泛散發給訂用帳戶/租用戶中的所有使用者,社群資源庫則會公開散發映像。 共用包含智慧財產內容的映像時請小心,以避免廣泛散發。

RBAC

由於 Azure Compute Gallery、定義和版本都是資源,因此可以使用內建的原生 Azure 角色型存取控制 (RBAC) 角色來共用這些資源。 使用 Azure RBAC 角色時,您可以與其他使用者、服務主體和群組共用這些資源。 您甚至可以在建立人員的租用戶外部共用人員的存取權。 一旦使用者擁有資源版本的存取權,即可以使用其存取權來部署 VM 或虛擬機器擴展集。 以下共用矩陣可協助您了解使用者有權存取的項目:

與使用者共用 Azure Compute Gallery 映像定義 映像版本
Azure Compute Gallery Yes .是 Yes
映像定義 No .是 Yes

建議您在資源庫層級共用,以獲得最佳體驗。 我們不建議您共用個別的映像版本。 如需 Azure RBAC 的詳細資訊,請參閱指派 Azure 角色

如需詳細資訊,請參閱使用 RBAC 共用

直接共用至租用戶或訂用帳戶

針對直接共用 Azure Compute Gallery,提供特定的訂用帳戶或租用戶存取權。 與租用戶和訂用帳戶共用資源庫之後,租用戶和訂用帳戶會取得資源庫的唯讀權限。 如需詳細資訊,請參閱與訂用帳戶或租用戶共用資源庫

重要

Azure Compute Gallery - 直接共用資源庫目前為「預覽」,並遵守 Azure Compute Gallery 的預覽條款

若要在預覽期間將映像發佈至直接共用資源庫,您必須在 https://aka.ms/directsharedgallery-preview 註冊。 所有 Azure 使用者都可以從直接共用資源庫建立 VM。

在預覽期間,您必須建立新的資源庫,並將屬性 sharingProfile.permissions 設定為 Groups。 使用 CLI 建立資源庫時,請使用 --permissions groups 參數。 您無法使用現有的資源庫,目前無法更新此屬性。

您目前無法從另一個租用戶與您共用的映像,建立彈性虛擬機器擴展集。

限制

在預覽期間:

  • 您只能共用至也在預覽中的訂用帳戶。
  • 您只能與 30 個訂用帳戶和 5 個租用戶共用。
  • 直接共用資源庫不能包含加密的映像版本。 無法在直接共用的資源庫中建立加密映像。
  • 只有訂用帳戶的擁有者,或指派給訂用帳戶或資源庫層級 Compute Gallery Sharing Admin 角色的使用者或服務主體,才能啟用以社群為基礎的共用。
  • 您必須建立新的資源庫,並將屬性 sharingProfile.permissions 設定為 Groups。 使用 CLI 建立資源庫時,請使用 --permissions groups 參數。 您無法使用現有的資源庫,目前無法更新此屬性。

若要與所有 Azure 使用者共用資源庫,可以建立社群資源庫。 社群資源庫可供具有 Azure 訂用帳戶的任何人使用。 建立 VM 的人員可以使用入口網站、REST 或 Azure CLI 來瀏覽與社群共用的映像。

與社群共用映像是 Azure Compute Gallery 中的新功能。 您可以公開映像庫,並與所有 Azure 客戶共用映像庫。 當資源庫標示為社群資源庫時,所有 Azure 客戶皆可以在 Microsoft.Compute/communityGalleries 下使用資源庫下的所有映像作為新的資源類型。 所有 Azure 客戶都可以查看資源庫,並使用這些資源庫來建立 VM。 此類型 Microsoft.Compute/galleries 的原始資源仍在您的訂用帳戶下,並屬於私人。

如需詳細資訊,請參閱使用社群資源庫共用映像

重要

您目前無法從另一個租用戶共用的映像建立彈性虛擬機器擴展集。

活動記錄檔

[活動記錄] 會顯示資源庫、映像或版本上最近的活動,包括任何設定變更,以及建立和刪除時間。 在 Azure 入口網站中檢視活動記錄,或建立診斷設定以傳送至 Log Analytics 工作區,此處可讓您檢視一段時間的事件,或搭配其他收集的資料來分析事件

下表列出一些與活動記錄中資源庫作業相關的範例作業。 如需可能記錄項目的完整清單,請參閱 Microsoft.Compute 資源提供者選項

作業 描述
Microsoft.Compute/galleries/write 建立新的資源庫或更新現有的資源庫
Microsoft.Compute/galleries/delete 刪除資源庫
Microsoft.Compute/galleries/share/action 將資源庫提供給不同的範圍
Microsoft.Compute/galleries/images/read 取得資源庫映像的屬性
Microsoft.Compute/galleries/images/write 建立新的資源庫映像或更新現有的資源庫映像
Microsoft.Compute/galleries/images/versions/read 取得資源庫映像版本的屬性

計費

使用 Azure Compute Gallery 服務無須額外費用。 您需支付下列資源的費用:

  • 儲存每個複本的儲存成本。 針對映像,儲存體成本是以快照集的形式計費,並以映像版本的已佔用大小、複本數目,以及複寫版本的區域數目為基礎。
  • 第一個資源版本從來源區域複寫至要複寫區域的網路輸出費用。 後續複本會在區域內處理,因此不會產生額外費用。

例如,假設您有一個 127 GB OS 磁碟的映像,只佔用10 GB 的儲存空間,還有一個空的 32 GB 資料磁碟。 每個映像的已佔用大小只會是 10 GB。 映像會複寫至 3 個區域,而每個區域都有兩個複本。 總共會有六個快照集,每個都使用 10 GB。 系統會根據 10 GB 的所占大小,向您收取每個快照集的儲存成本。您必須為複製到其他兩個區域的第一個複本支付網路輸出費用。 如需有關每個區域中快照集定價的詳細資訊,請參閱 受控磁碟定價。 如需網路輸出詳細資訊,請參閱 頻寬定價

最佳作法

  • 若要避免意外刪除映像,請在資源庫層級使用資源鎖定。 如需詳細資訊,請參閱使用鎖定保護您的 Azure 資源

  • 請盡可能使用區域備援儲存體以取得高可用性。 建立映像或 VM 應用程式的版本時,可以在 [複寫] 索引標籤中設定區域備援儲存體。 如需哪些區域支援 ZRS 的詳細資訊,請參閱具有可用性區域的 Azure 區域

  • 針對實際執行映像,至少保留 3 個複本。 針對您同時建立的每 20 個 VM,我們建議您保留一個複本。 例如,如果您同時建立 1,000 個 VM,您應該保留 50 個複本 (每個區域最多可以有 50 個複本)。 若要更新複本計數,請前往資源庫 - > 映像定義 - > 映像版本 - > 更新複寫。

  • 維護實際執行與測試映像的個別資源庫,請勿將其放在單一資源庫中。

  • 建立映像定義時,請讓發行者/供應項目/SKU 與 Marketplace 映像保持一致,以輕鬆識別 OS 版本。 例如,如果要從 Marketplace 自訂 Windows Server 2019 映像,並將其儲存為計算資源庫映像,所使用的發行者/供應項目/SKU 必須與在計算資源庫映像中 Marketplace 映像所用的相同。

  • 如果您想要在 VM 或擴展集建立期間排除特定映像版本,請在發佈映像時使用 excludeFromLatest資源庫映像版本 - 建立或更新

    如果您想要排除特定區域中的版本,請使用 regionalExcludeFromLatest 而不是全域 excludeFromLatest。 您可以同時設定全域和區域 excludeFromLatest 旗標,但同時指定兩者時,區域旗標會優先。

    "publishingProfile": {
      "targetRegions": [
        {
          "name": "brazilsouth",
          "regionalReplicaCount": 1,
          "regionalExcludeFromLatest": false,
          "storageAccountType": "Standard_LRS"
        },
        {
          "name": "canadacentral",
          "regionalReplicaCount": 1,
          "regionalExcludeFromLatest": true,
          "storageAccountType": "Standard_LRS"
        }
      ],
      "replicaCount": 1,
      "excludeFromLatest": true,
      "storageAccountType": "Standard_LRS"
    }
    
  • 針對災害復原案例,最佳做法是在不同區域具有至少兩個資源庫。 您仍然可以在其他區域中使用映像版本,但如果資源庫所在的區域停止運作,您就無法建立新的資源庫資源或更新現有的資源。

  • 在映像版本上將 safetyProfile.allowDeletionOfReplicatedLocations 設定為 false,以防止意外刪除複寫的區域,並防止中斷。 您也可以使用 CLI allow-replicated-location-deletion 來進行設定

{ 
  "properties": { 
    "publishingProfile": { 
      "targetRegions": [ 
        { 
          "name": "West US", 
          "regionalReplicaCount": 1, 
          "storageAccountType": "Standard_LRS", 
          // encryption info         
        }
      ], 
      "replicaCount": 1, 
      "publishedDate": "2018-01-01T00:00:00Z", 
      "storageAccountType": "Standard_LRS" 
    }, 
    "storageProfile": { 
      "source": { 
        "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" 
      }, 
    }, 
   “safetyProfile”: { 
      “allowDeletionOfReplicatedLocations” : false 
    }, 
  }, 
  "location": "West US", 
  "name": "1.0.0" 
} 

SDK 支援

下列 SDK 支援建立 Azure Compute Gallery:

範本

您可以使用範本建立 Azure Compute Gallery 資源。 有數個快速入門範本可以使用:

下一步

瞭解如何使用 Azure Compute Gallery 部署映像VM 應用程式