Azure Resource Manager 與傳統部署:瞭解部署模型及資源狀態

注意

本文提供的資訊只有在您從傳統部署遷移到 Azure Resource Manager 部署時才能使用。

在本文中,您將瞭解 Azure Resource Manager 和傳統部署模型。 Resource Manager 和傳統部署模型代表部署和管理 Azure 解決方案的兩種不同方式。 您可以透過兩個不同的 API 集使用,而部署的資源可能包含重要的差異。 這兩個模型彼此不相容。 本文將說明這些差異。

為了簡化資源的部署和管理,Microsoft 建議您針對所有新資源使用 Resource Manager。 如果可能的話,Microsoft 建議您透過 Resource Manager 重新部署現有的資源。 如果您已經使用雲端服務,您可以將解決方案遷移到雲端服務, (支援服務 ) 。

如果您是 Resource Manager 的新使用者,您可能會想要先複習 Azure Resource Manager概觀中定義的術語。

部署模型歷程記錄

Azure 原本僅提供傳統部署模型。 在此模型中,每個資源會獨立存在;無法將相關資源分組在一起。 相反地,您必須手動追蹤解決方案或應用程式所包括的資源,並記得以協調的方式管理這些資源。 若要部署解決方案,您必須透過入口網站個別建立每個資源,或建立腳本,以正確的順序部署所有資源。 若要刪除解決方案,您必須個別刪除每個資源。 您不容易為相關資源申請及更新存取控制原則。 最後,您無法將標籤用於資源,以可協助您監控資源和管理帳單的條款來標記資源。

在 2014 年,Azure 推出了 Resource Manager,新增了資源群組的概念。 資源群組是共用一般生命週期的資源容器。 Resource Manager 部署模型提供數個優點:

  • 您可以以群組方式部署、管理及監控解決方案的所有服務,而不是個別處理這些服務。
  • 您可以在解決方案的整個生命週期中重複部署解決方案,並信賴資源會以一致狀態部署。
  • 您可以將存取控制適用于資源群組中的所有資源,當新資源新加入資源群組時,系統會自動適用那些原則。
  • 您可以將標籤用於資源,以邏輯方式整理訂閱中的所有資源。
  • 您可以使用 JavaScript 物件標記法 (JSON) 定義解決方案基礎結構。 JSON 檔案稱為 Resource Manager 範本。
  • 您可以定義資源之間的相依性,以正確的順序進行部署。

新增 Resource Manager 時,所有資源會回溯新加到預設資源群組。 如果您現在透過傳統部署建立資源,系統會自動在該服務的預設資源群組中建立資源,即使您未在部署時指定該資源群組。 不過,資源群組內現有的資源並不表示資源已轉換成 Resource Manager 模型。

瞭解模型的支援

請注意以下三種情況:

  1. 雲端服務 (傳統) 不支援 Resource Manager 部署模型。 雲端服務 (擴充支援) 支援 Resource Manager 部署模型。
  2. 虛擬機器、儲存空間帳戶和虛擬網路同時支援 Resource Manager 和傳統部署模型。
  3. 所有其他 Azure 服務都支援 Resource Manager。

如果是虛擬機器、儲存空間帳戶和虛擬網路,如果資源是透過傳統部署建立,您必須透過傳統作業繼續操作。 如果虛擬機器、儲存空間帳戶或虛擬網路是透過 Resource Manager 部署建立,您必須繼續使用 Resource Manager 作業。 當您的訂閱包含透過 Resource Manager 和傳統部署建立的資源組合時,這種區別可能會令人混淆。 由於資源不支援相同的作業,因此這種資源組合可能會產生意外的結果。

在某些情況下,Resource Manager 命令可以取回透過傳統部署建立之資源的資訊,或執行系統管理工作,例如將傳統資源移動到另一個資源群組。 不過,這些案例不應該讓人覺得類型支援 Resource Manager 作業。 例如,假設您有一個包含使用傳統部署所建立之虛擬機器的資源群組。 如果您執行下列 Resource Manager PowerShell 命令:

Get-AzResource -ResourceGroupName ExampleGroup -ResourceType Microsoft.ClassicCompute/virtualMachines

它會返回虛擬機器:

Name              : ExampleClassicVM
ResourceId        : /subscriptions/{guid}/resourceGroups/ExampleGroup/providers/Microsoft.ClassicCompute/virtualMachines/ExampleClassicVM
ResourceName      : ExampleClassicVM
ResourceType      : Microsoft.ClassicCompute/virtualMachines
ResourceGroupName : ExampleGroup
Location          : westus
SubscriptionId    : {guid}

不過,Resource Manager Cmdlet Get-AzVM 只會返回透過 Resource Manager 部署的虛擬機器。 下列命令不會返回透過傳統部署所建立虛擬機器。

Get-AzVM -ResourceGroupName ExampleGroup

只有透過 Resource Manager 支援標記建立的資源。 您無法將標記用於傳統資源。

計算、網路和儲存空間的變更

下圖顯示透過 Resource Manager 部署的計算、網路和儲存資源。

Resource Manager architecture

SRP:儲存體資源提供者,CRP:計算資源提供者,NRP:網路資源提供者

請注意資源之間的下列關係:

  • 所有資源都存在於資源群組中。
  • 虛擬機器取決於在資源提供者中定義的特定儲存體帳戶,以將磁片儲存在 blob 儲存空間 (所需的) 。
  • 虛擬機器會參照在網路資源提供者中定義的特定網路介面卡 (必要的) ,以及計算資源提供者中定義的 () 。
  • 網路介面卡會參照虛擬機器指派的 IP 位址 (必要的) 、虛擬機器 (的子網) ,以及網路安全性群組 (選擇性) 。
  • 虛擬網路中的子網參照網路安全性群組 (選項) 。
  • 負載平衡器實例參照 IP 位址的後端資料庫,包含虛擬機器的網路介面卡 (選擇性) ,並參照負載平衡器公用或私人 IP 位址 (選擇性) 。

以下是傳統部署的元件及其關係:

classic architecture

託管虛擬機器的經典解決方案包括:

  • 雲端服務 (傳統) 做為託管虛擬機器的容器, (計算) 。 虛擬機器會自動提供網路介面卡和 Azure 指派的 IP 位址。 此外,雲端服務包含外部負載平衡器實例、公用 IP 位址和預設端點,以允許適用于 Windows 型虛擬機器的遠端桌面和遠端 PowerShell 流量,以及適用于 Linux 型虛擬機器的安全 Shell (SSH) 流量。
  • 儲存虛擬機器虛擬硬碟的所需儲存空間帳戶,包括作業系統、暫存和其他資料磁片 (儲存) 。
  • 可做為額外容器的選用虛擬網路,您可以在其中建立子網結構,並選擇虛擬機器所在的子網, (網路) 。

下表說明計算、網路和資源提供者儲存體方式的變化:

專案 經典 Resource Manager
虛擬機器雲端服務 雲端服務是一個容器,用於裝載需要平臺可用性和負載平衡的虛擬機器。 雲端服務不再是使用新模型建立虛擬機器所需的物件。
虛擬網路 虛擬機器可以選擇使用虛擬網路。 如果包含,則虛擬網路無法與 Resource Manager 一起部署。 虛擬機器需要已使用 Resource Manager 部署的虛擬網路。
儲存體帳戶 虛擬機器需要儲存作業系統的虛擬硬碟、暫存和其他資料磁片的儲存帳戶。 虛擬機器需要儲存帳戶,以將磁片儲存在 Blob 儲存空間中。
可用性集 在虛擬機器上使用相同的「可用性SetName」來表示平臺的可用性。 錯誤網域數量上限為 2。 可用性集是由 Microsoft.Compute 提供者公開的資源。 需要高可用性的虛擬機器必須包含在可用性集。 現在,錯誤網域數量上限為 3。
關聯性群組 建立虛擬網路時,需要關聯群組。 不過,隨著地區虛擬網路的推出,就不需要再使用這項功能了。 若要簡化,Azure Resource Manager 公開 API 中不存在關聯群組概念。
負載平衡 建立雲端服務可為部署的虛擬機器提供隱含負載平衡器。 負載平衡器是由 Microsoft.Network 提供者公開的資源。 需要負載平衡的虛擬機器的主要網路介面應參照負載平衡器。 負載平衡器可以是內部或外部。 負載平衡器實例會參照 IP 位址的後端資料庫,包含虛擬機器的 NIC (選擇性) ,並參照負載平衡器公用或私人 IP 位址 (選) 。
虛擬 IP 位址 當虛擬機器新 (雲端服務) 雲端服務時,雲端服務會) 虛擬 IP 位址的預設VIP位址。 虛擬 IP 位址是與隱含負載平衡器相關聯的位址。 公用 IP 位址是 Microsoft.Network 提供者公開的資源。 公用 IP 位址可以是靜態 (保留) 動態。 動態公用 IP 可以指派給負載平衡器。 您可以使用安全性群組保護公用 IP。
保留 IP 位址 您可以在 Azure 中保留 IP 位址,並將其與雲端服務建立關聯,以確保 IP 位址是黏滯的。 公用 IP 位址可以在靜態模式中建立,而且提供與保留 IP 位址相同的功能。
每個 VM 的公用 IP 位址 (點) 點 公用 IP 位址也可以直接與 VM 相關聯。 公用 IP 位址是 Microsoft.Network 提供者公開的資源。 公用 IP 位址可以是靜態 (保留) 動態。
端點 輸入端點必須配置在虛擬機器上,才能開啟特定埠的連接。 設定輸入端點以連接到虛擬機器的常見模式之一。 您可以在負載平衡器上配置內入 NAT 規則,以取得啟用特定埠上的端點以連接到虛擬機器的相同功能。
DNS 名稱 雲端服務會取得隱含的全域唯一 DNS 名稱。 例如 mycoffeeshop.cloudapp.net :。 DNS 名稱是可在公用 IP 位址資源上指定的選擇性參數。 FQDN 的格式為 : <domainlabel>.<region>.cloudapp.azure.com
網路介面 主要和次要網路介面及其屬性定義為虛擬機器的網路組組。 網路介面是由 Microsoft.Network 提供者公開的資源。 網路介面的生命週期不會與虛擬機器綁定。 它會參照虛擬機器指派的 IP 位址 (必要的) 、虛擬機器的子網 (必要的) ,以及網路安全性群組 (選擇性) 。

若要瞭解如何從不同的部署模型連接虛擬網路,請參閱連線入口網站中不同部署模型的虛擬網路。

從傳統型遷移到 Resource Manager

如果您準備好將資源從傳統部署遷移到 Resource Manager 部署,請參閱:

  1. 深入探討平臺支援從傳統型移向 Azure Resource Manager 的移入
  2. 平臺支援將 IaaS 資源從傳統型移向 Azure Resource Manager
  3. 使用傳統應用程式將 IaaS 資源從傳統型遷移到 Azure Resource Manager Azure PowerShell
  4. 使用 Azure CLI 將 IaaS 資源從傳統型遷移到 Azure Resource Manager

常見問題

我可以使用 Resource Manager 建立虛擬機器,以在使用傳統部署所建立之虛擬網路中部署嗎?

不支援此組配置。 您無法使用 Resource Manager 將虛擬機器部署到使用傳統部署所建立之虛擬網路。

我可以使用使用傳統部署模型建立的使用者映射使用 Resource Manager 建立虛擬機器嗎?

不支援此組配置。 不過,您可以複製使用傳統部署模型所建立之儲存帳戶的虛擬硬碟檔案,並新增到透過 Resource Manager 建立的新帳戶。

我的訂閱配額會有什麼影響?

透過 Azure Resource Manager 所建立之虛擬機器、虛擬網路和儲存空間帳戶的配額與其他配額是分開的。 每個訂閱會獲得配額,以使用新的 API 建立資源。 您可以在這裡進一步閱讀其他配額

我可以繼續透過 Resource Manager API 使用自動化腳本來部署虛擬機器、虛擬網路和儲存帳戶嗎?

您建立的所有自動化和腳本,都繼續適用于現有的虛擬機器,即 Azure 服務管理模式下所建立之虛擬網路。 不過,腳本必須更新,以使用新架構,透過 Resource Manager 模式建立相同的資源。

哪裡可以找到 Azure Resource Manager 範本的範例?

您可以在 Azure Resource Manager 快速啟動範本上找到一組完整的入門 範本

下一個步驟

  • 若要查看部署範本的命令,請參閱使用 Azure Resource Manager範本部署應用程式。