溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Azure Polcy強制禁止非托管磁盤VM

發布時間:2020-06-29 02:51:25 來源:網絡 閱讀:1597 作者:mxy00000 欄目:云計算

  今天再來分享一波Azure管理的經驗,熟悉Azure的朋友都知道,Azure有托管磁盤和非托管磁盤之分,早期的VM全都是非托管磁盤的,需要我們手動維護以及規劃磁盤的使用情況,還有20000 IOPS的限制等問題,為了解決這種問題,微軟引入了托管磁盤的概念,托管磁盤相對于非托管磁盤來說,有很多的優勢,主要有以下幾點:

  

  簡單且可縮放的 VM 部署

  托管磁盤在幕后處理存儲。 以前,必須創建存儲帳戶才能存儲 Azure VM 的磁盤(VHD 文件)。 進行擴展時,必須確保創建了額外的存儲帳戶,以便任何磁盤都不會超出對存儲的 IOPS 限制。 使用托管磁盤處理存儲時,不再受到存儲帳戶限制(例如每個帳戶 20,000 IOPS)的約束。 另外,不再需要將自定義映像(VHD 文件)復制到多個存儲帳戶。 可在一個中心位置管理自定義映像(每個 Azure 區域保存一個存儲帳戶),并使用它們在一個訂閱中創建數百個 VM。

托管磁盤支持在每個區域中的一個訂閱中創建最多 50,000 個同一類型的 VM 磁盤,這使得可以在單個訂閱中創建數以萬計的 VM


 可用性集的可靠性更

 通過確??捎眯约械?VM 的磁盤彼此之間完全隔離以避免單點故障,托管磁盤為可用性集提供了更佳的可靠性。 磁盤自動放置于不同的存儲縮放單元(模塊)。 如果某個模塊因硬件或軟件故障而失敗,則只有其磁盤在該模塊上的 VM 實例會失敗。 例如,假定某個應用程序在 5 臺 VM 上運行并且這些 VM 位于一個可用性集中。 這些 VM 的磁盤不會存儲在同一個模塊中,因此,如果一個模塊失敗,該應用程序的其他實例可以繼續運行。


 高度持久和可用

 Azure 磁盤具備 99.999% 的可用性。 數據具有三個副本,高持久性可讓用戶高枕無憂。 如果其中一個或兩個副本出現問題,剩下的副本能夠確保數據的持久性和對故障的高耐受性。 此架構有助于 Azure 為 IaaS 磁盤持續提供企業級的持久性,年化故障率為 0%,達到行業領先水平。


    粒度訪問控制

 可以使用 Azure 基于角色的訪問控制 (RBAC) 將對托管磁盤的特定權限分配給一個或多個用戶。 托管磁盤公開了各種操作,包括讀取、寫入(創建/更新)、刪除,以及檢索磁盤的共享訪問簽名 (SAS) URI。 可以僅將某人員執行其工作所需的操作的訪問權限授予該人員。 例如,如果不希望某人員將某個托管磁盤復制到存儲帳戶,則可以選擇不授予對該托管磁盤的導出操作的訪問權限。 類似地,如果不希望某人員使用 SAS URI 復制某個托管磁盤,則可以選擇不授予對該托管磁盤的該權限。


 所以現在微軟也是大力的推動托管磁盤的使用。那么在實際應用中,企業IT管理員也肯定希望用戶能夠更多地去使用托管磁盤,但如何來實施這點呢,光靠嘴說可能很多時候并不好使,最好是能夠有一些技術手段限制創建非托管磁盤VM

 

 Azure Policy是個很好的解決辦法

 Azure Policy 是 Azure 中的一項服務,可用于創建、分配和管理策略。 這些策略將在整個資源中強制實施不同的規則和效果,以便這些資源符合公司標準和服務級別協議。 Azure Policy 通過評估資源是否符合指定策略來滿足此需求。 例如,可以設置一項策略,僅允許環境中有特定 SKU 大小的虛擬機。 實施此策略后,將評估新資源和現有資源的符合性。 通過使用正確的策略類型,可以確?,F有資源的符合性。 也可以通過Policy明確禁止一些管理員不希望發生的操作

 

 下邊來看如何來實施policy吧,policy其實也是通過JSON文件的形式進行了一些定義,所以我們只需要編寫一些policy的JSON文件即可


    

    限制非托管磁盤VM的JSON文件如下:

{
      "if": {
            "allOf": [
              {
                "field": "type",
                "equals": "Microsoft.Compute/virtualMachines"
              },
              {
                "field": "Microsoft.Compute/virtualMachines/osDisk.uri",
                "exists": true
              }
            ]
      },
      "then": {
        "effect": "deny"
      }
   
}


  如何將這個定義轉換為Policy呢?可以通過PowerShell

  運行如下PowerShell命令

  第一步:創建policydefinition

使用Azure Polcy強制禁止非托管磁盤VM



    

  第二步:創建role assignment

使用Azure Polcy強制禁止非托管磁盤VM

 

  之后可以看到在Azure Portal的policy里,也能夠看到這些內容了

使用Azure Polcy強制禁止非托管磁盤VM


  

  下邊來嘗試一下吧!在Portal中創建一個非托管磁盤的Linux VM

使用Azure Polcy強制禁止非托管磁盤VM




    

  可以發現,在最后驗證的時候,會提示被policy deny掉了!

使用Azure Polcy強制禁止非托管磁盤VM


  Azure Policy是個很不錯的東東,后續有機會繼續和各位分享!







向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女