停用 Azure Stack Hub 系统

本文介绍如何正确停用 Azure Stack Hub 系统。 在回收系统硬件之前,请遵循此过程来确保租户工作负载受到保护、删除敏感信息并从 Azure 中取消注册系统。

先决条件

在开始之前,请确保满足以下先决条件:

  • 确保已从系统中删除所有工作负载并创建了适当的备份。
  • 不必完全停止或删除系统中的所有资源(VM、Web 应用等)。 但是,可以停止或删除这些资源,以便在停用过程中管理使用情况和成本。
  • 永久关闭系统后,不会进一步报告使用情况信息。

连接 (Microsoft Entra ID) 方案

在连接的 (Microsoft Entra ID) 环境中执行以下步骤:

  1. 通过删除辅助目录来禁用多租户:取消注册来宾目录

  2. 验证是否已删除任何其他来宾目录:检索标识运行状况报告

  3. 删除所有租户注册以便进行使用情况计费:删除租户映射

  4. 删除 Azure Stack Hub 注册,防止将使用情况数据推送到 Azure 计费。

    1. 按照注册 Azure Stack Hub 中的步骤导入 RegisterWithAzure.psm1 模块。
    2. 使用以下脚本删除注册资源。
    # Select the subscription used during the registration (shown in portal) 
    Select-AzSubscription -Subscription '<Registration subscription ID from portal>' 
    
    # Unregister using the parameter values from portal 
    Remove-AzsRegistration -PrivilegedEndpointCredential $YourCloudAdminCredential -PrivilegedEndpoint $YourPrivilegedEndpoint -RegistrationName '<Registration name from portal>' -ResourceGroupName '<Registration resource group from portal>'
    
  5. 移除 Azure Stack Hub 的 Microsoft Entra 应用注册:

    1. 使用 Azure PowerShell 连接到 Azure Stack 环境

    2. 在上一步骤所述的同一 PowerShell 实例中,运行以下脚本以导出所有应用注册 ID 的列表。

      $context = Get-AzContext
      if (!$context.Subscription){
      @"
      # Connect To Azure Stack Admin Azure Resource Manager endpoint first https://docs.azure.cn/azure-stack/operator/azure-stack-powershell-configure-admin#connect-with-azure-ad 
      "@ | Write-Host -ForegroundColor:Red
      }
      
      "Getting access token for tenant {0}" -f $context.Subscription.TenantID | Write-Host -ForegroundColor Green
      
      $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
      $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile)
      $newtoken = $profileClient.AcquireAccessToken($context.Subscription.TenantID)
      
      $armEndpoint = $context.Environment.ResourceManagerUrl
      $applicationRegistrationParams = @{
          Method  = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
          Headers = @{ Authorization = "Bearer " + $newtoken.AccessToken }
          Uri = "$($armEndpoint.ToString().TrimEnd('/'))/applicationRegistrations?api-version=2014-04-01-preview"
      }
      
      $applicationRegistrations = Invoke-RestMethod @applicationRegistrationParams | Select-Object -ExpandProperty value
      "[{0}] App Registrations were found for {1}" -f $applicationRegistrations.appId.Count, $context.Environment.Name | Write-Host -ForegroundColor Green
      $applicationRegistrations.appId | Write-Host
      
    3. 请与 Microsoft Entra 管理员协作,移除以前生成的列表中的应用注册。

      注意

      执行应用注册清理时请小心。 在特权终结点 (PEP) 外部,一旦删除这些注册,Azure Stack Hub 系统就不可用。 无法还原应用注册,并且系统在不重新部署的情况下无法正常运行。

断开连接的方案

对于断开连接的环境,请遵循从 Azure Stack Hub 中删除激活资源过程。

关闭 Azure Stack Hub

可以使用两个选项关闭 Azure Stack Hub 系统。 这两个命令都要求云管理员连接到特权终结点

  1. 关闭 Azure Stack Hub(可恢复):从特权终结点运行 Stop-AzureStack PowerShell cmdlet。

  2. 关闭 Azure Stack Hub(不可恢复,数据被擦除):从特权终结点运行 Start-AzsCryptoWipe cmdlet。

    重要

    执行此命令后,缩放单元将不可恢复。

后续步骤