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

创建并使用 Azure 备份的专用终结点(v1 体验)

本文介绍创建 Azure 备份的专用终结点的过程,以及专用终结点帮助维护资源安全的方案。

注意

Azure 备份现在为创建专用终结点提供了一种新的体验。 了解详细信息

开始之前

请确保已阅读先决条件支持的方案,再继续创建专用终结点。

这些详细信息有助于了解在为保管库创建专用终结点之前需要满足的限制和条件。

开始创建用于备份的专用终结点

以下部分介绍在虚拟网络中创建和使用用于 Azure 备份的专用终结点时所涉及的步骤。

重要

强烈建议按照本文档中所述的顺序执行步骤。 如果未按照顺序操作,可能导致保管库呈现为不兼容,无法使用专用终结点,并要求你使用新保管库重启此进程。

创建恢复服务保管库

只能为不包含任何受其保护的项(或者在过去未在其中尝试保护任何项,或未将任何项注册到其中)的恢复服务保管库创建用于备份的专用终结点。 因此,我们建议创建一个新保管库作为起点。 有关创建新保管库的详细信息,请参阅创建和配置恢复服务保管库

请参阅此部分,了解如何使用 Azure 资源管理器客户端创建保管库。 这会创建一个已启用托管标识的保管库。

拒绝对保管库的公用网络访问

可以将保管库配置为拒绝来自公用网络的访问。

执行以下步骤:

  1. 转到“保管库”>“网络”。

  2. 在“公共访问”选项卡上,选择“拒绝”以阻止来自公用网络的访问。

    显示如何选择“拒绝”选项的屏幕截图。

    注意

  3. 选择“应用”保存更改。

为保管库启用托管标识

托管标识允许保管库创建和使用专用终结点。 本部分介绍如何为保管库启用托管标识。

  1. 转到“恢复服务保管库”->“标识”。

    将标识状态更改为“启用”

  2. 将“状态”更改为“开”,然后选择“保存” 。

  3. 此时将生成一个“对象 ID”,它是保管库的托管标识。

    备注

    启用后,不得禁用托管标识(即使是暂时禁用)。 禁用托管标识可能导致出现不一致的行为。

授予保管库创建所需专用终结点的权限

若要为 Azure 备份创建所需的专用终结点,保管库(保管库的托管标识)必须具有以下资源组的权限:

  • 包含目标 VNet 的资源组
  • 要在其中创建专用终结点的资源组
  • 包含专用 DNS 区域的资源组,如此处详细讨论的那样

建议向保管库(托管标识)授予这三个资源组的“参与者”角色。 以下步骤介绍了如何针对特定的资源组执行此操作(需要为三个资源组中的每个资源组执行此操作):

  1. 转到“资源组”,并导航到左侧栏中的“访问控制(IAM)”。

  2. 在“访问控制”中,转到“添加角色分配” 。

    添加角色分配

  3. 在“添加角色分配”中,选择“参与者”作为“角色”,然后使用保管库的“名称”作为“主体” 。 选择保管库,并在完成后选择“保存”。

    选择角色和主体

若要以更精细的级别管理权限,请参阅手动创建角色和权限

创建用于 Azure 备份的专用终结点

本部分介绍如何为保管库创建专用终结点。

  1. 导航到前面创建的保管库,然后转到左侧导航栏上的“专用终结点连接”。 选择顶部的“+ 专用终结点”开始为此保管库创建新的专用终结点。

    创建新的专用终结点

  2. 在“创建专用终结点”过程中,需要指定用于创建专用终结点连接的详细信息。

    1. 基本信息:填写专用终结点的基本详细信息。 区域应是所要备份的保管库和资源所在的同一区域。

      填写基本详细信息

    2. 资源:此选项卡要求选择要为其创建连接的 PaaS 资源。 从所需订阅的资源类型中选择“Microsoft.RecoveryServices/vaults”。 完成后,选择恢复服务保管库的名称作为“资源”,选择“AzureBackup”作为“目标子资源” 。

      选择用于连接的资源

    3. 配置:从配置中,指定要在其中创建专用终结点的虚拟网络和子网。 这将是 VM 所在的 Vnet。

      若要以私密方式进行连接,需要创建所需的 DNS 记录。 可以根据网络设置选择以下方案之一:

      • 将专用终结点与专用 DNS 区域相集成:若要集成,请选择“是”。
      • 使用自定义 DNS 服务器:若要使用自己的 DNS 服务器,请选择“否”。

      稍后将介绍如何管理这两种方案的 DNS 记录。

      指定虚拟网络和子网

    4. (可选)可以为专用终结点添加标记。

    5. 输入详细信息后,继续“查看 + 创建”。 完成验证后,选择“创建”以创建专用终结点。

批准专用终结点

如果创建专用终结点的用户也是恢复服务保管库的所有者,则将自动批准上面创建的专用终结点。 否则,保管库的所有者必须先批准专用终结点,然后才能使用该终结点。 本部分介绍如何通过 Azure 门户手动批准专用终结点。

请参阅使用 Azure 资源管理器客户端手动批准专用终结点,以使用 Azure 资源管理器客户端批准专用终结点。

  1. 在恢复服务保管库中,导航到左侧栏的“专用终结点连接”。

  2. 选择要批准的专用终结点连接。

  3. 在顶部栏上选择“批准”。 如果要拒绝或删除终结点连接,还可以选择“拒绝”或“删除” 。

    批准专用终结点

管理 DNS 记录

如前所述,需在专用 DNS 区域或服务器中创建所需的 DNS 记录才能建立私密连接。 可将专用终结点直接与 Azure 专用 DNS 区域集成,或者根据网络首选项使用自定义 DNS 服务器来实现此目的。 需要针对所有三个服务执行此操作:备份、Blob 和队列。

此外,如果 DNS 区域或服务器存在于与包含专用终结点的订阅不同的订阅中,另请参阅当 DNS 服务器/DNS 区域存在于另一个订阅中时,创建 DNS 条目

将专用终结点与 Azure 专用 DNS 区域集成时

如果选择将专用终结点与专用 DNS 区域集成,Azure 备份服务会添加所需的 DNS 记录。 可以在专用终结点的 DNS 配置下查看所用的专用 DNS 区域。 如果这些 DNS 区域不存在,在创建专用终结点时系统会自动创建这些区域。

注意

分配给保管库的托管标识应有权在 Azure 专用 DNS 区域中添加 DNS 记录。

但是,必须按照下面所述,验证虚拟网络(包含所要备份的资源)是否已正确链接到所有三个专用 DNS 区域。

Azure 专用 DNS 区域中的 DNS 配置

注意

如果使用代理服务器,则可以选择跳过代理服务器或通过代理服务器执行备份。 若要跳过代理服务器,请继续阅读以下各部分。 若要使用代理服务器执行备份,请参阅恢复服务保管库的代理服务器设置详细信息

对于上面列出的每个专用 DNS 区域(备份、Blob 和队列),请执行以下操作:

  1. 导航到左侧导航栏上的相应“虚拟网络链接”选项。

  2. 应该可以看到已为其创建专用终结点的虚拟网络的对应条目,如下所示:

    专用终结点的虚拟网络

  3. 如果未看到条目,请将虚拟网络链接添加到没有该链接的所有 DNS 区域。

    添加虚拟网络链接

使用自定义 DNS 服务器或主机文件时

  • 如果使用自定义 DNS 服务器,则可以使用备份服务、blob 和队列 FQDN 的条件转发器以将 DNS 请求重定向到 Azure DNS (168.63.129.16)。 Azure DNS 将其重定向到 Azure 专用 DNS 区域。 在此类设置中,请确保存在 Azure 专用 DNS 区域的虚拟网络链接,如本部分中所述。

    下表列出了 Azure 备份所需的 Azure 专用 DNS 区域:

    区域 服务
    privatelink.<geo>.backup.windowsazure.com 备份
    privatelink.blob.core.windows.net Blob
    privatelink.queue.core.windows.net 队列

    备注

    在上面的文本中,<geo> 表示区域代码(例如,eusne 分别表示美国东部和北欧)。 参考以下区域代码列表:

  • 如果使用自定义 DNS 服务器或主机文件,且未设置 Azure 专用 DNS 区域,则需要将专用终结点所需的 DNS 记录添加到 DNS 服务器或主机文件中。

    • 对于备份服务:导航到创建的专用终结点,然后转到“DNS 配置”。 然后为每个 FQDN 和 IP 添加一个条目,这些条目将作为“类型 A”记录显示在用于备份的 DNS 区域中。

      如果使用主机文件进行名称解析,请根据格式 <private ip><space><backup service privatelink FQDN> 在主机文件中为每个 IP 和 FQDN 创建相应的条目。

    • 对于 Blob 和队列:Azure 备份使用托管标识权限为 Blob 和队列创建专用终结点。 Blob 和队列的专用终结点遵循标准命名模式,它们以 <the name of the private endpoint>_ecs<the name of the private endpoint>_prot 开始,并分别以 _blob_queue 为后缀。

      按照上述模式导航到 Azure 备份创建的专用终结点,然后转到“DNS 配置”。 然后为每个 FQDN 和 IP 添加一个条目,这些条目将作为“类型 A”记录显示在用于备份的 DNS 区域中。

      如果使用主机文件进行名称解析,请根据格式 <private ip><space><blob/queue FQDN> 在主机文件中为每个 IP 和 FQDN 创建相应的条目。

注意

Azure 备份可能会为备份数据的保管库分配新的存储帐户,并且扩展或代理需要访问相应的终结点。 有关如何在注册和备份后添加更多 DNS 记录的详细信息,请参阅使用专用终结点进行备份部分中的指南。

使用用于备份的专用终结点

当 VNet 中为保管库创建的专用终结点获得批准后,即可开始使用它们来执行备份和还原。

重要

在继续之前,请确保已成功完成文档中的上述所有步骤。 概括起来,必须完成以下清单中的步骤:

  1. 已创建(新的)恢复服务保管库
  2. 已启用保管库,以使用系统分配的托管标识
  3. 已向保管库的托管标识分配相关权限
  4. 已为保管库创建专用终结点
  5. 已批准专用终结点(如果未自动批准)
  6. 确保已正确添加所有 DNS 记录(自定义服务器的 Blob 和队列记录除外,后面的部分将对此予以介绍)

检查 VM 连接

在已锁定的网络中的 VM 上,确保:

  1. 该 VM 应该可以访问 Microsoft Entra ID。
  2. 从 VM 对备份 URL (xxxxxxxx.privatelink.<geo>.backup.windowsazure.com) 执行 nslookup,确保已建立连接。 此命令应返回虚拟网络中分配的专用 IP。

配置备份

确保符合上述清单中的要求并可以成功进行网络访问后,可以继续配置将工作负载备份到保管库的设置。 如果使用自定义 DNS 服务器,则在配置第一个备份后,需要为可用的 Blob 和队列添加 DNS 条目。

首次注册后的 Blob 和队列的 DNS 记录(仅适用于自定义 DNS 服务器/主机文件)

在为启用了专用终结点的保管库中的至少一个资源配置备份后,请按如下所述为 Blob 和队列添加所需的 DNS 记录。

  1. 导航到你的资源组,然后搜索创建的专用终结点。

  2. 除了你所指定的专用终结点名称之外,还会看到另外两个正在创建的专用终结点。 这些终结点以 <the name of the private endpoint>_ecs 开头,分别以 _blob_queue 为后缀。

    专用终结点资源

  3. 导航到其中的每个专用终结点。 在每个(共两个)专用终结点的 DNS 配置选项中,会看到一条包含 FQDN 和 IP 地址的记录。 除了添加前面所述的记录以外,再将这两条记录添加到自定义 DNS 服务器。 如果使用主机文件,请根据以下格式在主机文件中为每个 IP/FQDN 创建相应的条目:

    <private ip><space><blob service privatelink FQDN>
    <private ip><space><queue service privatelink FQDN>

    Blob DNS 配置

除上面所述的条目以外,在完成首次备份后还需要另一个条目,稍后将对此予以介绍。

在 Azure VM 中备份和还原工作负载(SQL 和 SAP HANA)

创建并批准专用终结点后,无需在客户端进行任何其他更改即可使用该专用终结点(除非使用了 SQL 可用性组,本部分稍后将对此予以介绍)。 从受保护的网络到保管库的所有通信和数据传输都将通过专用终结点执行。 但是,如果在将某个服务器(SQL 或 SAP HANA)注册到保管库之后删除了该保管库的专用终结点,则需要向该保管库重新注册容器。 不需要停止对它们的保护。

首次备份后的 Blob 的 DNS 记录(仅适用于自定义 DNS 服务器/主机文件)

运行首次备份后,如果你使用的是自定义 DNS 服务器(未启用条件转发),备份有可能会失败。 如果发生这种情况:

  1. 导航到你的资源组,然后搜索创建的专用终结点。

  2. 除了前面所述的三个专用终结点以外,现在还会看到第四个专用终结点,其名称以 <the name of the private endpoint>_prot 开头,后缀为 _blob

    带有后缀“prot”的专用终结点

  3. 导航到这个新的专用终结点。 在 DNS 配置选项中,会看到一条包含 FQDN 和 IP 地址的记录。 除了添加上述记录外,还将这些记录添加到专用 DNS 服务器。

    如果使用主机文件,请根据以下格式在主机文件中为每个 IP 和 FQDN 创建相应的条目:

    <private ip><space><blob service privatelink FQDN>

注意

此时,应该可以从 VM 运行 nslookup,并在处理完保管库的备份和存储 URL 后对专用 IP 地址进行解析。

使用 SQL 可用性组时

使用 SQL 可用性组 (AG) 时,需要按如下所述在自定义 AG DNS 中预配条件转发:

  1. 登录到域控制器。

  2. 在 DNS 应用程序下,根据需要将所有三个 DNS 区域(备份、Blob 和队列)的条件转发器添加到主机 IP 168.63.129.16 或自定义的 DNS 服务器 IP 地址。 以下屏幕截图显示正在转发到 Azure 主机 IP。 如果你使用自己的 DNS 服务器,请替换为你的 DNS 服务器 IP。

    DNS 管理器中的条件转发器

    新建条件转发器

通过 MARS 代理和 DPM 服务器进行备份和还原

使用 MARS 代理备份本地资源时,请确保已将本地网络(包含要备份的资源)与包含保管库的专用终结点的 Azure VNet 对等互连,以便可以使用它。 然后可以继续安装 MARS 代理并配置备份,如此处所述。 但必须确保仅通过对等互连网络进行所有备份通信。

但是,如果在将某个 MARS 代理注册到保管库后删除了该保管库的专用终结点,则需要向该保管库重新注册容器。 不需要停止对它们的保护。

注意

  • 仅 DPM 服务器 2022 及更高版本支持专用终结点。
  • MABS 尚不支持专用终结点。

删除专用终结点

请参阅此部分了解如何删除专用终结点。

其他主题

使用 Azure 资源管理器客户端创建恢复服务保管库

可以使用 Azure 资源管理器客户端创建恢复服务保管库,并启用其托管标识(必须启用托管标识,稍后会进行介绍)。 执行此操作的示例如下所示:

armclient PUT /subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/Vaults/<vaultname>?api-version=2017-07-01-preview @C:\<filepath>\MSIVault.json

上面的 JSON 文件应包含以下内容:

请求 JSON:

{
  "location": "eastus2",
  "name": "<vaultname>",
  "etag": "W/\"datetime'2019-05-24T12%3A54%3A42.1757237Z'\"",
  "tags": {
    "PutKey": "PutValue"
  },
  "properties": {},
  "id": "/subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/Vaults/<vaultname>",
  "type": "Microsoft.RecoveryServices/Vaults",
  "sku": {
    "name": "RS0",
    "tier": "Standard"
  },
  "identity": {
    "type": "systemassigned"
  }
}

响应 JSON:

{
   "location": "eastus2",
   "name": "<vaultname>",
   "etag": "W/\"datetime'2020-02-25T05%3A26%3A58.5181122Z'\"",
   "tags": {
     "PutKey": "PutValue"
   },
   "identity": {
     "tenantId": "<tenantid>",
     "principalId": "<principalid>",
     "type": "SystemAssigned"
   },
   "properties": {
     "provisioningState": "Succeeded",
     "privateEndpointStateForBackup": "None",
     "privateEndpointStateForSiteRecovery": "None"
   },
   "id": "/subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/Vaults/<vaultname>",
   "type": "Microsoft.RecoveryServices/Vaults",
   "sku": {
     "name": "RS0",
     "tier": "Standard"
   }
 }

注意

已通过 Azure 资源管理器客户端创建此示例中的保管库,该保管库具有系统分配的托管标识。

管理资源组的权限

保管库的托管标识需要在将创建专用终结点的资源组和虚拟网络中具有以下权限:

  • Microsoft.Network/privateEndpoints/* 必须具有此权限才能在资源组中的专用终结点上执行 CRUD。 应对资源组分配该权限。
  • Microsoft.Network/virtualNetworks/subnets/join/action 必须具有此权限才能将专用 IP 附加到专用终结点的虚拟网络。
  • Microsoft.Network/networkInterfaces/read 资源组需要此权限,才能获取为专用终结点创建的网络接口。
  • 专用 DNS 区域参与者角色 此角色已存在并且可用于提供 Microsoft.Network/privateDnsZones/A/*Microsoft.Network/privateDnsZones/virtualNetworkLinks/read 权限。

可以使用以下方法之一创建具有所需权限的角色:

手动创建角色和权限

创建以下 JSON 文件,并使用本部分末尾的 PowerShell 命令来创建角色:

//PrivateEndpointContributorRoleDef.json

{
  "Name": "PrivateEndpointContributor",
  "Id": null,
  "IsCustom": true,
  "Description": "Allows management of Private Endpoint",
  "Actions": [
    "Microsoft.Network/privateEndpoints/*",
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/00000000-0000-0000-0000-000000000000"
  ]
}

//NetworkInterfaceReaderRoleDef.json

{
  "Name": "NetworkInterfaceReader",
  "Id": null,
  "IsCustom": true,
  "Description": "Allows read on networkInterfaces",
  "Actions": [
    "Microsoft.Network/networkInterfaces/read"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/00000000-0000-0000-0000-000000000000"
  ]
}

//PrivateEndpointSubnetContributorRoleDef.json

{
  "Name": "PrivateEndpointSubnetContributor",
  "Id": null,
  "IsCustom": true,
  "Description": "Allows adding of Private Endpoint connection to Virtual Networks",
  "Actions": [
    "Microsoft.Network/virtualNetworks/subnets/join/action"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/00000000-0000-0000-0000-000000000000"
  ]
}
 New-AzRoleDefinition -InputFile "PrivateEndpointContributorRoleDef.json"
 New-AzRoleDefinition -InputFile "NetworkInterfaceReaderRoleDef.json"
 New-AzRoleDefinition -InputFile "PrivateEndpointSubnetContributorRoleDef.json"

使用脚本

  1. 在 Azure 门户中启动 Cloud Shell,然后在 PowerShell 窗口中选择“上传文件”。

    在 PowerShell 窗口中选择“上传文件”

  2. 上传以下脚本:VaultMsiPrereqScript

  3. 转到主文件夹(例如:cd /home/user

  4. 运行以下脚本:

    ./VaultMsiPrereqScript.ps1 -subscription <subscription-Id> -vaultPEResourceGroup <vaultPERG> -vaultPESubnetResourceGroup <subnetRG> -vaultMsiName <msiName>
    

    参数如下:

    • subscription:**SubscriptionId,具有要在其中为保管库创建专用终结点的资源组以及将在其中附加保管库的专用终结点的子网

    • vaultPEResourceGroup:将在其中为保管库创建专用终结点的资源组

    • vaultPESubnetResourceGroup:专用终结点将联接到的子网的资源组

    • vaultMsiName:保管库的 MSI 名称,与 VaultName 相同

  5. 完成身份验证,该脚本将获取上面提供的给定订阅的上下文。 如果租户中缺少适当的角色,则该脚本将创建角色并将角色分配给保管库的 MSI。

使用 Azure PowerShell 创建专用终结点

自动批准专用终结点

$vault = Get-AzRecoveryServicesVault `
        -ResourceGroupName $vaultResourceGroupName `
        -Name $vaultName

$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
        -Name $privateEndpointConnectionName `
        -PrivateLinkServiceId $vault.ID `
        -GroupId "AzureBackup"  

$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $VMResourceGroupName
$subnet = $vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq '<subnetName>'}


$privateEndpoint = New-AzPrivateEndpoint `
        -ResourceGroupName $vmResourceGroupName `
        -Name $privateEndpointName `
        -Location $location `
        -Subnet $subnet `
        -PrivateLinkServiceConnection $privateEndpointConnection `
        -Force

使用 Azure 资源管理器客户端手动批准专用终结点

  1. 使用 GetVault 获取专用终结点的专用终结点连接 ID。

    armclient GET /subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/vaults/<vaultname>?api-version=2017-07-01-preview
    

    这将返回专用终结点连接 ID。 可以使用连接 ID 的第一部分检索连接的名称,如下所示:

    privateendpointconnectionid = {peName}.{vaultId}.backup.{guid}

  2. 从响应中获取专用终结点连接 ID(以及专用终结点名称,如有需要),将其替换为以下 JSON 和 Azure 资源管理器 URI,并尝试将状态更改为“已批准/已拒绝/已断开连接”,如以下示例所示 :

    armclient PUT /subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/Vaults/<vaultname>/privateEndpointConnections/<privateendpointconnectionid>?api-version=2020-02-02-preview @C:\<filepath>\BackupAdminApproval.json
    

    JSON:

    {
    "id": "/subscriptions/<subscriptionid>/resourceGroups/<rgname>/providers/Microsoft.RecoveryServices/Vaults/<vaultname>/privateEndpointConnections/<privateendpointconnectionid>",
    "properties": {
        "privateEndpoint": {
        "id": "/subscriptions/<subscriptionid>/resourceGroups/<pergname>/providers/Microsoft.Network/privateEndpoints/pename"
        },
        "privateLinkServiceConnectionState": {
        "status": "Disconnected",  //choose state from Approved/Rejected/Disconnected
        "description": "Disconnected by <userid>"
        }
    }
    }
    

使用专用终结点为恢复服务保管库设置代理服务器

若要为 Azure VM 或本地计算机配置代理服务器,请执行以下步骤:

  1. 添加需要从代理服务器访问的以下域。

    服务 域名 端口
    Azure 备份 *.backup.windowsazure.com 443
    Azure 存储 *.blob.core.windows.net

    *.queue.core.windows.net

    *.blob.storage.azure.net
    443
    Microsoft Entra ID

    更新了 Microsoft 365 Common 与 Office Online 中 56 和 59 节下提到的域 URL。
    *.msftidentity.com、*.msidentity.com、account.activedirectory.windowsazure.com、accounts.accesscontrol.windows.net、adminwebservice.microsoftonline.com、api.passwordreset.microsoftonline.com、autologon.microsoftazuread-sso.com、becws.microsoftonline.com、clientconfig.microsoftonline-p.net、companymanager.microsoftonline.com、device.login.microsoftonline.com、graph.microsoft.com、graph.windows.net、login.microsoft.com、login.microsoftonline.com、login.microsoftonline-p.com、login.windows.net、logincert.microsoftonline.com、loginex.microsoftonline.com、login-us.microsoftonline.com、nexus.microsoftonline-p.com、passwordreset.microsoftonline.com、provisioningapi.microsoftonline.com

    20.190.128.0/18、40.126.0.0/18、2603:1006:2000::/48、2603:1007:200::/48、2603:1016:1400::/48、2603:1017::/48、2603:1026:3000::/48、2603:1027:1::/48、2603:1036:3000::/48、2603:1037:1::/48、2603:1046:2000::/48、2603:1047:1::/48、2603:1056:2000::/48、2603:1057:2::/48

    *.hip.live.com、*.microsoftonline.com、*.microsoftonline-p.com、*.msauth.net、*.msauthimages.net、*.msecnd.net、*.msftauth.net、*.msftauthimages.net、*.phonefactor.net、enterpriseregistration.windows.net、management.azure.com、policykeyservice.dc.ad.msft.net
    如果适用。
  2. 允许访问代理服务器中的这些域,将专用 DNS 区域(*.privatelink.<geo>.backup.windowsazure.com*.privatelink.blob.core.windows.net*.privatelink.queue.core.windows.net)链接到创建代理服务器的 VNET,或者使用具有相应 DNS 条目的自定义 DNS 服务器。

    运行代理服务器的 VNET 和创建专用终结点 NIC 的 VNET 应对等互连,这将允许代理服务器将请求重定向到专用 IP。

    备注

    在上面的文本中,<geo> 表示区域代码(例如,eusne 分别表示美国东部和北欧)。 参考以下区域代码列表:

下图显示了在使用 Azure 专用 DNS 区域时通过代理服务器进行的设置,该代理服务器的 VNet 链接到具有所需 DNS 条目的专用 DNS 区域。 代理服务器也可有自己的自定义 DNS 服务器,并且上述域可以有条件地转发到 168.63.129.16。 如果使用自定义 DNS 服务器/主机文件进行 DNS 解析,请参阅有关如何管理 DNS 条目配置保护的部分。

显示使用代理服务器进行设置的关系图。

当 DNS 服务器/DNS 区域存在于另一个订阅中时,创建 DNS 条目

在本部分,我们将讨论以下案例:使用订阅中存在的 DNS 区域,或者使用与包含恢复服务保管库专用终结点的资源组(如中心和分支拓扑)不同的资源组。 由于用于创建专用终结点的托管标识(以及 DNS 条目)仅对创建专用终结点的资源组具有权限,因此还需要所需的 DNS 条目。 使用以下 PowerShell 脚本创建 DNS 条目。

注意

请参阅下述的整个过程,以实现所需的结果。 此过程需要重复两次 - 在第一次发现(创建通信存储帐户所需的 DNS 条目)时重复一次,然后在第一次备份(创建后端存储帐户所需的 DNS 条目)时重复一次。

步骤 1:获取所需的 DNS 条目

使用 PrivateIP.ps1 脚本列出需要创建的所有 DNS 条目。

注意

以下语法中的 subscription 是指要创建保管库专用终结点的订阅。

使用脚本的语法

./PrivateIP.ps1 -Subscription "<VaultPrivateEndpointSubscriptionId>" -VaultPrivateEndpointName "<vaultPrivateEndpointName>" -VaultPrivateEndpointRGName <vaultPrivateEndpointRGName> -DNSRecordListFile dnsentries.txt

示例输出

ResourceName                                                                 DNS                                                                       PrivateIP
<vaultId>-ab-pod01-fc1         privatelink.eus.backup.windowsazure.com         10.12.0.15
<vaultId>-ab-pod01-fab1        privatelink.eus.backup.windowsazure.com         10.12.0.16
<vaultId>-ab-pod01-prot1       privatelink.eus.backup.windowsazure.com         10.12.0.17
<vaultId>-ab-pod01-rec2        privatelink.eus.backup.windowsazure.com         10.12.0.18
<vaultId>-ab-pod01-ecs1        privatelink.eus.backup.windowsazure.com         10.12.0.19
<vaultId>-ab-pod01-id1         privatelink.eus.backup.windowsazure.com         10.12.0.20
<vaultId>-ab-pod01-tel1        privatelink.eus.backup.windowsazure.com         10.12.0.21
<vaultId>-ab-pod01-wbcm1       privatelink.eus.backup.windowsazure.com         10.12.0.22
abcdeypod01ecs114        privatelink.blob.core.windows.net       10.12.0.23
abcdeypod01ecs114        privatelink.queue.core.windows.net      10.12.0.24
abcdeypod01prot120       privatelink.blob.core.windows.net       10.12.0.28
abcdeypod01prot121       privatelink.blob.core.windows.net       10.12.0.32
abcdepod01prot110       privatelink.blob.core.windows.net       10.12.0.36
abcdeypod01prot121       privatelink.blob.core.windows.net       10.12.0.30
abcdeypod01prot122       privatelink.blob.core.windows.net       10.12.0.34
abcdepod01prot120       privatelink.blob.core.windows.net       10.12.0.26

步骤 2:创建 DNS 条目

创建与上述条目相对应的 DNS 条目。 根据使用的 DNS 类型,有两种创建 DNS 条目的替代方法。

案例 1:如果使用的是自定义 DNS 服务器,则需要为上述脚本的每个记录手动创建条目,并验证 FQDN (ResourceName.DNS) 是否解析为 VNET 中的专用 IP。

案例 2:如果使用的是 Azure 专用 DNS 区域,可以使用 CreateDNSEntries.ps1 脚本自动在专用 DNS 区域中创建 DNS 条目。 在下面的语法中,subscription 是专用 DNS 区域所在的订阅。

使用脚本的语法

/CreateDNSEntries.ps1 -Subscription <PrivateDNSZoneSubId> -DNSResourceGroup <PrivateDNSZoneRG> -DNSRecordListFile dnsentries.txt

整个过程的摘要

若要通过此解决方法正确设置恢复服务保管库的专用终结点,需要:

  1. 为保管库创建专用终结点(如本文前面所述)。
  2. 触发发现。 UserErrorVMInternetConnectivityIssue 的 SQL/HANA 发现将失败,因为通信存储帐户没有 DNS 条目。
  3. 运行脚本获取 DNS 条目,并为此部分前面提到的通信存储帐户创建相应的 DNS 条目。
  4. 重新触发发现。 这次,发现应会成功。
  5. 触发备份。 对 SQL/HANA 和 MARS 的备份可能会失败,因为本部分前面提到的后端存储帐户没有 DNS 条目。
  6. 运行脚本为后端存储帐户创建 DNS 条目。
  7. 重新触发备份。 这次,备份应会成功。

常见问题解答

是否可以为现有的恢复服务保管库创建专用终结点?

不可以,只能为新的恢复服务保管库创建专用终结点。 因此,保管库不能包含受保护的任何项。 事实上,在创建专用终结点之前,不会尝试保护保管库中的任何项。

我尝试过保护保管库中的某一项,但失败了,并且保管库仍未包含任何受保护的项。 是否可以为此保管库创建专用终结点?

不可以,保管库在过去不能尝试保护任何项。

我有一个使用专用终结点进行备份和还原的保管库。 在我具有保管库的受保护备份项的情况下,是否可以在之后添加或删除此保管库的专用终结点?

是的。 如果已为保管库创建专用终结点并保护了该保管库的备份项,则可以根据需要在之后添加或删除专用终结点。

Azure 备份的专用终结点是否也可用于 Azure Site Recovery?

否,用于备份的专用终结点仅可用于 Azure 备份。 如果服务支持,则需要为 Azure Site Recovery 创建新的专用终结点。

我漏掉了本文中的一个步骤,并继续对数据源进行了保护。 我是否仍可以使用专用终结点?

未遵循本文的步骤操作并继续保护项可能导致无法使用专用终结点。 因此,建议在继续保护项之前查看此清单。

我是否可以使用自己的 DNS 服务器,而不使用 Azure 专用 DNS 区域或集成的专用 DNS 区域?

是的,你可以使用自己的 DNS 服务器。 但是,请确保按照本部分中的建议添加所有必需的 DNS 记录。

按照本文中的过程操作后,是否需要在服务器上执行任何其他步骤?

按照本文中详细说明的过程操作后,无需执行其他操作即可使用专用终结点进行备份和还原。

后续步骤