创建 Azure ExpressRoute Direct

ExpressRoute Direct 使你能够通过战略性分布在全球的对等互连位置直接连接到Azure的全球网络。 有关详细信息,请参阅关于 ExpressRoute Direct Connect

本文介绍如何使用 Azure 门户、PowerShell 和Azure CLI创建 ExpressRoute Direct。

在您开始之前

需要先注册订阅,然后才能使用 ExpressRoute Direct。 若要注册,请使用Azure PowerShell运行以下命令:

  1. 登录到Azure,然后选择要注册的订阅。

    Connect-AzAccount -Environment AzureChinaCloud 
    Select-AzSubscription -Subscription "<SubscriptionID or SubscriptionName>"
    
  2. 使用以下命令注册订阅:

    Register-AzProviderFeature -FeatureName AllowExpressRoutePorts -ProviderNamespace Microsoft.Network
    

注册后,验证 Microsoft.Network 资源提供程序是否已在你的订阅中注册。 通过注册资源提供程序,将您的订阅配置为与资源提供程序共同使用。

创建 ExpressRoute Direct 资源

  1. 登录到Azure并选择订阅。 ExpressRoute Direct 资源和 ExpressRoute 线路必须位于同一订阅中。

    Connect-AzAccount -Environment AzureChinaCloud 
    
    Select-AzSubscription -Subscription "<SubscriptionID or SubscriptionName>"
    
  2. 将您的订阅重新注册到 Microsoft.Network,以便访问 expressrouteportslocation 和 expressrouteport APIs。

    Register-AzResourceProvider -ProviderNameSpace "Microsoft.Network"
    
  3. 列出支持 ExpressRoute Direct 的所有位置。

    Get-AzExpressRoutePortsLocation | format-list
    

    示例输出

    Name                : Equinix-Ashburn-DC2
    Id                  : /subscriptions/<subscriptionID>/providers/Microsoft.Network/expressRoutePortsLocations/Equinix-Ashburn-D
                         C2
    ProvisioningState   : Succeeded
    Address             : 21715 Filigree Court, DC2, Building F, Ashburn, VA 20147
    Contact             : support@equinix.com
    AvailableBandwidths : []
    
    Name                : Equinix-Dallas-DA3
    Id                  : /subscriptions/<subscriptionID>/providers/Microsoft.Network/expressRoutePortsLocations/Equinix-Dallas-DA
                         3
    ProvisioningState   : Succeeded
    Address             : 1950 N. Stemmons Freeway, Suite 1039A, DA3, Dallas, TX 75207
    Contact             : support@equinix.com
    AvailableBandwidths : []
    
    Name                : Equinix-San-Jose-SV1
    Id                  : /subscriptions/<subscriptionID>/providers/Microsoft.Network/expressRoutePortsLocations/Equinix-San-Jose-
                         SV1
    ProvisioningState   : Succeeded
    Address             : 11 Great Oaks Blvd, SV1, San Jose, CA 95119
    Contact             : support@equinix.com
    AvailableBandwidths : []
    
  4. 确定上一步中列出的位置是否具有可用带宽。

    Get-AzExpressRoutePortsLocation -LocationName "Equinix-San-Jose-SV1" | format-list
    

    示例输出

    Name                : Equinix-San-Jose-SV1
    Id                  : /subscriptions/<subscriptionID>/providers/Microsoft.Network/expressRoutePortsLocations/Equinix-San-Jose-
                         SV1
    ProvisioningState   : Succeeded
    Address             : 11 Great Oaks Blvd, SV1, San Jose, CA 95119
    Contact             : support@equinix.com
    AvailableBandwidths : [
                           {
                             "OfferName": "100 Gbps",
                             "ValueInGbps": 100
                           }
                         ]
    

    注释

    如果目标位置的带宽不可用,请在 Azure 门户中打开 support 请求并选择 ExpressRoute 直接支持主题。

  5. 根据上一步中的位置创建 ExpressRoute Direct 资源。

    ExpressRoute Direct 支持 QinQ 和 Dot1Q 封装。 如果选择了 QinQ,则会为每个 ExpressRoute 线路动态分配一个 S-Tag,并且每个线路在整个 ExpressRoute Direct 资源中是唯一的。 线路上的每个 C-Tag 在该线路上必须是唯一的,但在整个 ExpressRoute Direct 中不必唯一。

    如果选择 Dot1Q 封装,则必须在整个 ExpressRoute Direct 资源中管理 C 标记(VLAN)的唯一性。

    重要

    ExpressRoute Direct 只能采用一种封装类型。 无法在创建 ExpressRoute Direct 后更改封装。

    $ERDirect = New-AzExpressRoutePort -Name $Name -ResourceGroupName $ResourceGroupName -PeeringLocation $PeeringLocationName -BandwidthInGbps 100.0 -Encapsulation QinQ | Dot1Q -Location $AzureRegion
    

    注释

    封装属性也可以设置为 Dot1Q。

    示例输出:

    Name                       : Contoso-Direct
    ResourceGroupName          : Contoso-Direct-rg
    Location                   : chinaeast
    Id                         : /subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.Network/exp
                                ressRoutePorts/Contoso-Direct
    Etag                       : W/"<etagnumber> "
    ResourceGuid               : <number>
    ProvisioningState          : Succeeded
    PeeringLocation            : Equinix-Seattle-SE2
    BandwidthInGbps            : 100
    ProvisionedBandwidthInGbps : 0
    Encapsulation              : QinQ
    Mtu                        : 1500
    EtherType                  : 0x8100
    AllocationDate             : Saturday, September 1, 2018
    Links                      : [
                                  {
                                    "Name": "link1",
                                    "Etag": "W/\"<etagnumber>\"",
                                    "Id": "/subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.
                                Network/expressRoutePorts/Contoso-Direct/links/link1",
                                    "RouterName": "tst-09xgmr-cis-1",
                                    "InterfaceName": "HundredGigE2/2/2",
                                    "PatchPanelId": "PPID",
                                    "RackId": "RackID",
                                    "ConnectorType": "SC",
                                    "AdminState": "Disabled",
                                    "ProvisioningState": "Succeeded"
                                  },
                                  {
                                    "Name": "link2",
                                    "Etag": "W/\"<etagnumber>\"",
                                    "Id": "/subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.
                                Network/expressRoutePorts/Contoso-Direct/links/link2",
                                    "RouterName": "tst-09xgmr-cis-2",
                                    "InterfaceName": "HundredGigE2/2/2",
                                    "PatchPanelId": "PPID",
                                    "RackId": "RackID",
                                    "ConnectorType": "SC",
                                    "AdminState": "Disabled",
                                    "ProvisioningState": "Succeeded"
                                  }
                                ]
    Circuits                   : []
    

生成授权书 (LOA)

引用最近创建的 ExpressRoute Direct 资源,输入要向其写入 LOA 的客户名称,并(可选)定义用于存储文档的文件位置。 如果未引用文件路径,文档将下载到当前目录。

Azure PowerShell

 New-AzExpressRoutePortLOA -ExpressRoutePort $ERDirect -CustomerName TestCustomerName -Destination "C:\Users\SampleUser\Downloads" 

示例输出

Written Letter of Authorization To: C:\Users\SampleUser\Downloads\LOA.pdf

应当使用此过程执行第 1 层测试,以确保每个交叉连接都已针对主端口和辅助端口正确设置到每台路由器中。

  1. 获取 ExpressRoute Direct 详细信息。

    $ERDirect = Get-AzExpressRoutePort -Name $Name -ResourceGroupName $ResourceGroupName
    
  2. 将“链接”设置为“已启用”。 重复此步骤,将每个链接设置为启用。

    Links[0] 是主端口,Links[1] 是辅助端口。

    $ERDirect.Links[0].AdminState = "Enabled"
    Set-AzExpressRoutePort -ExpressRoutePort $ERDirect
    $ERDirect = Get-AzExpressRoutePort -Name $Name -ResourceGroupName $ResourceGroupName
    $ERDirect.Links[1].AdminState = "Enabled"
    Set-AzExpressRoutePort -ExpressRoutePort $ERDirect
    

    示例输出:

    Name                       : Contoso-Direct
    ResourceGroupName          : Contoso-Direct-rg
    Location                   : chinaeast
    Id                         : /subscriptions/<number>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.Network/exp
                              ressRoutePorts/Contoso-Direct
    Etag                       : W/"<etagnumber> "
    ResourceGuid               : <number>
    ProvisioningState          : Succeeded
    PeeringLocation            : Equinix-Seattle-SE2
    BandwidthInGbps            : 100
    ProvisionedBandwidthInGbps : 0
    Encapsulation              : QinQ
    Mtu                        : 1500
    EtherType                  : 0x8100
    AllocationDate             : Saturday, September 1, 2018
    Links                      : [
                                {
                                  "Name": "link1",
                                  "Etag": "W/\"<etagnumber>\"",
                                  "Id": "/subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.
                              Network/expressRoutePorts/Contoso-Direct/links/link1",
                                  "RouterName": "tst-09xgmr-cis-1",
                                  "InterfaceName": "HundredGigE2/2/2",
                                  "PatchPanelId": "PPID",
                                  "RackId": "RackID",
                                  "ConnectorType": "SC",
                                  "AdminState": "Enabled",
                                  "ProvisioningState": "Succeeded"
                                },
                                {
                                  "Name": "link2",
                                  "Etag": "W/\"<etagnumber>\"",
                                  "Id": "/subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.
                              Network/expressRoutePorts/Contoso-Direct/links/link2",
                                  "RouterName": "tst-09xgmr-cis-2",
                                  "InterfaceName": "HundredGigE2/2/2",
                                  "PatchPanelId": "PPID",
                                  "RackId": "RackID",
                                  "ConnectorType": "SC",
                                  "AdminState": "Enabled",
                                  "ProvisioningState": "Succeeded"
                                }
                              ]
    Circuits                   : []
    

    使用相同的过程和 AdminState = "Disabled" 设置可关闭端口。

创建电路

默认情况下,可以在 ExpressRoute Direct 资源所在的订阅中创建 10 条线路。 可以通过支持请求增加此限制。 你负责跟踪预配的和已利用的带宽。 预配带宽是 ExpressRoute Direct 资源上所有线路的带宽之和,并且已利用的带宽是基础物理接口的物理使用情况。

ExpressRoute Direct 端口上可以使用更多线路带宽,仅支持前面概述的方案。 这些带宽为 40 Gbps 和 100 Gbps。

SkuTier 可以是标准版,也可以是高级版。

SkuFamily 在创建时只能是 MeteredData。 若要使用“无限制”数据,需要在创建后更新 SkuFamily。

注释

一旦更改为“无限制”数据,就无法将其更改回来,除非重新创建 ExpressRoute 线路。

在 ExpressRoute Direct 资源上创建线路。

New-AzExpressRouteCircuit -Name $Name -ResourceGroupName $ResourceGroupName -ExpressRoutePort $ERDirect -BandwidthinGbps 100.0  -Location $AzureRegion -SkuTier Premium -SkuFamily MeteredData 

其他带宽包括:5.0、10.0 和 40.0

示例输出:

Name                             : ExpressRoute-Direct-ckt
ResourceGroupName                : Contoso-Direct-rg
Location                         : chinaeast
Id                               : /subscriptions/<subscriptionID>/resourceGroups/Contoso-Direct-rg/providers/Microsoft.Netwo
                                 rk/expressRouteCircuits/ExpressRoute-Direct-ckt
Etag                             : W/"<etagnumber>"
ProvisioningState                : Succeeded
Sku                              : {
                                   "Name": "Premium_MeteredData",
                                   "Tier": "Premium",
                                   "Family": "MeteredData"
                                 }
CircuitProvisioningState         : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes             : 
ServiceProviderProperties        : null
ExpressRoutePort                 : {
                                   "Id": "/subscriptions/<subscriptionID>n/resourceGroups/Contoso-Direct-rg/providers/Micros
                                 oft.Network/expressRoutePorts/Contoso-Direct"
                                 }
BandwidthInGbps                  : 10
Stag                             : 2
ServiceKey                       : aaaaaaaa-0b0b-1c1c-2d2d-333333333333
Peerings                         : []
Authorizations                   : []
AllowClassicOperations           : False
GatewayManagerEtag     

在另一个订阅中启用 ExpressRoute Direct 和线路

可以为 ExpressRoute Direct 资源创建授权,并兑换授权,以在不同的订阅或Microsoft Entra租户中创建 ExpressRoute 线路。

  1. 登录到Azure并选择 ExpressRoute Direct 订阅。

    Connect-AzAccount -Environment AzureChinaCloud 
    
    Select-AzSubscription -Subscription "<SubscriptionID or SubscriptionName>"
    
  2. 获取 ExpressRoute Direct 详细信息:

    Get-AzExpressRoutePort 
    
    $ERPort = Get-AzExpressRoutePort -Name $Name -ResourceGroupName $ResourceGroupName
    
  3. 通过在 PowerShell 中运行以下命令创建 ExpressRoute Direct 授权:

    Add-AzExpressRoutePortAuthorization -Name $AuthName -ExpressRoutePort $ERPort
    

    示例输出:

        Name                   : ERDirectAuthorization_1
        Id                     : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/erdirect-rg/providers/Microsoft.Network/expressRoutePorts/erdirect/authorizations/ERDirectAuthorization_1
        Etag                   : W/"24cac874-dfb4-4931-9447-28e67edd5155"
        AuthorizationKey       : 6e1fc16a-0777-4cdc-a206-108f2f0f67e8
        AuthorizationUseStatus : Available
        ProvisioningState      : Succeeded
        CircuitResourceUri     :
    
  4. 验证是否已成功创建授权,并将 ExpressRoute Direct 授权存储到变量中:

    $ERDirectAuthorization = Get-AzExpressRoutePortAuthorization -ExpressRoutePortObject $ERPort -Name $AuthName
    $ERDirectAuthorization  
    

    示例输出:

      Name                   : ERDirectAuthorization_1
      Id                     : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/erdirect-rg/providers/Microsoft.Network/expressRoutePorts/erdirect/authorizations/ERDirectAuthorization_1
      Etag                   : W/"24cac874-dfb4-4931-9447-28e67edd5155"
      AuthorizationKey       : aaaaaaaa-0b0b-1c1c-2d2d-333333333333
      AuthorizationUseStatus : Available
      ProvisioningState      : Succeeded
      CircuitResourceUri     :on  
    
  5. 使用以下命令兑换授权以在不同的订阅或Microsoft Entra租户中创建 ExpressRoute Direct 线路:

    Select-AzSubscription -Subscription "<SubscriptionID or SubscriptionName>"
    
    New-AzExpressRouteCircuit -Name $Name -ResourceGroupName $RGName -Location $Location -SkuTier $SkuTier -SkuFamily $SkuFamily -BandwidthInGbps $BandwidthInGbps -ExpressRoutePort $ERPort -AuthorizationKey $ERDirectAuthorization.AuthorizationKey
    

后续步骤