Создание или изменение пиринга Exchange с помощью PowerShell
В этой статье рассматривается, как создать пиринг Microsoft Exchange, используя командлеты PowerShell и модель развертывания Azure Resource Manager. Также в статье будет показано, как проверить состояние ресурса, обновить его или удалить и отозвать.
По желанию все инструкции из этого руководства можно также выполнить с помощью портала Azure.
Подготовка к работе
- Перед началом конфигурации изучите предварительные требования и пошаговое руководство по пирингу Exchange.
- Если у вас уже есть пиринги Microsoft Exchange, не преобразованные в ресурсы Azure, см. статью Преобразование устаревшего пиринга Exchange в ресурс Azure с помощью PowerShell.
Работа в Azure PowerShell
Для запуска командлетов можно использовать бесплатную интерактивную оболочку Azure Cloud Shell. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью. Выберите Копировать, чтобы скопировать код, и вставьте его в Cloud Shell. Затем выберите ВВОД для выполнения кода. Cloud Shell можно запустить несколькими способами:
Способ запуска | Снимок экрана |
---|---|
Откройте Cloud Shell в браузере. | |
Нажмите кнопку меню Cloud Shell на панели инструментов в правом верхнем углу окна портала Azure. | |
Если вы не хотите использовать 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 требуются права администратора.
Установите и импортируйте модуль Az.
Install-Module Az -AllowClobber Import-Module Az
Установите и импортируйте модуль Az.Peering.
Install-Module -Name Az.Peering -AllowClobber Import-Module Az.Peering
Проверьте правильность импорта модулей с помощью следующей команды:
Get-Module
Войдите в учетную запись Azure с помощью следующей команды:
Connect-AzAccount
Проверьте подписки для учетной записи и выберите подписку, в которой вы хотите создать пиринг.
Get-AzSubscription Select-AzSubscription -SubscriptionId "subscription-id"
Если у вас еще нет группы ресурсов, необходимо создать ее перед созданием пиринга. с помощью следующей команды:
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