你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

部署 Azure 云服务(外延支持)的先决条件

若要确保云服务(外延支持)成功部署,请查看以下步骤,并在尝试任何部署之前完成每一项。

所需的服务配置 (.cscfg) 文件更新

1) 虚拟网络

云服务(外延支持)部署必须在虚拟网络中。 可以通过 Azure 门户PowerShellAzure CLIARM 模板创建虚拟网络。 还必须在服务配置文件 (.cscfg) 的 NetworkConfiguration 部分下引用虚拟网络和子网。

对于属于云服务所在资源组的虚拟网络,仅引用服务配置 (.cscfg) 文件中的虚拟网络名称就已经足够。 如果虚拟网络和云服务位于两个不同的资源组中,则需要在服务配置 (.cscfg) 文件中指定虚拟网络的完整 Azure 资源管理器 ID。

注意

Visual Studio 2019 不支持位于不同资源组中的虚拟网络和云服务。 请考虑使用 ARM 模板或门户在此类情况下成功部署

位于同一资源组中的虚拟网络

<VirtualNetworkSite name="<vnet-name>"/> 
  <AddressAssignments> 
    <InstanceAddress roleName="<role-name>"> 
     <Subnets> 
       <Subnet name="<subnet-name>"/> 
     </Subnets> 
    </InstanceAddress> 
  </AddressAssignments> 

位于其他资源组中的虚拟网络

<VirtualNetworkSite name="/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>"/> 
   <AddressAssignments> 
     <InstanceAddress roleName="<role-name>"> 
       <Subnets> 
        <Subnet name="<subnet-name>"/> 
       </Subnets> 
     </InstanceAddress> 
   </AddressAssignments>

2) 删除旧插件

从服务配置 (.cscfg) 文件中删除旧的远程桌面设置。

<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="gachandw" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="XXXX" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2021-12-17T23:59:59.0000000+05:30" /> 
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" /> 

从服务配置 (.cscfg) 文件中的每个角色删除旧的诊断设置。

<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />

所需的服务定义文件 (.csdef) 更新

注意

更改服务定义文件 (.csdef) 需要重新生成包文件 (.cspkg)。 在 .csdef 文件中进行以下更改后,请生成并重新打包 .cspkg,以获取云服务的最新设置

1) 虚拟机大小

下面左侧列中列出的大小在 Azure 资源管理器中已弃用。 但是,如果要继续使用它们,请使用关联的 Azure 资源管理器命名约定更新名称 vmsize

以前的大小名称 更新的大小名称
特小型 Standard_A1_v2
Small Standard_A1_v2
中型 Standard_A2_v2
大型 Standard_A4_v2
超大型 Standard_A8_v2
A5 Standard_A2m_v2
A6 Standard_A4m_v2
A7 Standard_A8m_v2
A8 已放弃
A9 已放弃
A10 已放弃
A11 已放弃
MSODSG5 已放弃

例如,<WorkerRole name="WorkerRole1" vmsize="Medium" 将变为 <WorkerRole name="WorkerRole1" vmsize="Standard_A2"

注意

若要检索可用大小列表,请参阅资源 SKU - 列表并应用以下筛选器:
ResourceType = virtualMachines
VMDeploymentTypes = PaaS

2) 删除旧远程桌面插件

利用旧远程桌面插件的部署需要将模块从服务定义 (.csdef) 文件以及任何关联的证书中删除。

<Imports> 
<Import moduleName="RemoteAccess" /> 
<Import moduleName="RemoteForwarder" /> 
</Imports> 

利用旧诊断插件的部署需要为服务定义 (.csdef) 文件中的每个角色删除设置

<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />

访问控制

对于云服务(外延支持),包含网络资源的订阅需要具有网络参与者访问权限或更高权限。 有关详细信息,请参阅 RBAC 内置角色

创建密钥保管库

Key Vault 用于存储与云服务(外延支持)关联的证书。 将证书添加到密钥保管库,然后引用服务配置文件中的证书指纹。 还需要为“用于部署的 Azure 虚拟机”启用 Key Vault“访问策略(在门户中),以便云服务(外延支持)资源可从 Key Vault 检索存储为机密的证书。 可以在 Azure 门户中创建密钥保管库,也可以使用 PowerShell 创建。 该密钥保管库必须在云服务所在的区域和订阅中创建。 有关详细信息,请参阅在 Azure 云服务(外延支持)中使用证书

后续步骤