共用方式為


使用已核准的基底建立虛擬機

本文說明如何使用 Azure 來建立包含預先設定、背書操作系統的虛擬機(VM)。 如果這與您的解決方案不相容, 您可以使用已核准的作業系統來建立及設定內部部署 VM

注意

開始此程式之前,請先檢閱 Azure VM 供應項目的技術需求 ,包括虛擬硬碟 (VHD) 需求。

選取已核准的基礎映像

選取下列其中一個 Windows 或 Linux 映射作為您的基底。

Windows

Linux

Azure 提供一系列已核准的Linux散發套件。 如需目前的清單,請參閱 Azure 所背書發行版上的 Linux。

在 Azure 入口網站 上建立 VM

  1. 登入 Azure 入口網站
  2. 選取 [虛擬機器]
  3. 從下拉功能表中選取 [+ 建立 ] 和 [+ 虛擬機 ],以開啟 [ 建立虛擬機 ] 畫面。
  4. 從下拉式清單中選取映射,或選取 [查看所有映射 ] 來搜尋或流覽所有可用的虛擬機映射。 您也可以根據您選取的映像來設定映像的 VM 產生。
  5. 選取要部署之 VM 的大小。
  6. 提供建立 VM 的其他必要詳細數據。
  7. 選取 [ 檢閱 + 建立] 以檢閱您的選擇。 出現 [驗證通過] 訊息時,請選取 [建立]

Azure 會開始布建您指定的虛擬機。 選取左側功能表中的 [虛擬機器] 索引標籤,以追蹤其進度。 建立之後,虛擬機的狀態會變更為 [ 執行中]。

設定 VM

本節說明如何調整、更新和一般化 Azure VM 的大小。 您必須執行這些步驟,才能準備要在 Azure Marketplace 上部署的 VM。

連接到您的 VM

請參閱下列檔以連線到您的 WindowsLinux VM。

安裝最新的更新

操作系統 VM 的基底映像必須包含最新的更新,其發行日期為止。 發佈之前,請確定您已使用所有最新的安全性和維護修補程式來更新作業系統和所有已安裝的服務。

  • 針對 Windows Server,執行 [檢查更新] 命令。
  • 針對 Linux 散發套件,通常會透過命令行工具或圖形化公用程式下載並安裝更新。 例如,Ubuntu Linux 提供 apt-get 命令和 更新管理員 工具來更新 OS。

執行其他安全性檢查

在 Azure Marketplace 中維護解決方案映像的高階安全性。 如需安全性設定和程式的檢查清單,請參閱 Azure Marketplace 映像的安全性建議。

自訂 VM 映像

現在,請安裝必要的軟體,並在您的 VM 上進行任何自定義組態變更,讓解決方案正常運作,包括部署後需要執行的任何排程工作。 進行自定義變更時,請考慮下列事項:

  • 如果它是排程的執行一次工作,工作應該會在成功完成之後自行刪除。
  • 設定不應依賴 C 或 D 以外的磁碟驅動器,因為只有這兩個磁碟驅動器一律會存在(磁碟驅動器 C 是操作系統磁碟,而磁碟驅動器 D 是暫存本機磁碟)。
  • 對您的解決方案進行任何必要的技術設定變更。 稍後,您會在合作夥伴中心的 [技術設定] 頁面的 [內容] 區段中,將您在 VM 上所做的設定加上旗標。 這會顯示您的客戶,根據您現在所做的組態變更支援哪些案例。 在發佈期間,請從下列技術組態屬性中選取:
    • 支援備份
    • 支援加速網路功能
    • 支援 cloud-init 設定
    • 支援擴充功能
    • 這是網路虛擬設備
    • 遠端桌面或 SSH 已停用
    • 需要自定義 ARM 範本

如需 Linux 自定義的詳細資訊,請參閱 適用於 Linux 的虛擬機擴充功能和功能。

一般化映像

Azure Marketplace 中的所有映像都必須以一般方式重複使用。 若要達成此目的,操作系統 VHD 必須一般化,此作業會從 VM 中移除所有實例特定的標識碼和軟體驅動程式。

若為 Windows

Windows OS 磁碟會使用 sysprep 工具進行一般化。 如果您稍後更新或重新設定操作系統,則必須再次執行 sysprep。

警告

執行 sysprep 之後,請關閉 VM,直到部署 VM 為止,因為更新可能會自動執行。 此關機可避免後續更新對操作系統或已安裝的服務進行實例特定的變更。 如需執行 sysprep 的詳細資訊,請參閱 一般化 Windows VM

注意

如果您在建立要擷取 VM 的訂用帳戶上啟用 適用於雲端的 Microsoft Defender (Azure Defender),而且您不希望從此映像建立的任何 VM 在適用於端點的 Defender 入口網站中註冊,請確定您在訂用帳戶或 VM 本身上停用 適用於雲端的 Microsoft Defender。 如果未停用,則從此映像建立的任何 VM 都會在適用於端點的 Defender 入口網站中註冊,即使 VM 部署至沒有 適用於雲端的 Microsoft Defender 的不同租使用者也一樣。

若為 Linux

  1. 拿掉 Azure Linux 代理程式。

    1. 使用 SSH 用戶端連線到您的 Linux VM。
    2. 在 SSH 視窗中,輸入下列命令: sudo waagent –deprovision+user
    3. 輸入 Y 以繼續 (您可以將 -force 參數新增至上一個命令,以避免確認步驟)。
    4. 命令完成之後,請輸入 Exit 以關閉 SSH 用戶端。
  2. 如果您的映像上安裝 適用於端點的 Microsoft Defender (MDE),請根據映像的 OS 執行下列命令來卸載 MDE:

    • RHEL、CentOS 和 Oracle: sudo yum remove mdatp

    • SLES 和變體: sudo zypper remove mdatp

    • Ubuntu 和 Debian: sudo apt-get purge mdatp

    • 水手: sudo dnf remove mdatp

  3. 停止虛擬機。

    1. 在 Azure 入口網站 中,選取您的資源群組 [RG] 並取消配置 VM。
    2. 您的 VM 現在已一般化,您可以使用此 VM 磁碟建立新的 VM。

擷取影像

注意

包含 Azure 計算資源庫的 Azure 訂用帳戶必須位於與發行者帳戶相同的租使用者之下,才能發佈。 此外,發行者帳戶至少必須具有包含 Azure 計算資源庫之訂用帳戶的參與者存取權。

一旦 VM 準備就緒,您就可以在 Azure 計算資源庫中擷取它(先前稱為 共用映像庫)。 請遵循下列步驟來擷取:

  1. Azure 入口網站 上,移至虛擬機的頁面。
  2. 選取 [擷取]
  3. 在 [將映射共用至 Azure 計算資源庫] 下,選取 [是],將其共用至資源庫作為映射版本
  4. 在 [操作系統狀態] 底下,選取 [一般化]。
  5. 選取 [目標映像庫] 或 [新建]。
  6. 選取 [目標映射定義] 或 [新建]。
  7. 提供 映像的版本號碼
  8. 選取 [ 檢閱 + 建立] 以檢閱您的選擇。
  9. 通過驗證之後,請選取 [ 建立]。

從 Azure 計算資源庫將虛擬機映像發佈至 Azure Marketplace 需要您設定許可權,讓合作夥伴中心可以取得資源庫內裝載的映像。

重要

Microsoft會將從計算資源庫取得映像的程式轉換為更安全的程式。 若要繼續更新虛擬機供應專案,請遵循下列步驟,確保下列Microsoft應用程式獲得存取權。 針對每個用來發佈至 Azure Marketplace 的計算資源庫,都必須執行這些步驟一次。

必要條件

若要授與合作夥伴中心許可權,您必須確定符合下列必要條件:

  1. 您的 Azure 計算資源庫必須位於連結至合作夥伴中心帳戶的相同Microsoft Entra 租使用者中
  2. 您必須是 計算資源庫所在訂用帳戶的擁有者

提示

建議您使用專用的計算資源庫來發佈至合作夥伴中心,而且您只授與此專用資源庫的許可權。 您不需要在訂用帳戶層級授與許可權。

步驟 1:布建服務主體

您必須先在 Azure 訂用帳戶中布建服務主體,其方式是註冊Microsoft合作夥伴中心資源提供者 (RP)。 服務主體是身分識別,接著會用來為合作夥伴中心提供計算資源庫的存取權,以取得您的映像。 此步驟不會授與存取權。

PowerShell
# Connect to your Azure account
Connect-AzAccount

# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
Set-AzContext -Subscription <SubscriptionId>

# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant. 
Register-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion

# Ensure the Resource Principal is registered successfully.
Get-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion
Azure CLI
# Connect to your Azure account
Az login

# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
az account set --subscription <subscriptionId>

# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant. 
az provider register --namespace

# Ensure the Resource Principal is registered successfully.
az provider show --namespace Microsoft.PartnerCenterIngestion

布建服務主體之後,必須授與明確許可權,才能從特定計算資源庫讀取映像。 合作夥伴中心正在轉換至更安全的程式,以取得您的映像。 在此轉換期間,我們會要求您暫時將存取權授與兩個Microsoft應用程式,以便您繼續更新虛擬機供應專案。

PowerShell
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
Get-AzGallery -ResourceGroupName <resource-group> -GalleryName <gallery-name>

# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
Get-AzADServicePrincipal -SearchString "Microsoft Partner Center Resource Provider"

# Create a role assignment to the first Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id1> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>

# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
Get-AzADServicePrincipal -SearchString "Compute Image Registry"

# Create a role assignment to the second Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id2> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>
Azure CLI
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
az sig show --resource-group <resource-group> --gallery-name <gallery-name>

# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
az ad sp list --display-name "Microsoft Partner Center Resource Provider" --query '[].id'

# Create a role assignment to the first Microsoft application.
az role assignment create --assignee-object-id <sp-id1> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>

# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
az ad sp list --display-name "Compute Image Registry" --query '[].id'

# Create a role assignment to the second Microsoft application.
az role assignment create --assignee-object-id <sp-id2> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>
Azure 入口網站
  1. 洛金到 Azure 入口網站

  2. 流覽至包含虛擬機映像的 Azure 計算資源庫。

  3. 流覽至 Azure 計算資源庫內的 [存取控制 ] 索引標籤。

  4. 選取 [新增>][新增角色指派]。

  5. 選取 [計算資源庫映射讀取器] 角色,然後按 [下一步]。

  6. 選取以指派使用者 、群組或服務主體的存取權

  7. 按兩下 [+ 選取成員 ],然後搜尋並選取服務主體 「Microsoft合作夥伴中心資源提供者」「計算映像登錄」。 按一下 [下一步] 。

  8. 按兩下 [ 檢閱 + 指派]。

  • 建議的下一個步驟: 測試您的 VM 映射 ,以確保其符合 Azure Marketplace 發佈需求。 這是選擇性。
  • 如果您不想測試 VM 映射,請登入 合作夥伴中心 以發佈映像。
  • 如果您遇到建立新 Azure 型 VHD 的困難,請參閱 Azure Marketplace 的 VM 常見問題。