Поделиться через


Создание или изменение пиринга Exchange с помощью PowerShell

В этой статье рассматривается, как создать пиринг Microsoft Exchange, используя командлеты PowerShell и модель развертывания Azure Resource Manager. Также в статье будет показано, как проверить состояние ресурса, обновить его или удалить и отозвать.

По желанию все инструкции из этого руководства можно также выполнить с помощью портала Azure.

Подготовка к работе

Работа в Azure PowerShell

Для запуска командлетов можно использовать бесплатную интерактивную оболочку Azure Cloud Shell. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью. Выберите Копировать, чтобы скопировать код, и вставьте его в Cloud Shell. Затем выберите ВВОД для выполнения кода. Cloud Shell можно запустить несколькими способами:

Способ запуска Снимок экрана
Откройте Cloud Shell в браузере. https://shell.azure.com/powershell
Нажмите кнопку меню Cloud Shell на панели инструментов в правом верхнем углу окна портала Azure. Cloud Shell in the portal

Если вы не хотите использовать Azure Cloud Shell, можно установить PowerShell локально. Чтобы установить и использовать PowerShell локально, обязательно установите последнюю версию командлетов PowerShell для Azure Resource Manager. Командлеты PowerShell часто обновляются. Как правило, необходимо обновить командлеты PowerShell, чтобы получить новые функциональные возможности. В противном случае могут возникнуть проблемы.

Чтобы узнать, какая версия PowerShell выполняется локально, используйте командлет 'Get-Module -ListAvailable Az'. Если необходимо выполнить обновление, см. статью об установке модуля Azure PowerShell. Дополнительные сведения см. в разделе Установка и настройка Azure PowerShell.

Если используется PowerShell для macOS, выполните действия, описанные в разделе Установка PowerShell для macOS.

Создание и подготовка пиринга Exchange

Войдите в учетную запись Azure и выберите подписку.

Перед настройкой установите и импортируйте необходимые модули. Для установки модулей в PowerShell требуются права администратора.

  1. Установите и импортируйте модуль Az.

    Install-Module Az -AllowClobber
    Import-Module Az
    
  2. Установите и импортируйте модуль Az.Peering.

    Install-Module -Name Az.Peering -AllowClobber
    Import-Module Az.Peering
    
  3. Проверьте правильность импорта модулей с помощью следующей команды:

    Get-Module
    
  4. Войдите в учетную запись Azure с помощью следующей команды:

    Connect-AzAccount
    
  5. Проверьте подписки для учетной записи и выберите подписку, в которой вы хотите создать пиринг.

    Get-AzSubscription
    Select-AzSubscription -SubscriptionId "subscription-id"
    
  6. Если у вас еще нет группы ресурсов, необходимо создать ее перед созданием пиринга. с помощью следующей команды:

    New-AzResourceGroup -Name "PeeringResourceGroup" -Location "Central US"
    

Важно!

Если вы еще не установили связь с ASN и подпиской, выполните действия, описанные в разделе Связывание однорангового ASN. Это действие требуется для запроса пиринга.

Примечание.

Расположение группы ресурсов не зависит от расположения, в котором вы решили настроить пиринг.  

Получите список поддерживаемых расположений пиринга для Exchange

Командлет Get-AzPeeringLocation в PowerShell возвращает список расположений пиринга с обязательным параметром Kind, который вы будете использовать в следующих шагах.

Get-AzPeeringLocation -Kind "Exchange"

Расположения пиринга Exchange содержат следующие поля:

  • ExchangeName
  • PeeringLocation
  • Страна/регион
  • PeeringDBFacilityId
  • PeeringDBFacilityLink
  • MicrosoftIPv4Address
  • MicrosoftIPv6Address

Убедитесь, что вы зарегистрированы в нужном средстве пиринга, перейдя на сайт PeeringDB.

В этом примере показано, как использовать Сиэтл в качестве расположения пиринга при создании пиринга.

$exchangeLocations = Get-AzPeeringLocation -Kind Exchange
$exchangeLocation = $exchangeLocations | where {$_.PeeringLocation -eq "Seattle"}

#check the location metadata
$exchangeLocation

ExchangeName          : Columbia IX
PeeringLocation       : Seattle
Country               : US
PeeringDBFacilityId   : 99999
PeeringDBFacilityLink : https://www.peeringdb.com/ix/99999
MicrosoftIPv4Address  : 10.12.97.129
MicrosoftIPv6Address  :

ExchangeName          : Equinix Seattle
PeeringLocation       : Seattle
Country               : US
PeeringDBFacilityId   : 11
PeeringDBFacilityLink : https://www.peeringdb.com/ix/11
MicrosoftIPv4Address  : 198.32.134.152
MicrosoftIPv6Address  : 2001:504:12::15

...

Создание пиринга Exchange

В следующем примере показано, как создать подключение Exchange в Equinix Internet Exchange в Сиэтле. Если вы используете другой поставщик и другие параметры, подставьте в запрос соответствующие данные.

Используйте командлет PowerShell New-AzPeeringExchangeConnectionObject, чтобы создать объекты подключения PowerShell, которые будут использоваться для создания нового пирингового запроса.

В этом примере показано, как создать подключение Exchange.

$connection1 = New-AzPeeringExchangeConnectionObject `
    -PeeringDBFacilityId $exchangeLocation[1].PeeringDBFacilityId `
    -PeerSessionIPv4Address 198.32.134.22 `
    -PeerSessionIPv6Address  2001:504:12::22 `
    -MaxPrefixesAdvertisedIPv4 2000 `
    -MaxPrefixesAdvertisedIPv6 2000 `

Создайте другое подключение на случай, если требуется обеспечить избыточность в данном пиринговом расположении.

$connection2 = New-AzPeeringExchangeConnectionObject `
    -PeeringDBFacilityId $exchangeLocation[1].PeeringDBFacilityId `
    -PeerSessionIPv4Address 198.32.134.23 `
    -PeerSessionIPv6Address  2001:504:12::23 `
    -MaxPrefixesAdvertisedIPv4 2000 `
    -MaxPrefixesAdvertisedIPv6 2000 `

Командлет PowerShell New-AzPeering можно использовать для создания нового пиринга Exchange.

$asn = Get-AzPeerAsn
New-AzPeering `
    -Name "SeattleExchangePeering" `
    -ResourceGroupName "PeeringResourceGroup" `
    -PeerAsnResourceId $asn.Id `
    -PeeringLocation  $exchangeLocation[1].PeeringLocation `
    -ExchangeConnection $connection1[, $connection2]

 

Этот пример ответа демонстрирует выполнение запроса с помощью одного подключения.


Name              : SeattleExchangePeering
Sku.Name          : Basic_Exchange_Free
Kind              : Exchange
Connections       : {11}
PeerAsn.Id        : /subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}
PeeringLocation   : Seattle
ProvisioningState : Succeeded
Location          : West US 2
Id                : /subscriptions/{subscriptionId}/resourceGroups/PeeringResourceGroup/providers/Microsoft.Peering/peerings/SeattleExchangePeering
Type              : Microsoft.Peering/peerings
Tags              : {}

Важно!

Корпорация Майкрософт начинает подготовку запрошенного пиринга, и ConnectionState отражает ход выполнения. Дополнительные сведения о подготовительных действиях см. в руководстве по пирингу Exchange.

Вы можете проверить состояние подключения, выполнив приведенные здесь инструкции.


$peering = Get-AzPeering -Name "SeattleExchangePeering" -ResourceGroupName "PeeringResourceGroup"
$peering.Connections

PeeringDBFacilityId         : 11
PeerSessionIPv4Address      : 198.32.134.22
PeerSessionIPv6Address      : 2001:504:12::22
SessionStateV4              : PendingAdd
SessionStateV6              : PendingAdd
MaxPrefixesAdvertisedV4     : 2000
MaxPrefixesAdvertisedV6     : 2000
MicrosoftSessionIPv4Address : 198.32.134.152
MicrosoftSessionIPv4Address : 2001:504:12::15
Md5AuthenticationKey        :

Получение пиринга Exchange

Чтобы получить список пиринговых ресурсов, выполните команду Get-AzPeering.

Get-AzPeering ResourceGroupName "PeeringResourceGroup" -Name "SeattleExchangePeering"

В этом примере ответа демонстрируется успешное выполнение комплексной подготовки.

    Name                     : SeattleExchangePeering
    Sku                      : Basic_Exchange_Free
    Kind                     : Exchange
    PeeringLocation          : Seattle
    ProvisioningState        : Succeeded
    PeerAsn                  : 65000
    Connection               : ------------------------
    PeerSessionIPv4Address   : 10.21.31.100
    MicrosoftIPv4Address     : 10.21.31.50
    SessionStateV4           : Established
    MaxPrefixesAdvertisedV4  : 20000
    PeerSessionIPv6Address   : fe01::3e:100
    MicrosoftIPv6Address     : fe01::3e:50
    SessionStateV6           : Established
    MaxPrefixesAdvertisedV6  : 2000
    ConnectionState          : Active
    Connection               : ------------------------
    PeerSessionIPv4Address   : 10.21.31.101
    MicrosoftIPv4Address     : 10.21.31.51
    SessionStateV4           : Established
    MaxPrefixesAdvertisedV4  : 20000
    PeerSessionIPv6Address   : fe01::3e:101
    MicrosoftIPv6Address     : fe01::3e:51
    SessionStateV6           : Established
    MaxPrefixesAdvertisedV6  : 2000
    ConnectionState          : Active

Изменение пиринга Exchange

Для пиринга Exchange поддерживаются следующие операции изменения:

  • добавление подключений пиринга Exchange;
  • удаление подключений пиринга Exchange;
  • добавление сеансов IPv4 или IPv6 в активных подключениях;
  • удаление сеансов IPv4 или IPv6 в активных подключениях;

Добавление подключений пиринга Exchange

В этом примере описывается добавление подключений к существующему пирингу Exchange.


$exchangePeering = Get-AzPeering -Name "SeattleExchangePeering" -ResourceGroupName "PeeringResourceGroup"

$connection = New-AzPeeringExchangeConnectionObject `
    -PeeringDBFacilityId $exchangeLocation[1].PeeringDBFacilityId `
    -PeerSessionIPv4Address 198.32.134.22 `
    -PeerSessionIPv6Address  2001:504:12::22 `
    -MaxPrefixesAdvertisedIPv4 2000 `
    -MaxPrefixesAdvertisedIPv6 2000 `

$exchangePeering.Connections.Add($connection)

$exchangePeering | Update-AzPeering

Удаление подключений пиринга Exchange

В этом примере описывается удаление подключений из существующего пиринга Exchange.


$exchangePeering = Get-AzPeering -Name "SeattleExchangePeering" -ResourceGroupName "PeeringResourceGroup"

Просмотрите все подключения и выберите нужное для удаления.


$exchangePeering

Name              : SeattleExchangePeering
Sku.Name          : Basic_Exchange_Free
Kind              : Exchange
Connections       : {11}
PeerAsn.Id        : /subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}
PeeringLocation   : Seattle
ProvisioningState : Succeeded
Location          : West US 2
Id                : /subscriptions/{subscriptionId}/resourceGroups/PeeringResourceGroup/providers/Microsoft.Peering/peerings/SeattleExchangePeering
Type              : Microsoft.Peering/peerings
Tags              : {}

В следующей команде вместо 0 введите число индекса для подключения, которое нужно удалить.


$connection = $exchangePeering.Connections[0]

$exchangePeering.Connections.Remove($connection)

$exchangePeering | Update-AzPeering

Добавление сеансов IPv4 или IPv6 в активных подключениях

В этом примере описывается добавление сеанса IPv6 к существующему подключению Exchange.


$exchangePeering = Get-AzPeering -Name "SeattleExchangePeering" -ResourceGroupName "PeeringResourceGroup"

$exchangePeering.Connections[0].BgpSession.PeerSessionIPv6Address = "2001:504:12::34"

$exchangePeering | Update-AzPeering

Удаление сеансов IPv4 или IPv6 в активных подключениях

Удаление сеансов IPv4 или IPv6 из существующего подключения с помощью PowerShell в настоящее время не поддерживается. Обратитесь в Службу пиринга Microsoft Azure за дополнительной информацией.

Отзыв пиринга Exchange

В настоящее время отмена подготовки при помощи портала Azure или PowerShell не поддерживается. Чтобы отменить подготовку, обратитесь в службу пиринга Майкрософт.

Дополнительные ресурсы

Подробное описание всех параметров можно получить, выполнив следующую команду.

Get-Help Get-AzPeering -detailed

Следующие шаги